From d7ed9f2c01abd0e80133c56aeaf81a716f4e63d1 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 27 Mar 2017 18:27:22 +0200 Subject: [PATCH 01/29] Completata gestione strobe OSAI (da testare!!!) --- MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 33 ++++++-------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index 2fcf110..acd08b2 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -400,15 +400,15 @@ namespace MTC_Adapter // check COD_M bitNum = 0; - gestStrobeCodMST(bitNum, ref currACK_DW, 0, MemBlock, "M"); + gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 0, MemBlock, "M"); // check COD_S bitNum = 1; - gestStrobeCodMST(bitNum, ref currACK_DW, 11, MemBlock, "S"); + gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 11, MemBlock, "S"); // check COD_T bitNum = 2; - gestStrobeCodMST(bitNum, ref currACK_DW, 17, MemBlock, "T"); + gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 17, MemBlock, "T"); } @@ -575,19 +575,19 @@ namespace MTC_Adapter /// /// Gestione STROBE --> ACK per codici M/S/T /// + /// byte di strobe corrente /// 0/1/2 /// vettore da restituire di ACK /// shift memoria x buffer dati da leggere /// Vettore completo dei valori + buffer code M/S/T /// Quale coda: M/S/T - private void gestStrobeCodMST(int bitNum, ref byte[] retACK_DW1, int memShift, byte[] MemBlock, string Coda) + private void gestStrobeCodMST(StFlag8 currStrobe, int bitNum, ref byte[] retACK_DW1, int memShift, byte[] MemBlock, string Coda) { int numEv = 0; int codEv = 0; -#if false - if (STRB_DW1.HasFlag((StFlag32)Math.Pow(2, bitNum))) + if (currStrobe.HasFlag((StFlag8)Math.Pow(2, bitNum))) { - // verifico sia > 0 il numero di valori da leggere indice 0 sull'area... + // verifico sia > 0 il numero di valori da leggere - indice 0 sull'area... numEv = BitConverter.ToUInt16(MemBlock, 2 * memShift); if (numEv > 0) { @@ -603,7 +603,6 @@ namespace MTC_Adapter // memorizzo allarme nel vettore ack.... retACK_DW1 = utils.setBitOnStFlag(retACK_DW1, true, bitNum); } -#endif } /// /// Ricarica dati da file di scambio con CMSConnect @@ -791,21 +790,6 @@ namespace MTC_Adapter inizio = DateTime.Now; OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex + i * 2, ref MemBlock); if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks); - -#if false - // da testare metodo copia alternativo !!!FARE!!! - if (true) - { - // aggiorno nel vettore allarmi i byte interessati - for (int j = 0; j < 4; j++) - { - // copy array o byte?!? !!!FARE!!! verifica - AlarmFlags[i * 4 + j] = MemBlock[j]; - } - } - else - { -#endif try { // aggiorno vettore allarmi x intero! @@ -815,9 +799,6 @@ namespace MTC_Adapter { lg.Error(string.Format("Errore in BLOCKCOPY per indice i = {2},{0}{1}", Environment.NewLine, exc, i)); } -#if false - } -#endif // segnalo allarme letto! memorizzo allarme nel vettore ack.... retACK_DW0 = utils.setBitOnStFlag(retACK_DW0, true, i); From b4e5214c70992d9366f120aa56b5516452ccb632 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 10:40:11 +0200 Subject: [PATCH 02/29] Creazione preliminare progetto adapter x DB SavEnergy --- MTC_Adapter/MTC-ADB/App.config | 6 + .../MTC-ADB/DATA/CONF/.placeholder.txt | 1 + MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat | Bin 0 -> 628 bytes .../MTC-ADB/ExtLib/DotNetAdapterSDK.dll | Bin 0 -> 26624 bytes MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 94 +++++++++ MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 183 ++++++++++++++++++ MTC_Adapter/MTC-ADB/MainForm.cs | 32 +++ MTC_Adapter/MTC-ADB/MainForm.resx | 120 ++++++++++++ MTC_Adapter/MTC-ADB/Program.cs | 25 +++ .../MTC-ADB/Properties/AssemblyInfo.cs | 36 ++++ .../MTC-ADB/Properties/Resources.Designer.cs | 71 +++++++ MTC_Adapter/MTC-ADB/Properties/Resources.resx | 117 +++++++++++ .../MTC-ADB/Properties/Settings.Designer.cs | 30 +++ .../MTC-ADB/Properties/Settings.settings | 7 + MTC_Adapter/MTC-ADB/logs/.placeholder.txt | 1 + MTC_Adapter/MTC_Adapter.sln | 18 +- MTC_Adapter/MTC_Adapter/MainForm.cs | 6 - MTC_Adapter/MTC_Adapter/Program.cs | 3 - 18 files changed, 739 insertions(+), 11 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/App.config create mode 100644 MTC_Adapter/MTC-ADB/DATA/CONF/.placeholder.txt create mode 100644 MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat create mode 100644 MTC_Adapter/MTC-ADB/ExtLib/DotNetAdapterSDK.dll create mode 100644 MTC_Adapter/MTC-ADB/MTC-ADB.csproj create mode 100644 MTC_Adapter/MTC-ADB/MainForm.Designer.cs create mode 100644 MTC_Adapter/MTC-ADB/MainForm.cs create mode 100644 MTC_Adapter/MTC-ADB/MainForm.resx create mode 100644 MTC_Adapter/MTC-ADB/Program.cs create mode 100644 MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs create mode 100644 MTC_Adapter/MTC-ADB/Properties/Resources.Designer.cs create mode 100644 MTC_Adapter/MTC-ADB/Properties/Resources.resx create mode 100644 MTC_Adapter/MTC-ADB/Properties/Settings.Designer.cs create mode 100644 MTC_Adapter/MTC-ADB/Properties/Settings.settings create mode 100644 MTC_Adapter/MTC-ADB/logs/.placeholder.txt diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/DATA/CONF/.placeholder.txt b/MTC_Adapter/MTC-ADB/DATA/CONF/.placeholder.txt new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/DATA/CONF/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat b/MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat new file mode 100644 index 0000000000000000000000000000000000000000..ea7fd6225384719fc161dea78ccf7e487bb4ab57 GIT binary patch literal 628 QcmZQz7zLvtK;IAm00MLX0RR91 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/MTC-ADB/ExtLib/DotNetAdapterSDK.dll b/MTC_Adapter/MTC-ADB/ExtLib/DotNetAdapterSDK.dll new file mode 100644 index 0000000000000000000000000000000000000000..6dd7bde7a5b77faf3bd4d4611f246e85a68cf7c7 GIT binary patch literal 26624 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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj new file mode 100644 index 0000000..782d3d7 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -0,0 +1,94 @@ + + + + + Debug + AnyCPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA} + WinExe + MTC_ADB + MTC-ADB + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + MainForm.cs + + + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + PreserveNewest + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + Always + + + Always + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs new file mode 100644 index 0000000..99749ed --- /dev/null +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -0,0 +1,183 @@ +namespace MTC_ADB +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.lblServer = new System.Windows.Forms.Label(); + this.lblStatus = new System.Windows.Forms.Label(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.lblServerTgt = new System.Windows.Forms.Label(); + this.btnStart = new System.Windows.Forms.Button(); + this.btnConn = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoEllipsis = true; + this.label1.Dock = System.Windows.Forms.DockStyle.Top; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(0, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(390, 24); + this.label1.TabIndex = 0; + this.label1.Text = "MTConnect Adapter SavEnergy"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.AutoSize = true; + this.groupBox1.Controls.Add(this.tableLayoutPanel1); + this.groupBox1.Location = new System.Drawing.Point(4, 37); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(380, 71); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "DataBase"; + // + // lblServer + // + this.lblServer.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblServer.Location = new System.Drawing.Point(3, 0); + this.lblServer.Name = "lblServer"; + this.lblServer.Size = new System.Drawing.Size(134, 26); + this.lblServer.TabIndex = 0; + this.lblServer.Text = "Server"; + this.lblServer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblStatus + // + this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblStatus.Location = new System.Drawing.Point(143, 0); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(149, 26); + this.lblStatus.TabIndex = 1; + this.lblStatus.Text = "Status"; + this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 3; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 78F)); + this.tableLayoutPanel1.Controls.Add(this.lblStatus, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.lblServer, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.lblServerTgt, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.btnStart, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.btnConn, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.label2, 1, 1); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 16); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 2; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(374, 52); + this.tableLayoutPanel1.TabIndex = 2; + // + // lblServerTgt + // + this.lblServerTgt.AutoSize = true; + this.lblServerTgt.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblServerTgt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblServerTgt.Location = new System.Drawing.Point(3, 26); + this.lblServerTgt.Name = "lblServerTgt"; + this.lblServerTgt.Size = new System.Drawing.Size(134, 26); + this.lblServerTgt.TabIndex = 2; + this.lblServerTgt.Text = "none"; + this.lblServerTgt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // btnStart + // + this.btnStart.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnStart.Location = new System.Drawing.Point(298, 3); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(73, 20); + this.btnStart.TabIndex = 3; + this.btnStart.Text = "start"; + this.btnStart.UseVisualStyleBackColor = true; + // + // btnConn + // + this.btnConn.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnConn.Location = new System.Drawing.Point(298, 29); + this.btnConn.Name = "btnConn"; + this.btnConn.Size = new System.Drawing.Size(73, 20); + this.btnConn.TabIndex = 4; + this.btnConn.Text = "connect"; + this.btnConn.UseVisualStyleBackColor = true; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Dock = System.Windows.Forms.DockStyle.Fill; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(143, 26); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(149, 26); + this.label2.TabIndex = 5; + this.label2.Text = "offline"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(390, 281); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.label1); + this.Name = "MainForm"; + this.Text = "MTC-ADB"; + this.groupBox1.ResumeLayout(false); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label lblStatus; + private System.Windows.Forms.Label lblServer; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label lblServerTgt; + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.Button btnConn; + private System.Windows.Forms.Label label2; + } +} \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs new file mode 100644 index 0000000..7e6223d --- /dev/null +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -0,0 +1,32 @@ +/* + * Copyright Copyright 2017, Steamware s.r.l. & CMS/SCM s.p.a. + * + * Based on data, code and example by MTC consortium & System Insights, Inc. + * + * */ +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 MTC_ADB +{ + public partial class MainForm : Form + { + public MainForm() + { + InitializeComponent(); + myInit(); + } + + private void myInit() + { + throw new NotImplementedException(); + } + } +} diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/MainForm.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/MTC_Adapter/MTC-ADB/Program.cs b/MTC_Adapter/MTC-ADB/Program.cs new file mode 100644 index 0000000..adad03b --- /dev/null +++ b/MTC_Adapter/MTC-ADB/Program.cs @@ -0,0 +1,25 @@ +using System; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace MTC_ADB +{ + static class Program + { + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool AllocConsole(); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool FreeConsole(); + /// + /// Punto di ingresso principale dell'applicazione. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs b/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5900b27 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Le informazioni generali relative a un assembly sono controllate dal seguente +// set di attributi. Modificare i valori di questi attributi per modificare le informazioni +// associate a un assembly. +[assembly: AssemblyTitle("MTC-ADB")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MTC-ADB")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili +// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da +// COM, impostare su true l'attributo ComVisible per tale tipo. +[assembly: ComVisible(false)] + +// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi +[assembly: Guid("df877e5e-8d04-4532-ba01-cefd8636d4da")] + +// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: +// +// Versione principale +// Versione secondaria +// Numero di build +// Revisione +// +// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build +// usando l'asterisco '*' come illustrato di seguito: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MTC_Adapter/MTC-ADB/Properties/Resources.Designer.cs b/MTC_Adapter/MTC-ADB/Properties/Resources.Designer.cs new file mode 100644 index 0000000..078ef0c --- /dev/null +++ b/MTC_Adapter/MTC-ADB/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Codice generato da uno strumento. +// Versione runtime:4.0.30319.42000 +// +// Le modifiche apportate a questo file possono causare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. +// +//------------------------------------------------------------------------------ + +namespace MTC_ADB.Properties +{ + + + /// + /// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + /// + // Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder + // tramite uno strumento quale ResGen o Visual Studio. + // Per aggiungere o rimuovere un membro, modificare il file .ResX, quindi eseguire di nuovo ResGen + // con l'opzione /str oppure ricompilare il progetto 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() + { + } + + /// + /// Restituisce l'istanza di ResourceManager memorizzata nella cache e usata da questa classe. + /// + [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("MTC_ADB.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + /// le ricerche di risorse che utilizzano questa classe di risorse fortemente tipizzata. + /// + [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/MTC_Adapter/MTC-ADB/Properties/Resources.resx b/MTC_Adapter/MTC-ADB/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/MTC_Adapter/MTC-ADB/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/MTC_Adapter/MTC-ADB/Properties/Settings.Designer.cs b/MTC_Adapter/MTC-ADB/Properties/Settings.Designer.cs new file mode 100644 index 0000000..96321a6 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// 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 MTC_ADB.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/MTC_Adapter/MTC-ADB/Properties/Settings.settings b/MTC_Adapter/MTC-ADB/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/MTC_Adapter/MTC-ADB/logs/.placeholder.txt b/MTC_Adapter/MTC-ADB/logs/.placeholder.txt new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/logs/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter.sln b/MTC_Adapter/MTC_Adapter.sln index f8f1f2e..a3b0893 100644 --- a/MTC_Adapter/MTC_Adapter.sln +++ b/MTC_Adapter/MTC_Adapter.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.9 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetAdapterSDK", "..\..\..\GitHub\MTConnect\dot_net_sdk\DotNetAdapterSDK.csproj", "{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}" EndProject @@ -21,6 +21,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCMCncLib", "SCMCncLib\SCMCncLib.csproj", "{7A12FE26-9C58-4630-973D-D4872374DBAF}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-ADB", "MTC-ADB\MTC-ADB.csproj", "{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CMS-FANUC|Any CPU = CMS-FANUC|Any CPU @@ -90,6 +92,18 @@ Global {7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.Build.0 = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.Build.0 = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MTC_Adapter/MTC_Adapter/MainForm.cs b/MTC_Adapter/MTC_Adapter/MainForm.cs index 56063f1..03c038f 100644 --- a/MTC_Adapter/MTC_Adapter/MainForm.cs +++ b/MTC_Adapter/MTC_Adapter/MainForm.cs @@ -6,19 +6,13 @@ * */ 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.Threading; using System.Windows.Forms; using NLog; namespace MTC_Adapter { - using MTConnect; using NLog.Config; using NLog.Targets; using System.Collections; diff --git a/MTC_Adapter/MTC_Adapter/Program.cs b/MTC_Adapter/MTC_Adapter/Program.cs index fa9bfac..976d38c 100644 --- a/MTC_Adapter/MTC_Adapter/Program.cs +++ b/MTC_Adapter/MTC_Adapter/Program.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.InteropServices; -using System.Threading.Tasks; using System.Windows.Forms; namespace MTC_Adapter From a672bc2118e944aa0f67ed2bbe41b57fde617380 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 11:36:26 +0200 Subject: [PATCH 03/29] Aggiunto progetto MTC x classi utils condivise --- MTC_Adapter/MTC/MTC.csproj | 60 + MTC_Adapter/MTC/NLog.config | 41 + MTC_Adapter/MTC/NLog.xsd | 2960 ++++++++++++++++++++ MTC_Adapter/MTC/Properties/AssemblyInfo.cs | 36 + MTC_Adapter/MTC/baseUtils.cs | 826 ++++++ MTC_Adapter/MTC/packages.config | 6 + 6 files changed, 3929 insertions(+) create mode 100644 MTC_Adapter/MTC/MTC.csproj create mode 100644 MTC_Adapter/MTC/NLog.config create mode 100644 MTC_Adapter/MTC/NLog.xsd create mode 100644 MTC_Adapter/MTC/Properties/AssemblyInfo.cs create mode 100644 MTC_Adapter/MTC/baseUtils.cs create mode 100644 MTC_Adapter/MTC/packages.config diff --git a/MTC_Adapter/MTC/MTC.csproj b/MTC_Adapter/MTC/MTC.csproj new file mode 100644 index 0000000..9d983ee --- /dev/null +++ b/MTC_Adapter/MTC/MTC.csproj @@ -0,0 +1,60 @@ + + + + + Debug + AnyCPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC} + Library + Properties + MTC + MTC + v4.5.2 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\NLog.4.4.4\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + Always + + + Designer + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC/NLog.config b/MTC_Adapter/MTC/NLog.config new file mode 100644 index 0000000..7a0f3aa --- /dev/null +++ b/MTC_Adapter/MTC/NLog.config @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/MTC_Adapter/MTC/NLog.xsd b/MTC_Adapter/MTC/NLog.xsd new file mode 100644 index 0000000..aefcab0 --- /dev/null +++ b/MTC_Adapter/MTC/NLog.xsd @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + Watch config file for changes and reload automatically. + + + + + Print internal NLog messages to the console. Default value is: false + + + + + Print internal NLog messages to the console error output. Default value is: false + + + + + Write internal NLog messages to the specified file. + + + + + Log level threshold for internal log messages. Default value is: Info. + + + + + Global log level threshold for application log messages. Messages below this level won't be logged.. + + + + + Throw an exception when there is an internal error. Default value is: false. + + + + + Throw an exception when there is a configuration error. If not set, determined by throwExceptions. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false. + + + + + Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false. + + + + + Write timestamps for internal NLog messages. Default value is: true. + + + + + Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false. + + + + + + + + + + + + + + Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). + + + + + + + + + + + + + + + + + Prefix for targets/layout renderers/filters/conditions loaded from this assembly. + + + + + Load NLog extensions from the specified file (*.dll) + + + + + Load NLog extensions from the specified assembly. Assembly name should be fully qualified. + + + + + + + + + + Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name* + + + + + Comma separated list of levels that this rule matches. + + + + + Minimum level that this rule matches. + + + + + Maximum level that this rule matches. + + + + + Level that this rule matches. + + + + + Comma separated list of target names. + + + + + Ignore further rules if this one matches. + + + + + Enable or disable logging rule. Disabled rules are ignored. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file. + + + + + Ignore any errors in the include file. + + + + + + + Variable name. + + + + + Variable value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events that should be processed in a batch by the lazy writer thread. + + + + + Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch + + + + + Action to be taken when the lazy writer thread request queue count exceeds the set limit. + + + + + Limit on the number of requests in the lazy writer thread request queue. + + + + + Time in milliseconds to sleep between batches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will cause a flush on the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events to be buffered. + + + + + Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + Indicates whether to use sliding timeout. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Viewer parameter name. + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to use default row highlighting rules. + + + + + Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Condition that must be met in order to set the specified foreground and background color. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + Indicates whether to ignore case when comparing texts. + + + + + Regular expression to be matched. You must specify either text or regex. + + + + + Text to be matched. You must specify either text or regex. + + + + + Indicates whether to match whole words only. + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send the log messages to the standard error instead of the standard output. + + + + + Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this. + + + + + Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. + + + + + Name of the database provider. + + + + + Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. + + + + + Indicates whether to keep the database connection open between the log events. + + + + + Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. + + + + + Name of the connection string (as specified in <connectionStrings> configuration section. + + + + + Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. + + + + + Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Text of the SQL command to be run on each log level. + + + + + Type of the SQL command to be run on each log level. + + + + + + + + + + + + + + + + + + + + + + + Type of the command. + + + + + Connection string to run the command against. If not provided, connection string from the target is used. + + + + + Indicates whether to ignore failures. + + + + + Command text. + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Database parameter name. + + + + + Database parameter precision. + + + + + Database parameter scale. + + + + + Database parameter size. + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Layout that renders event Category. + + + + + Layout that renders event ID. + + + + + Name of the Event Log to write to. This can be System, Application or any user-defined name. + + + + + Name of the machine on which Event Log service is running. + + + + + Value to be used as the event Source. + + + + + Action to take if the message is larger than the option. + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Message length limit to write to the Event Log. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether to return to the first target after any successful write. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + File encoding. + + + + + Line ending mode. + + + + + Way file archives are numbered. + + + + + Name of the file to be used for an archive. + + + + + Indicates whether to automatically archive log files every time the specified time passes. + + + + + Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: + + + + + Indicates whether to compress archive files into the zip archive format. + + + + + Maximum number of archive files that should be kept. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Is the an absolute or relative path? + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong. + + + + + Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write + + + + + Is the an absolute or relative path? + + + + + Value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Indicates whether the footer should be written only when the file is archived. + + + + + Name of the file to write to. + + + + + Value specifying the date format to use when archiving files. + + + + + Indicates whether to archive old log file on startup. + + + + + Indicates whether to create directories if they do not exist. + + + + + Indicates whether to enable log file(s) to be deleted. + + + + + File attributes (Windows only). + + + + + Indicates whether to delete old log file on startup. + + + + + Indicates whether to replace file contents on each write instead of appending log message at the end. + + + + + Indicates whether concurrent writes to the log file by multiple processes on the same host. + + + + + Indicates whether to keep log file open instead of opening and closing it on each logging event. + + + + + Maximum number of log filenames that should be stored as existing. + + + + + Indicates whether concurrent writes to the log file by multiple processes on different network hosts. + + + + + Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger). + + + + + Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Log file buffer size in bytes. + + + + + Indicates whether to automatically flush the file buffers after each log message. + + + + + Delay in milliseconds to wait before attempting to write to the file again. + + + + + Number of times the write is appended on the file before NLog discards the log message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will be forwarded to the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Windows domain name to change context to. + + + + + Required impersonation level. + + + + + Type of the logon provider. + + + + + Logon Type. + + + + + User account password. + + + + + Indicates whether to revert to the credentials of the process instead of impersonating another user. + + + + + Username to change context to. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Interval in which messages will be written up to the number of messages. + + + + + Maximum allowed number of messages written per . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Endpoint address. + + + + + Name of the endpoint configuration in WCF configuration file. + + + + + Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + Client ID. + + + + + Indicates whether to include per-event properties in the payload sent to the server. + + + + + Indicates whether to use binary message encoding. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + Layout that should be use to calculate the value for the parameter. + + + + + Name of the parameter. + + + + + Type of the parameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send message as HTML instead of plain text. + + + + + Encoding to be used for sending e-mail. + + + + + Indicates whether to add new lines between log entries. + + + + + CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Mail message body (repeated for each log message send in one mail). + + + + + Mail subject. + + + + + Sender's email address (e.g. joe@domain.com). + + + + + Indicates the SMTP client timeout. + + + + + Priority used for sending mails. + + + + + Indicates whether NewLine characters in the body should be replaced with tags. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + SMTP Server to be used for sending. + + + + + SMTP Authentication mode. + + + + + Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + + + + Port number that SMTP Server is listening on. + + + + + Indicates whether the default Settings from System.Net.MailSettings should be used. + + + + + Folder where applications save mail messages to be processed by the local SMTP server. + + + + + Specifies how outgoing email messages will be handled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used when writing text to the queue. + + + + + Indicates whether to use the XML format when serializing message. This will also disable creating queues. + + + + + Indicates whether to check if a queue exists before writing to it. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Indicates whether to create the queue if it doesn't exists. + + + + + Label to associate with each message. + + + + + Name of the queue to write to. + + + + + Indicates whether to use recoverable messages (with guaranteed delivery). + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Class name. + + + + + Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Network address. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Indicates whether to keep connection open whenever possible. + + + + + Maximum current connections. 0 = no maximum. + + + + + Maximum queue size. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Indicates whether to perform layout calculation. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether performance counter should be automatically created. + + + + + Name of the performance counter category. + + + + + Counter help text. + + + + + Name of the performance counter. + + + + + Performance counter type. + + + + + The value by which to increment the counter. + + + + + Performance counter instance name. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Default filter to be applied when no specific rule matches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + Condition to be tested. + + + + + Resulting filter to be applied when the condition matches. + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of times to repeat each log message. + + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of retries that should be attempted on the wrapped target in case of a failure. + + + + + Time to wait between retries in milliseconds. + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Encoding. + + + + + Value whether escaping be done according to the old NLog style (Very non-standard) + + + + + Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + + + + Web service method name. Only used with Soap. + + + + + Web service namespace. Only used with Soap. + + + + + Protocol to be used when calling web service. + + + + + Web service URL. + + + + + Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ). + + + + + (optional) root namespace of the XML document, if POST of XML document chosen. (see and ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + Column delimiter. + + + + + Quote Character. + + + + + Quoting mode. + + + + + Indicates whether CVS should include header. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout of the column. + + + + + Name of the column. + + + + + + + + + + + + + + + + List of property names to exclude when is true + + + + + Option to include all properties from the log events + + + + + Option to render the empty object value {} + + + + + Option to suppress the extra spaces in the output json + + + + + + + + + + + + + + Determines wether or not this attribute will be Json encoded. + + + + + Layout that will be rendered as the attribute's value. + + + + + Name of the attribute. + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + + + + + + + + + + + + + + + + + Layout text. + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Condition expression. + + + + + + + + + + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC/Properties/AssemblyInfo.cs b/MTC_Adapter/MTC/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..fbf9f86 --- /dev/null +++ b/MTC_Adapter/MTC/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Le informazioni generali relative a un assembly sono controllate dal seguente +// set di attributi. Modificare i valori di questi attributi per modificare le informazioni +// associate a un assembly. +[assembly: AssemblyTitle("MTC")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MTC")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili +// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da +// COM, impostare su true l'attributo ComVisible per tale tipo. +[assembly: ComVisible(false)] + +// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi +[assembly: Guid("ec83d80e-9f3b-4de9-b16a-ca216543b7ec")] + +// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: +// +// Versione principale +// Versione secondaria +// Numero di build +// Revisione +// +// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build +// usando l'asterisco '*' come illustrato di seguito: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MTC_Adapter/MTC/baseUtils.cs b/MTC_Adapter/MTC/baseUtils.cs new file mode 100644 index 0000000..66e829a --- /dev/null +++ b/MTC_Adapter/MTC/baseUtils.cs @@ -0,0 +1,826 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.IO; +using System.Linq; +using NLog; + +namespace MTC +{ + public class baseUtils + { + /// + /// classe logger + /// + public static Logger lg; + + /// + /// legge conf in formato char + /// + /// + /// + public static char CRC(string key) + { + char answ = '-'; + try + { + answ = ConfigurationManager.AppSettings[key].ToCharArray()[0]; + } + catch + { } + return answ; + } + /// + /// legge conf in formato stringa + /// + /// + /// + public static string CRS(string key) + { + string answ = ""; + try + { + answ = ConfigurationManager.AppSettings[key].ToString(); + } + catch + { } + return answ; + } + /// + /// legge conf in formato INT + /// + /// + /// + public static Int32 CRI(string key) + { + int answ = 0; + try + { + answ = Convert.ToInt32(CRS(key)); + } + catch + { } + return answ; + } + /// + /// legge conf in formato BOOLean + /// + /// + /// + public static bool CRB(string key) + { + bool answ = false; + try + { + answ = Convert.ToBoolean(CRS(key)); + } + catch + { } + return answ; + } + /// + /// verifica se un dato bit sia alzato (come flag di strobe) + /// + /// valore da testare + /// valore cercato, può essere un singolo valore o un insieme in modalità AND + /// + public static bool IsSetAll(Strobe value, Strobe flag) + { + return ((value & flag) == flag); + } + /// + /// verifica se un dato bit sia alzato (come flag di strobe) + /// + /// valore da testare + /// valore cercato, può essere un singolo valore o un insieme in modalità OR + /// + public static bool IsSetAny(Strobe value, Strobe flag) + { + return ((value & flag) != 0); + } + /// + /// verifica se un dato bit sia alzato (come flag di strobe) + /// + /// valore da testare + /// valore cercato, può essere un singolo valore o un insieme in modalità AND + /// + public static bool IsSetAll(StatusBitMap value, StatusBitMap flag) + { + return ((value & flag) == flag); + } + /// + /// verifica se un dato bit sia alzato (come flag di strobe) + /// + /// valore da testare + /// valore cercato, può essere un singolo valore o un insieme in modalità OR + /// + public static bool IsSetAny(StatusBitMap value, StatusBitMap flag) + { + return ((value & flag) != 0); + } +#if false + /// + /// formatta un numero in forma binaria 0/1 + /// + /// + /// + public static string binaryForm(int valore) + { + string answ = ""; + try + { + answ = string.Format(new BinaryFormatter(), "{0:B}", valore); + } + catch + { } + return answ; + } +#endif + /// + /// imposta un bit al valore richiesto duplicando il valore IN come OUT + /// + /// valore originale da aggiornare + /// valore richiesto x il bit (0/1) + /// indice bit, 0 based (es: 0..31 per 32bit) + /// + public static byte[] setBitOnStFlag(byte[] original, bool bitBool, int bitIndex) + { + int bitVal = 0; + if (bitBool) bitVal = 1; + // risposta è identica ad originale... + byte[] answ = original; + // verifico se il bit è 0/1b + if (bitVal <= 1 && bitVal >= 0) + { + // verifico se si possa aggiornare il bit richiesto (<= al totale dei bit...) + if (bitIndex <= original.Length * 8 - 1) + { + // calcolo byte + int byteIndex = bitIndex / 8; + // bit nel byte + int bitInByteIndex = bitIndex % 8; + // bit richiesto + byte mask = (byte)(bitVal << bitInByteIndex); + // imposto! + answ[byteIndex] |= mask; + } + } + return answ; + } + /// + /// Converte un bitarray a byte[] + /// + /// + /// + public static byte[] ToByteArray(BitArray bits) + { + int numBytes = bits.Count / 8; + if (bits.Count % 8 != 0) numBytes++; + + byte[] bytes = new byte[numBytes]; + int byteIndex = 0, bitIndex = 0; + + for (int i = 0; i < bits.Count; i++) + { + if (bits[i]) + bytes[byteIndex] |= (byte)(1 << (7 - bitIndex)); + + bitIndex++; + if (bitIndex == 8) + { + bitIndex = 0; + byteIndex++; + } + } + + return bytes; + } + + /// + /// Scrittura dictionary su file + /// + /// + /// + public static void WriteBin(Dictionary dictionary, string file) + { + using (FileStream fs = File.OpenWrite(file)) + using (BinaryWriter writer = new BinaryWriter(fs)) + { + // Put count. + writer.Write(dictionary.Count); + // Write pairs. + foreach (var pair in dictionary) + { + writer.Write(pair.Key); + writer.Write(pair.Value); + } + } + } + /// + /// Lettura dictionary da file + /// + /// + /// + public static Dictionary ReadBin(string file) + { + var result = new Dictionary(); + // verifico file esista... + if (!File.Exists(file)) + { + FileStream fs = File.Create(file); + fs.Close(); + } + using (FileStream fs = File.OpenRead(file)) + using (BinaryReader reader = new BinaryReader(fs)) + { + // Get count. + int count = 0; + try + { + count = reader.ReadInt32(); + } + catch + { } + // Read in all pairs. + for (int i = 0; i < count; i++) + { + string key = reader.ReadString(); + string value = reader.ReadString(); + result[key] = value; + } + } + return result; + } + + /// + /// Scrittura dictionary su file + /// + /// + /// + public static void WritePlain(Dictionary dictionary, string file) + { + string dirPath = file.Substring(0, file.LastIndexOf('\\')); + // verifico directory + if (!Directory.Exists(dirPath)) + { + Directory.CreateDirectory(dirPath); + } + string[] lines = dictionary.OrderBy(i => i.Key).Select(kvp => kvp.Key + ":" + kvp.Value).ToArray(); + try + { + File.WriteAllLines(file, lines); + } + catch (Exception exc) + { + lg.Info(exc, string.Format("Errore in scrittura file {0}", file)); + } + } + /// + /// Lettura dictionary da file + /// + /// + /// + public static Dictionary ReadPlain(string file) + { + // inizializzo num righe lette... + int numRow = 0; + var result = new Dictionary(); + // verifico file esista... + if (!File.Exists(file)) + { + FileStream fs = File.Create(file); + fs.Close(); + } + try + { + string[] lines = File.ReadAllLines(file); + result = lines.Select(l => l.Split(':')).ToDictionary(a => a[0], a => a[1]); + numRow = result.Count; + } + catch + { } + // se leggesse un valore NON coerente (senza righe) restituisce un file vuoto... + if (numRow == 0) + { + result = new Dictionary(); + } + return result; + } + +#if false + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string resxDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("resxPath")); + } + } + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string confDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataConfPath")); + } + } + /// + /// folder archiviazione dati storici giornalieri (DATA\DAT) + /// + public static string dataDatDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataDatPath")); + } + } + /// + /// folder archiviazione dati (DATA) + /// + public static string dataDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataPath")); + } + } +#endif + } + /// + /// Oggetto timing x archiviazione dati perfomances + /// + public class TimeRec + { + /// + /// Codice univoco chiamata: tipo R4 (read 4 byte), W2 (write 2 Byte) + /// + public string codCall; + /// + /// Num chiamate totale + /// + public int numCall; + /// + /// Tempo medio chiamata + /// + public double avgMsec + { + get + { + return totMsec.TotalMilliseconds / numCall; + } + } + /// + /// Totale Msec accumulati + /// + public TimeSpan totMsec; + /// + /// Classe record timing + /// + public TimeRec() + { + codCall = ""; + numCall = 0; + totMsec = new TimeSpan(0); + } + /// + /// Classe record timing + /// + /// + /// + public TimeRec(string codice, long nTicks) + { + codCall = codice; + numCall = 1; + totMsec = new TimeSpan(nTicks); + } + } + public static class TimingData + { + public static List results = new List(); + + /// + /// aggiorno vettore aggiungendo risultato + /// + /// + /// + public static void addResult(string codice, long ticks) + { + if (results.Count == 0) + { + results.Add(new TimeRec(codice, ticks)); + } + int indice = -1; + for (int i = 0; i < results.Count; i++) + { + // se il codice è quello cercato... + if (results[i].codCall == codice) indice = i; + } + // se c'è aggiorno... + if (indice >= 0) + { + results[indice].numCall++; + results[indice].totMsec = results[indice].totMsec.Add(new TimeSpan(ticks)); + } + // altrimenti aggiungo... + else + { + results.Add(new TimeRec(codice, ticks)); + } + } + + + } + + + public enum tipoAdapter + { + /// + /// Adapter generico/demo + /// + DEMO, + /// + /// adapter FANUC (CMS) + /// + FANUC, + /// + /// Adapter ESAGV (SCM) + /// + ESAGV, + /// + /// Adapter non specificato + /// + ND, + /// + /// Adapter OSAI + /// + OSAI, + /// + /// Adapter SIEMENS (CMS) + /// + SIEMENS + } + + public enum gatherCycle + { + /// + /// lettura dati ad alta frequenza + /// + HF, + /// + /// lettura dati standard + /// + MF, + /// + /// lettura dati bassa freq + /// + LF, + /// + /// lettura dati bassissima priorità (re-sync stato allarmi) + /// + VLF + } + + /// + /// informazioni di produzione + /// + public struct prodData + { + public string Operator; + + public bool Status; + public int AccTime; + public int Power; + public string FuncMode; + public bool EmrStop; + public string MessageCode; + public string MessageText; + + } + + public struct PathData + { + public int PathSel; + public string PathType; // LAVOR/ASSERV + public string RunMode; + public string ExeMode; + public int pzTot; + public string ProgramName; + public string ProgrRow; + public string PartId; + public string ActiveAxes; + public string CodG_Act; + public string SubMode; + + public int PathFeedrate; + public int PathFeedrateOver; + public int PathRapidOver; + public position PathPosAct; + } + + + public struct UnOpData + { + public int UnOpSel; + public int UnOpToolId; + public int UnOpNumCU; + public string UnOpStatus; + public int UnOpVitaRes; + public int UnOpSpeed; + public int UnOpLoad; + public int UnOpAccTime; + } + + public struct AxisData + { + public int AxisSel; + public string AxisMainProc; + public bool AxisIsMaster; + public string AxisMastId; + public string AxisType; + public string AxisDir; + public int AxisLoad; + public int AxisPosAct; + public int AxisPosTgt; + public int AxisFeedAct; + public int AxisFeedOver; + public string AxisAccel; + public string AxisAccTime; + public string AxisBattery; + public string DistDone; + public string InvDDone; + } + + /// + /// Vettore completo posizione (X-Y-Z con versori i-j-k) + /// + public class position + { + public float x; + public float y; + public float z; + public float i; + public float j; + public float k; + public position() + { + x = 0; + y = 0; + z = 0; + i = 0; + j = 0; + k = 0; + } + } + + /// + /// Dati Prod SCM (per decodifica) + /// + public class datiProdSCM + { + public string area; + public string fileName; + public string dimensioni; + public DateTime start; + public DateTime stop; + public TimeSpan tEff; + public TimeSpan tTot; + public int qta; + public TimeSpan tMed; + public datiProdSCM() + { + area = ""; + fileName = ""; + dimensioni = ""; + start = DateTime.Now; + stop = DateTime.Now; + tEff = new TimeSpan(0); + tTot = new TimeSpan(0); + qta = 0; + tMed = new TimeSpan(0); + } + /// + /// crea un nuovo oggetto a partire da un array di stringhe + /// + /// + public datiProdSCM(string[] valori) + { + try + { + area = valori[0]; + fileName = valori[1]; + dimensioni = string.Format("{0}x{1}x{2}", valori[3], valori[4], valori[5]); + start = DateTime.Today.AddHours(Convert.ToInt16(valori[6])).AddMinutes(Convert.ToInt16(valori[7])).AddSeconds(Convert.ToInt16(valori[8])); + + stop = DateTime.Today.AddHours(Convert.ToInt16(valori[9])).AddMinutes(Convert.ToInt16(valori[10])).AddSeconds(Convert.ToInt16(valori[11])); + // se ore == 0 --> aggiungo 1 gg!!! + if (Convert.ToInt16(valori[9]) == 0) stop.AddDays(1); + + tEff = new TimeSpan(Convert.ToInt16(valori[12]), Convert.ToInt16(valori[13]), Convert.ToInt16(valori[14])); + + tTot = new TimeSpan(Convert.ToInt16(valori[15]), Convert.ToInt16(valori[16]), Convert.ToInt16(valori[17])); + + qta = Convert.ToInt16(valori[18]); + + tMed = new TimeSpan(Convert.ToInt16(valori[19]), Convert.ToInt16(valori[20]), Convert.ToInt16(valori[22]), Convert.ToInt16(valori[23])); + } + catch + { } + } + } + /// + /// Allarme (per decodifica) + /// + public class allarme + { + public string codNum; + public string gruppo; + public string livello; + public string descrizione; + public allarme() + { + codNum = ""; + gruppo = ""; + livello = ""; + descrizione = ""; + } + public allarme(string _codNum, string _gruppo, string _livello, string _descrizione) + { + codNum = _codNum; + gruppo = _gruppo; + livello = _livello; + descrizione = _descrizione; + } + } + + + /// + /// Dato generico (per decodifica) + /// + public class otherData + { + public string codNum; + public string memAddr; + public string varName; + public string dataType; + public otherData() + { + codNum = ""; + memAddr = ""; + varName = ""; + dataType = ""; + } + public otherData(string _codNum, string _memAddr, string _varName, string _dataType) + { + codNum = _codNum; + memAddr = _memAddr; + varName = _varName; + dataType = _dataType; + } + } + + + /// + /// Strobe: contiene il set di strobe di comunicazione + /// + /// rif: http://stackoverflow.com/questions/17209054/parse-bits-in-a-byte-to-enum + /// + [Flags] + public enum Strobe : int + { + NONE = 0, + M_CODE = 1 << 0, + S_CODE = 1 << 1, + T_CODE = 1 << 2, + PZ_OK = 1 << 3, + PZ_KO = 1 << 4, + FEED_SPEED = 1 << 5, + POS_ACT = 1 << 6, + SP07 = 1 << 7, + SP08 = 1 << 8, + SP09 = 1 << 9, + SP10 = 1 << 10, + SP11 = 1 << 11, + SP12 = 1 << 12, + SP13 = 1 << 13, + SP14 = 1 << 14, + SP15 = 1 << 15, + SP16 = 1 << 16, + SP17 = 1 << 17, + SP18 = 1 << 18, + SP19 = 1 << 19, + SP20 = 1 << 20, + SP21 = 1 << 21, + SP22 = 1 << 22, + SP23 = 1 << 23, + SP24 = 1 << 24, + SP25 = 1 << 25, + SP26 = 1 << 26, + SP27 = 1 << 27, + SP28 = 1 << 28, + SP29 = 1 << 29, + SP30 = 1 << 30, + SP31 = 1 << 31 + } + /// + /// StFlag8: set di 8 bit (1 word) contente semaforo di variabili + /// + [Flags] + public enum StFlag8 : int + { + NONE = 0, + B0 = 1 << 0, + B1 = 1 << 1, + B2 = 1 << 2, + B3 = 1 << 3, + B4 = 1 << 4, + B5 = 1 << 5, + B6 = 1 << 6, + B7 = 1 << 7 + } + /// + /// StFlag32: set di 32 bit (4 word) contente semaforo di variabili + /// + [Flags] + public enum StFlag32 : int + { + NONE = 0, + B00 = 1 << 0, + B01 = 1 << 1, + B02 = 1 << 2, + B03 = 1 << 3, + B04 = 1 << 4, + B05 = 1 << 5, + B06 = 1 << 6, + B07 = 1 << 7, + B08 = 1 << 8, + B09 = 1 << 9, + B10 = 1 << 10, + B11 = 1 << 11, + B12 = 1 << 12, + B13 = 1 << 13, + B14 = 1 << 14, + B15 = 1 << 15, + B16 = 1 << 16, + B17 = 1 << 17, + B18 = 1 << 18, + B19 = 1 << 19, + B20 = 1 << 20, + B21 = 1 << 21, + B22 = 1 << 22, + B23 = 1 << 23, + B24 = 1 << 24, + B25 = 1 << 25, + B26 = 1 << 26, + B27 = 1 << 27, + B28 = 1 << 28, + B29 = 1 << 29, + B30 = 1 << 30, + B31 = 1 << 31 + } + /// + /// StatusBitMap: contiene il set di semafori/flag x status + allarmi (x classi) + /// + [Flags] + public enum StatusBitMap : int + { + NONE = 0, + ESTOP = 1 << 0, + RM_AUTO = 1 << 1, + RM_MANUAL = 1 << 2, + RM_MDI = 1 << 3, + RM_EDIT = 1 << 4, + EM_RUN = 1 << 5, + EM_READY = 1 << 6, + EM_STOP = 1 << 7, + EM_FEEDHOLD = 1 << 8, + HM = 1 << 9, + ST11 = 1 << 10, + ST12 = 1 << 11, + ST13 = 1 << 12, + ST14 = 1 << 13, + ST15 = 1 << 14, + ST16 = 1 << 15, + AL01 = 1 << 16, + AL02 = 1 << 17, + AL03 = 1 << 18, + AL04 = 1 << 19, + AL05 = 1 << 20, + AL06 = 1 << 21, + AL07 = 1 << 22, + AL08 = 1 << 23, + AL09 = 1 << 24, + AL10 = 1 << 25, + AL11 = 1 << 26, + AL12 = 1 << 27, + AL13 = 1 << 28, + AL14 = 1 << 29, + AL15 = 1 << 30, + AL16 = 1 << 31 + } +} \ No newline at end of file diff --git a/MTC_Adapter/MTC/packages.config b/MTC_Adapter/MTC/packages.config new file mode 100644 index 0000000..f5a50e5 --- /dev/null +++ b/MTC_Adapter/MTC/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From ef27d7afbad9ce3e3c3968ed64748c3bd2872b0a Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 11:36:50 +0200 Subject: [PATCH 04/29] Integrazione MTC in MTC Adapter con classe utils derivata --- MTC_Adapter/MTC_Adapter.sln | 14 ++++ MTC_Adapter/MTC_Adapter/AdapterConf.cs | 3 +- MTC_Adapter/MTC_Adapter/AdapterDemo.cs | 3 +- MTC_Adapter/MTC_Adapter/AdapterESA.cs | 3 +- MTC_Adapter/MTC_Adapter/AdapterFanuc.cs | 1 + MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 3 +- MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 2 +- MTC_Adapter/MTC_Adapter/AdapterSiemens.cs | 4 +- MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj | 4 + MTC_Adapter/MTC_Adapter/MainForm.cs | 1 + MTC_Adapter/MTC_Adapter/SetupAdapter.cs | 3 +- MTC_Adapter/MTC_Adapter/utils.cs | 86 +++------------------- 12 files changed, 41 insertions(+), 86 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter.sln b/MTC_Adapter/MTC_Adapter.sln index a3b0893..7611053 100644 --- a/MTC_Adapter/MTC_Adapter.sln +++ b/MTC_Adapter/MTC_Adapter.sln @@ -23,6 +23,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCMCncLib", "SCMCncLib\SCMC EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-ADB", "MTC-ADB\MTC-ADB.csproj", "{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC", "MTC\MTC.csproj", "{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CMS-FANUC|Any CPU = CMS-FANUC|Any CPU @@ -104,6 +106,18 @@ Global {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.Build.0 = Release|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.Build.0 = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MTC_Adapter/MTC_Adapter/AdapterConf.cs b/MTC_Adapter/MTC_Adapter/AdapterConf.cs index e490ecf..c07b91d 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterConf.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterConf.cs @@ -1,4 +1,5 @@ -using System; +using MTC; +using System; using System.Collections.Generic; using System.IO; using System.Xml; diff --git a/MTC_Adapter/MTC_Adapter/AdapterDemo.cs b/MTC_Adapter/MTC_Adapter/AdapterDemo.cs index fb512c8..b7d3349 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterDemo.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterDemo.cs @@ -1,4 +1,5 @@ -using MTConnect; +using MTC; +using MTConnect; using System; namespace MTC_Adapter diff --git a/MTC_Adapter/MTC_Adapter/AdapterESA.cs b/MTC_Adapter/MTC_Adapter/AdapterESA.cs index 3ccddd1..149467e 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterESA.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterESA.cs @@ -2,10 +2,9 @@ using System.Linq; using System.Text; using SCMCncLib; -using System.Windows.Forms; using System.Threading; using System.IO; -using System.Collections.Generic; +using MTC; namespace MTC_Adapter { diff --git a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs index ffe7abb..76c7ea6 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using CMSCncLib.CNC; using System.IO; +using MTC; namespace MTC_Adapter { diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index c34dda4..a5758af 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -7,6 +7,7 @@ using NLog; namespace MTC_Adapter { + using MTC; using MTConnect; using System.Configuration; using System.Diagnostics; @@ -1223,7 +1224,7 @@ namespace MTC_Adapter datiProdSCM answ = null; if (valori.Length == 23) { - answ = new MTC_Adapter.datiProdSCM(valori); + answ = new datiProdSCM(valori); } return answ; } diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index acd08b2..ed1f06e 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using CMSCncLib.CNC; using System.IO; +using MTC; namespace MTC_Adapter { diff --git a/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs b/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs index ede9a0a..82c3bcb 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs @@ -2,11 +2,9 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; using CMSCncLib.CNC; -using System.Runtime.InteropServices; -using System.Windows.Forms; using System.IO; +using MTC; namespace MTC_Adapter { diff --git a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj index a759628..c5ab215 100644 --- a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj +++ b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj @@ -302,6 +302,10 @@ {2d769ffd-1122-4276-a115-29246e6d23c5} CMSCncLib + + {ec83d80e-9f3b-4de9-b16a-ca216543b7ec} + MTC + {7a12fe26-9c58-4630-973d-d4872374dbaf} SCMCncLib diff --git a/MTC_Adapter/MTC_Adapter/MainForm.cs b/MTC_Adapter/MTC_Adapter/MainForm.cs index 03c038f..c70c0c8 100644 --- a/MTC_Adapter/MTC_Adapter/MainForm.cs +++ b/MTC_Adapter/MTC_Adapter/MainForm.cs @@ -13,6 +13,7 @@ using NLog; namespace MTC_Adapter { + using MTC; using NLog.Config; using NLog.Targets; using System.Collections; diff --git a/MTC_Adapter/MTC_Adapter/SetupAdapter.cs b/MTC_Adapter/MTC_Adapter/SetupAdapter.cs index 6b8f87d..ff811c2 100644 --- a/MTC_Adapter/MTC_Adapter/SetupAdapter.cs +++ b/MTC_Adapter/MTC_Adapter/SetupAdapter.cs @@ -1,4 +1,5 @@ -using System; +using MTC; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; diff --git a/MTC_Adapter/MTC_Adapter/utils.cs b/MTC_Adapter/MTC_Adapter/utils.cs index 7f1d1dc..2eeecfe 100644 --- a/MTC_Adapter/MTC_Adapter/utils.cs +++ b/MTC_Adapter/MTC_Adapter/utils.cs @@ -5,84 +5,15 @@ using System.Configuration; using System.Data; using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using NLog; namespace MTC_Adapter { - public class utils + public class utils : MTC.baseUtils { - /// - /// classe logger - /// - public static Logger lg; +#if false - /// - /// legge conf in formato char - /// - /// - /// - public static char CRC(string key) - { - char answ = '-'; - try - { - answ = ConfigurationManager.AppSettings[key].ToCharArray()[0]; - } - catch - { } - return answ; - } - /// - /// legge conf in formato stringa - /// - /// - /// - public static string CRS(string key) - { - string answ = ""; - try - { - answ = ConfigurationManager.AppSettings[key].ToString(); - } - catch - { } - return answ; - } - /// - /// legge conf in formato INT - /// - /// - /// - public static Int32 CRI(string key) - { - int answ = 0; - try - { - answ = Convert.ToInt32(CRS(key)); - } - catch - { } - return answ; - } - /// - /// legge conf in formato BOOLean - /// - /// - /// - public static bool CRB(string key) - { - bool answ = false; - try - { - answ = Convert.ToBoolean(CRS(key)); - } - catch - { } - return answ; - } /// /// verifica se un dato bit sia alzato (come flag di strobe) /// @@ -122,7 +53,8 @@ namespace MTC_Adapter public static bool IsSetAny(StatusBitMap value, StatusBitMap flag) { return ((value & flag) != 0); - } + } +#endif /// /// formatta un numero in forma binaria 0/1 /// @@ -139,6 +71,7 @@ namespace MTC_Adapter { } return answ; } +#if false /// /// imposta un bit al valore richiesto duplicando il valore IN come OUT /// @@ -308,7 +241,8 @@ namespace MTC_Adapter result = new Dictionary(); } return result; - } + } +#endif /// /// folder archiviazione dati configurazione (DATA\CONF) @@ -351,6 +285,7 @@ namespace MTC_Adapter } } } +#if false /// /// Oggetto timing x archiviazione dati perfomances /// @@ -432,8 +367,6 @@ namespace MTC_Adapter results.Add(new TimeRec(codice, ticks)); } } - - } @@ -821,5 +754,6 @@ namespace MTC_Adapter AL14 = 1 << 29, AL15 = 1 << 30, AL16 = 1 << 31 - } + } +#endif } From e12d47ed32145fcc7610453e1210e80600b14d49 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 11:37:26 +0200 Subject: [PATCH 05/29] Aggiunta NLog + integrazione MTC in MTC-ADB --- MTC_Adapter/MTC-ADB/App.config | 16 +- MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 32 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 271 +- MTC_Adapter/MTC-ADB/MainForm.cs | 11 +- MTC_Adapter/MTC-ADB/MainForm.resx | 3 + MTC_Adapter/MTC-ADB/NLog.config | 41 + MTC_Adapter/MTC-ADB/NLog.xsd | 2960 ++++++++++++++++++++++ MTC_Adapter/MTC-ADB/packages.config | 8 + 8 files changed, 3280 insertions(+), 62 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/NLog.config create mode 100644 MTC_Adapter/MTC-ADB/NLog.xsd create mode 100644 MTC_Adapter/MTC-ADB/packages.config diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 88fa402..7e5f7b7 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -1,6 +1,14 @@ - + - - - + + + + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 782d3d7..8797cac 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -11,6 +11,8 @@ v4.5.2 512 true + + AnyCPU @@ -32,7 +34,11 @@ 4 + + ..\packages\NLog.4.4.4\lib\net45\NLog.dll + + @@ -68,6 +74,13 @@ PreserveNewest + + Always + + + Designer + + SettingsSingleFileGenerator Settings.Designer.cs @@ -90,5 +103,24 @@ Always + + + {ec83d80e-9f3b-4de9-b16a-ca216543b7ec} + MTC + + + + + + + + + + + + Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}. + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index 99749ed..73386f3 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -30,15 +30,31 @@ { this.label1 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.lblServer = new System.Windows.Forms.Label(); - this.lblStatus = new System.Windows.Forms.Label(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.lblStatus = new System.Windows.Forms.Label(); + this.lblServer = new System.Windows.Forms.Label(); this.lblServerTgt = new System.Windows.Forms.Label(); this.btnStart = new System.Windows.Forms.Button(); - this.btnConn = new System.Windows.Forms.Button(); this.label2 = new System.Windows.Forms.Label(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.lblApp = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblVers = new System.Windows.Forms.ToolStripStatusLabel(); + this.MainProgrBar = new System.Windows.Forms.ToolStripProgressBar(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); this.groupBox1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); + this.statusStrip1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.tableLayoutPanel2.SuspendLayout(); this.SuspendLayout(); // // label1 @@ -59,103 +75,242 @@ | System.Windows.Forms.AnchorStyles.Right))); this.groupBox1.AutoSize = true; this.groupBox1.Controls.Add(this.tableLayoutPanel1); - this.groupBox1.Location = new System.Drawing.Point(4, 37); + this.groupBox1.Location = new System.Drawing.Point(4, 119); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(380, 71); + this.groupBox1.Size = new System.Drawing.Size(380, 78); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; - this.groupBox1.Text = "DataBase"; - // - // lblServer - // - this.lblServer.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblServer.Location = new System.Drawing.Point(3, 0); - this.lblServer.Name = "lblServer"; - this.lblServer.Size = new System.Drawing.Size(134, 26); - this.lblServer.TabIndex = 0; - this.lblServer.Text = "Server"; - this.lblServer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // lblStatus - // - this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblStatus.Location = new System.Drawing.Point(143, 0); - this.lblStatus.Name = "lblStatus"; - this.lblStatus.Size = new System.Drawing.Size(149, 26); - this.lblStatus.TabIndex = 1; - this.lblStatus.Text = "Status"; - this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.groupBox1.Text = "Data Available"; // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 3; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 78F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); this.tableLayoutPanel1.Controls.Add(this.lblStatus, 1, 0); this.tableLayoutPanel1.Controls.Add(this.lblServer, 0, 0); this.tableLayoutPanel1.Controls.Add(this.lblServerTgt, 0, 1); this.tableLayoutPanel1.Controls.Add(this.btnStart, 2, 0); - this.tableLayoutPanel1.Controls.Add(this.btnConn, 2, 1); this.tableLayoutPanel1.Controls.Add(this.label2, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.textBox1, 2, 1); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 16); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 2; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(374, 52); + this.tableLayoutPanel1.Size = new System.Drawing.Size(374, 59); this.tableLayoutPanel1.TabIndex = 2; // + // lblStatus + // + this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblStatus.Location = new System.Drawing.Point(142, 0); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(148, 29); + this.lblStatus.TabIndex = 1; + this.lblStatus.Text = "Last Data"; + this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblServer + // + this.lblServer.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblServer.Location = new System.Drawing.Point(3, 0); + this.lblServer.Name = "lblServer"; + this.lblServer.Size = new System.Drawing.Size(133, 29); + this.lblServer.TabIndex = 0; + this.lblServer.Text = "Data Available"; + this.lblServer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // lblServerTgt // this.lblServerTgt.AutoSize = true; this.lblServerTgt.Dock = System.Windows.Forms.DockStyle.Fill; this.lblServerTgt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblServerTgt.Location = new System.Drawing.Point(3, 26); + this.lblServerTgt.Location = new System.Drawing.Point(3, 29); this.lblServerTgt.Name = "lblServerTgt"; - this.lblServerTgt.Size = new System.Drawing.Size(134, 26); + this.lblServerTgt.Size = new System.Drawing.Size(133, 30); this.lblServerTgt.TabIndex = 2; - this.lblServerTgt.Text = "none"; + this.lblServerTgt.Text = "#"; this.lblServerTgt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // btnStart // this.btnStart.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnStart.Location = new System.Drawing.Point(298, 3); + this.btnStart.Location = new System.Drawing.Point(296, 3); this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(73, 20); + this.btnStart.Size = new System.Drawing.Size(75, 23); this.btnStart.TabIndex = 3; - this.btnStart.Text = "start"; + this.btnStart.Text = "force reload"; this.btnStart.UseVisualStyleBackColor = true; // - // btnConn - // - this.btnConn.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnConn.Location = new System.Drawing.Point(298, 29); - this.btnConn.Name = "btnConn"; - this.btnConn.Size = new System.Drawing.Size(73, 20); - this.btnConn.TabIndex = 4; - this.btnConn.Text = "connect"; - this.btnConn.UseVisualStyleBackColor = true; - // // label2 // this.label2.AutoSize = true; this.label2.Dock = System.Windows.Forms.DockStyle.Fill; this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(143, 26); + this.label2.Location = new System.Drawing.Point(142, 29); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(149, 26); + this.label2.Size = new System.Drawing.Size(148, 30); this.label2.TabIndex = 5; - this.label2.Text = "offline"; + this.label2.Text = "../../.. ..:..:.."; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.lblApp, + this.lblVers, + this.MainProgrBar, + this.toolStripStatusLabel1}); + this.statusStrip1.Location = new System.Drawing.Point(0, 256); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(390, 25); + this.statusStrip1.TabIndex = 2; + this.statusStrip1.Text = "statusStrip1"; + // + // lblApp + // + this.lblApp.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); + this.lblApp.ForeColor = System.Drawing.SystemColors.ControlText; + this.lblApp.Name = "lblApp"; + this.lblApp.Size = new System.Drawing.Size(16, 20); + this.lblApp.Text = "..."; + // + // lblVers + // + this.lblVers.Font = new System.Drawing.Font("Segoe UI", 8F); + this.lblVers.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.lblVers.Name = "lblVers"; + this.lblVers.Size = new System.Drawing.Size(16, 20); + this.lblVers.Text = "..."; + // + // MainProgrBar + // + this.MainProgrBar.Name = "MainProgrBar"; + this.MainProgrBar.Size = new System.Drawing.Size(100, 19); + this.MainProgrBar.Step = 1; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(22, 20); + this.toolStripStatusLabel1.Text = "---"; + // + // groupBox2 + // + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox2.AutoSize = true; + this.groupBox2.Controls.Add(this.tableLayoutPanel2); + this.groupBox2.Location = new System.Drawing.Point(4, 45); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(380, 71); + this.groupBox2.TabIndex = 3; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "DB"; + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.ColumnCount = 3; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); + this.tableLayoutPanel2.Controls.Add(this.label3, 1, 0); + this.tableLayoutPanel2.Controls.Add(this.label4, 0, 0); + this.tableLayoutPanel2.Controls.Add(this.label5, 0, 1); + this.tableLayoutPanel2.Controls.Add(this.button1, 2, 0); + this.tableLayoutPanel2.Controls.Add(this.button2, 2, 1); + this.tableLayoutPanel2.Controls.Add(this.label6, 1, 1); + this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 16); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 2; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(374, 52); + this.tableLayoutPanel2.TabIndex = 2; + // + // label3 + // + this.label3.Dock = System.Windows.Forms.DockStyle.Fill; + this.label3.Location = new System.Drawing.Point(142, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(148, 26); + this.label3.TabIndex = 1; + this.label3.Text = "Status"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label4 + // + this.label4.Dock = System.Windows.Forms.DockStyle.Fill; + this.label4.Location = new System.Drawing.Point(3, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(133, 26); + this.label4.TabIndex = 0; + this.label4.Text = "Server"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Dock = System.Windows.Forms.DockStyle.Fill; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(3, 26); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(133, 26); + this.label5.TabIndex = 2; + this.label5.Text = "none"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // button1 + // + this.button1.Dock = System.Windows.Forms.DockStyle.Fill; + this.button1.Location = new System.Drawing.Point(296, 3); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 20); + this.button1.TabIndex = 3; + this.button1.Text = "start"; + this.button1.UseVisualStyleBackColor = true; + // + // button2 + // + this.button2.Dock = System.Windows.Forms.DockStyle.Fill; + this.button2.Location = new System.Drawing.Point(296, 29); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 20); + this.button2.TabIndex = 4; + this.button2.Text = "connect"; + this.button2.UseVisualStyleBackColor = true; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Dock = System.Windows.Forms.DockStyle.Fill; + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label6.Location = new System.Drawing.Point(142, 26); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(148, 26); + this.label6.TabIndex = 5; + this.label6.Text = "offline"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // textBox1 + // + this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox1.Location = new System.Drawing.Point(296, 32); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(75, 20); + this.textBox1.TabIndex = 6; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(390, 281); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.statusStrip1); this.Controls.Add(this.groupBox1); this.Controls.Add(this.label1); this.Name = "MainForm"; @@ -163,6 +318,11 @@ this.groupBox1.ResumeLayout(false); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.tableLayoutPanel2.ResumeLayout(false); + this.tableLayoutPanel2.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -177,7 +337,20 @@ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.Label lblServerTgt; private System.Windows.Forms.Button btnStart; - private System.Windows.Forms.Button btnConn; private System.Windows.Forms.Label label2; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel lblApp; + private System.Windows.Forms.ToolStripStatusLabel lblVers; + private System.Windows.Forms.ToolStripProgressBar MainProgrBar; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox textBox1; } } \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 7e6223d..f86c657 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -4,15 +4,8 @@ * Based on data, code and example by MTC consortium & System Insights, Inc. * * */ -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; +using MTC; namespace MTC_ADB { @@ -26,7 +19,7 @@ namespace MTC_ADB private void myInit() { - throw new NotImplementedException(); + lblApp.Text = baseUtils.CRS("appName"); } } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx index 1af7de1..174ebc7 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.resx +++ b/MTC_Adapter/MTC-ADB/MainForm.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/NLog.config b/MTC_Adapter/MTC-ADB/NLog.config new file mode 100644 index 0000000..7a0f3aa --- /dev/null +++ b/MTC_Adapter/MTC-ADB/NLog.config @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/MTC_Adapter/MTC-ADB/NLog.xsd b/MTC_Adapter/MTC-ADB/NLog.xsd new file mode 100644 index 0000000..aefcab0 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/NLog.xsd @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + Watch config file for changes and reload automatically. + + + + + Print internal NLog messages to the console. Default value is: false + + + + + Print internal NLog messages to the console error output. Default value is: false + + + + + Write internal NLog messages to the specified file. + + + + + Log level threshold for internal log messages. Default value is: Info. + + + + + Global log level threshold for application log messages. Messages below this level won't be logged.. + + + + + Throw an exception when there is an internal error. Default value is: false. + + + + + Throw an exception when there is a configuration error. If not set, determined by throwExceptions. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false. + + + + + Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false. + + + + + Write timestamps for internal NLog messages. Default value is: true. + + + + + Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false. + + + + + + + + + + + + + + Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). + + + + + + + + + + + + + + + + + Prefix for targets/layout renderers/filters/conditions loaded from this assembly. + + + + + Load NLog extensions from the specified file (*.dll) + + + + + Load NLog extensions from the specified assembly. Assembly name should be fully qualified. + + + + + + + + + + Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name* + + + + + Comma separated list of levels that this rule matches. + + + + + Minimum level that this rule matches. + + + + + Maximum level that this rule matches. + + + + + Level that this rule matches. + + + + + Comma separated list of target names. + + + + + Ignore further rules if this one matches. + + + + + Enable or disable logging rule. Disabled rules are ignored. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file. + + + + + Ignore any errors in the include file. + + + + + + + Variable name. + + + + + Variable value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events that should be processed in a batch by the lazy writer thread. + + + + + Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch + + + + + Action to be taken when the lazy writer thread request queue count exceeds the set limit. + + + + + Limit on the number of requests in the lazy writer thread request queue. + + + + + Time in milliseconds to sleep between batches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will cause a flush on the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events to be buffered. + + + + + Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + Indicates whether to use sliding timeout. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Viewer parameter name. + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to use default row highlighting rules. + + + + + Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Condition that must be met in order to set the specified foreground and background color. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + Indicates whether to ignore case when comparing texts. + + + + + Regular expression to be matched. You must specify either text or regex. + + + + + Text to be matched. You must specify either text or regex. + + + + + Indicates whether to match whole words only. + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send the log messages to the standard error instead of the standard output. + + + + + Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this. + + + + + Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. + + + + + Name of the database provider. + + + + + Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. + + + + + Indicates whether to keep the database connection open between the log events. + + + + + Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. + + + + + Name of the connection string (as specified in <connectionStrings> configuration section. + + + + + Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. + + + + + Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Text of the SQL command to be run on each log level. + + + + + Type of the SQL command to be run on each log level. + + + + + + + + + + + + + + + + + + + + + + + Type of the command. + + + + + Connection string to run the command against. If not provided, connection string from the target is used. + + + + + Indicates whether to ignore failures. + + + + + Command text. + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Database parameter name. + + + + + Database parameter precision. + + + + + Database parameter scale. + + + + + Database parameter size. + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Layout that renders event Category. + + + + + Layout that renders event ID. + + + + + Name of the Event Log to write to. This can be System, Application or any user-defined name. + + + + + Name of the machine on which Event Log service is running. + + + + + Value to be used as the event Source. + + + + + Action to take if the message is larger than the option. + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Message length limit to write to the Event Log. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether to return to the first target after any successful write. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + File encoding. + + + + + Line ending mode. + + + + + Way file archives are numbered. + + + + + Name of the file to be used for an archive. + + + + + Indicates whether to automatically archive log files every time the specified time passes. + + + + + Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: + + + + + Indicates whether to compress archive files into the zip archive format. + + + + + Maximum number of archive files that should be kept. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Is the an absolute or relative path? + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong. + + + + + Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write + + + + + Is the an absolute or relative path? + + + + + Value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Indicates whether the footer should be written only when the file is archived. + + + + + Name of the file to write to. + + + + + Value specifying the date format to use when archiving files. + + + + + Indicates whether to archive old log file on startup. + + + + + Indicates whether to create directories if they do not exist. + + + + + Indicates whether to enable log file(s) to be deleted. + + + + + File attributes (Windows only). + + + + + Indicates whether to delete old log file on startup. + + + + + Indicates whether to replace file contents on each write instead of appending log message at the end. + + + + + Indicates whether concurrent writes to the log file by multiple processes on the same host. + + + + + Indicates whether to keep log file open instead of opening and closing it on each logging event. + + + + + Maximum number of log filenames that should be stored as existing. + + + + + Indicates whether concurrent writes to the log file by multiple processes on different network hosts. + + + + + Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger). + + + + + Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Log file buffer size in bytes. + + + + + Indicates whether to automatically flush the file buffers after each log message. + + + + + Delay in milliseconds to wait before attempting to write to the file again. + + + + + Number of times the write is appended on the file before NLog discards the log message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will be forwarded to the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Windows domain name to change context to. + + + + + Required impersonation level. + + + + + Type of the logon provider. + + + + + Logon Type. + + + + + User account password. + + + + + Indicates whether to revert to the credentials of the process instead of impersonating another user. + + + + + Username to change context to. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Interval in which messages will be written up to the number of messages. + + + + + Maximum allowed number of messages written per . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Endpoint address. + + + + + Name of the endpoint configuration in WCF configuration file. + + + + + Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + Client ID. + + + + + Indicates whether to include per-event properties in the payload sent to the server. + + + + + Indicates whether to use binary message encoding. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + Layout that should be use to calculate the value for the parameter. + + + + + Name of the parameter. + + + + + Type of the parameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send message as HTML instead of plain text. + + + + + Encoding to be used for sending e-mail. + + + + + Indicates whether to add new lines between log entries. + + + + + CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Mail message body (repeated for each log message send in one mail). + + + + + Mail subject. + + + + + Sender's email address (e.g. joe@domain.com). + + + + + Indicates the SMTP client timeout. + + + + + Priority used for sending mails. + + + + + Indicates whether NewLine characters in the body should be replaced with tags. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + SMTP Server to be used for sending. + + + + + SMTP Authentication mode. + + + + + Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + + + + Port number that SMTP Server is listening on. + + + + + Indicates whether the default Settings from System.Net.MailSettings should be used. + + + + + Folder where applications save mail messages to be processed by the local SMTP server. + + + + + Specifies how outgoing email messages will be handled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used when writing text to the queue. + + + + + Indicates whether to use the XML format when serializing message. This will also disable creating queues. + + + + + Indicates whether to check if a queue exists before writing to it. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Indicates whether to create the queue if it doesn't exists. + + + + + Label to associate with each message. + + + + + Name of the queue to write to. + + + + + Indicates whether to use recoverable messages (with guaranteed delivery). + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Class name. + + + + + Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Network address. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Indicates whether to keep connection open whenever possible. + + + + + Maximum current connections. 0 = no maximum. + + + + + Maximum queue size. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Indicates whether to perform layout calculation. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether performance counter should be automatically created. + + + + + Name of the performance counter category. + + + + + Counter help text. + + + + + Name of the performance counter. + + + + + Performance counter type. + + + + + The value by which to increment the counter. + + + + + Performance counter instance name. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Default filter to be applied when no specific rule matches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + Condition to be tested. + + + + + Resulting filter to be applied when the condition matches. + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of times to repeat each log message. + + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of retries that should be attempted on the wrapped target in case of a failure. + + + + + Time to wait between retries in milliseconds. + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Encoding. + + + + + Value whether escaping be done according to the old NLog style (Very non-standard) + + + + + Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + + + + Web service method name. Only used with Soap. + + + + + Web service namespace. Only used with Soap. + + + + + Protocol to be used when calling web service. + + + + + Web service URL. + + + + + Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ). + + + + + (optional) root namespace of the XML document, if POST of XML document chosen. (see and ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + Column delimiter. + + + + + Quote Character. + + + + + Quoting mode. + + + + + Indicates whether CVS should include header. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout of the column. + + + + + Name of the column. + + + + + + + + + + + + + + + + List of property names to exclude when is true + + + + + Option to include all properties from the log events + + + + + Option to render the empty object value {} + + + + + Option to suppress the extra spaces in the output json + + + + + + + + + + + + + + Determines wether or not this attribute will be Json encoded. + + + + + Layout that will be rendered as the attribute's value. + + + + + Name of the attribute. + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + + + + + + + + + + + + + + + + + Layout text. + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Condition expression. + + + + + + + + + + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/packages.config b/MTC_Adapter/MTC-ADB/packages.config new file mode 100644 index 0000000..d0de60d --- /dev/null +++ b/MTC_Adapter/MTC-ADB/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 5b78c0ca21f5e03d4bb338282eedc962856c0172 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 12:03:04 +0200 Subject: [PATCH 06/29] spostato in MTC il binaryFormatter + utils anche x MTC-ADB --- MTC_Adapter/MTC-ADB/utils.cs | 72 ++ .../{MTC_Adapter => MTC}/BinaryFormatter.cs | 6 +- MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj | 1 - MTC_Adapter/MTC_Adapter/utils.cs | 698 +----------------- 4 files changed, 75 insertions(+), 702 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/utils.cs rename MTC_Adapter/{MTC_Adapter => MTC}/BinaryFormatter.cs (97%) diff --git a/MTC_Adapter/MTC-ADB/utils.cs b/MTC_Adapter/MTC-ADB/utils.cs new file mode 100644 index 0000000..7889954 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/utils.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.IO; +using System.Linq; +using System.Windows.Forms; +using NLog; + +namespace MTC +{ + public class utils : MTC.baseUtils + { + /// + /// formatta un numero in forma binaria 0/1 + /// + /// + /// + public static string binaryForm(int valore) + { + string answ = ""; + try + { + answ = string.Format(new BinaryFormatter(), "{0:B}", valore); + } + catch + { } + return answ; + } + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string resxDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("resxPath")); + } + } + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string confDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataConfPath")); + } + } + /// + /// folder archiviazione dati storici giornalieri (DATA\DAT) + /// + public static string dataDatDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataDatPath")); + } + } + /// + /// folder archiviazione dati (DATA) + /// + public static string dataDir + { + get + { + return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataPath")); + } + } + } +} diff --git a/MTC_Adapter/MTC_Adapter/BinaryFormatter.cs b/MTC_Adapter/MTC/BinaryFormatter.cs similarity index 97% rename from MTC_Adapter/MTC_Adapter/BinaryFormatter.cs rename to MTC_Adapter/MTC/BinaryFormatter.cs index fa43a75..203f9b5 100644 --- a/MTC_Adapter/MTC_Adapter/BinaryFormatter.cs +++ b/MTC_Adapter/MTC/BinaryFormatter.cs @@ -1,12 +1,8 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Globalization; using System.Numerics; -namespace MTC_Adapter +namespace MTC { public class BinaryFormatter : IFormatProvider, ICustomFormatter diff --git a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj index c5ab215..cb32008 100644 --- a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj +++ b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj @@ -131,7 +131,6 @@ - Form diff --git a/MTC_Adapter/MTC_Adapter/utils.cs b/MTC_Adapter/MTC_Adapter/utils.cs index 2eeecfe..b327ba0 100644 --- a/MTC_Adapter/MTC_Adapter/utils.cs +++ b/MTC_Adapter/MTC_Adapter/utils.cs @@ -1,60 +1,10 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Configuration; -using System.Data; -using System.IO; -using System.Linq; -using System.Windows.Forms; -using NLog; +using System.Windows.Forms; +using MTC; namespace MTC_Adapter { public class utils : MTC.baseUtils { -#if false - - /// - /// verifica se un dato bit sia alzato (come flag di strobe) - /// - /// valore da testare - /// valore cercato, può essere un singolo valore o un insieme in modalità AND - /// - public static bool IsSetAll(Strobe value, Strobe flag) - { - return ((value & flag) == flag); - } - /// - /// verifica se un dato bit sia alzato (come flag di strobe) - /// - /// valore da testare - /// valore cercato, può essere un singolo valore o un insieme in modalità OR - /// - public static bool IsSetAny(Strobe value, Strobe flag) - { - return ((value & flag) != 0); - } - /// - /// verifica se un dato bit sia alzato (come flag di strobe) - /// - /// valore da testare - /// valore cercato, può essere un singolo valore o un insieme in modalità AND - /// - public static bool IsSetAll(StatusBitMap value, StatusBitMap flag) - { - return ((value & flag) == flag); - } - /// - /// verifica se un dato bit sia alzato (come flag di strobe) - /// - /// valore da testare - /// valore cercato, può essere un singolo valore o un insieme in modalità OR - /// - public static bool IsSetAny(StatusBitMap value, StatusBitMap flag) - { - return ((value & flag) != 0); - } -#endif /// /// formatta un numero in forma binaria 0/1 /// @@ -71,179 +21,6 @@ namespace MTC_Adapter { } return answ; } -#if false - /// - /// imposta un bit al valore richiesto duplicando il valore IN come OUT - /// - /// valore originale da aggiornare - /// valore richiesto x il bit (0/1) - /// indice bit, 0 based (es: 0..31 per 32bit) - /// - public static byte[] setBitOnStFlag(byte[] original, bool bitBool, int bitIndex) - { - int bitVal = 0; - if (bitBool) bitVal = 1; - // risposta è identica ad originale... - byte[] answ = original; - // verifico se il bit è 0/1b - if (bitVal <= 1 && bitVal >= 0) - { - // verifico se si possa aggiornare il bit richiesto (<= al totale dei bit...) - if (bitIndex <= original.Length * 8 - 1) - { - // calcolo byte - int byteIndex = bitIndex / 8; - // bit nel byte - int bitInByteIndex = bitIndex % 8; - // bit richiesto - byte mask = (byte)(bitVal << bitInByteIndex); - // imposto! - answ[byteIndex] |= mask; - } - } - return answ; - } - /// - /// Converte un bitarray a byte[] - /// - /// - /// - public static byte[] ToByteArray(BitArray bits) - { - int numBytes = bits.Count / 8; - if (bits.Count % 8 != 0) numBytes++; - - byte[] bytes = new byte[numBytes]; - int byteIndex = 0, bitIndex = 0; - - for (int i = 0; i < bits.Count; i++) - { - if (bits[i]) - bytes[byteIndex] |= (byte)(1 << (7 - bitIndex)); - - bitIndex++; - if (bitIndex == 8) - { - bitIndex = 0; - byteIndex++; - } - } - - return bytes; - } - - /// - /// Scrittura dictionary su file - /// - /// - /// - public static void WriteBin(Dictionary dictionary, string file) - { - using (FileStream fs = File.OpenWrite(file)) - using (BinaryWriter writer = new BinaryWriter(fs)) - { - // Put count. - writer.Write(dictionary.Count); - // Write pairs. - foreach (var pair in dictionary) - { - writer.Write(pair.Key); - writer.Write(pair.Value); - } - } - } - /// - /// Lettura dictionary da file - /// - /// - /// - public static Dictionary ReadBin(string file) - { - var result = new Dictionary(); - // verifico file esista... - if (!File.Exists(file)) - { - FileStream fs = File.Create(file); - fs.Close(); - } - using (FileStream fs = File.OpenRead(file)) - using (BinaryReader reader = new BinaryReader(fs)) - { - // Get count. - int count = 0; - try - { - count = reader.ReadInt32(); - } - catch - { } - // Read in all pairs. - for (int i = 0; i < count; i++) - { - string key = reader.ReadString(); - string value = reader.ReadString(); - result[key] = value; - } - } - return result; - } - - /// - /// Scrittura dictionary su file - /// - /// - /// - public static void WritePlain(Dictionary dictionary, string file) - { - string dirPath = file.Substring(0, file.LastIndexOf('\\')); - // verifico directory - if (!Directory.Exists(dirPath)) - { - Directory.CreateDirectory(dirPath); - } - string[] lines = dictionary.OrderBy(i => i.Key).Select(kvp => kvp.Key + ":" + kvp.Value).ToArray(); - try - { - File.WriteAllLines(file, lines); - } - catch (Exception exc) - { - lg.Info(exc, string.Format("Errore in scrittura file {0}", file)); - } - } - /// - /// Lettura dictionary da file - /// - /// - /// - public static Dictionary ReadPlain(string file) - { - // inizializzo num righe lette... - int numRow = 0; - var result = new Dictionary(); - // verifico file esista... - if (!File.Exists(file)) - { - FileStream fs = File.Create(file); - fs.Close(); - } - try - { - string[] lines = File.ReadAllLines(file); - result = lines.Select(l => l.Split(':')).ToDictionary(a => a[0], a => a[1]); - numRow = result.Count; - } - catch - { } - // se leggesse un valore NON coerente (senza righe) restituisce un file vuoto... - if (numRow == 0) - { - result = new Dictionary(); - } - return result; - } -#endif - /// /// folder archiviazione dati configurazione (DATA\CONF) /// @@ -285,475 +62,4 @@ namespace MTC_Adapter } } } -#if false - /// - /// Oggetto timing x archiviazione dati perfomances - /// - public class TimeRec - { - /// - /// Codice univoco chiamata: tipo R4 (read 4 byte), W2 (write 2 Byte) - /// - public string codCall; - /// - /// Num chiamate totale - /// - public int numCall; - /// - /// Tempo medio chiamata - /// - public double avgMsec - { - get - { - return totMsec.TotalMilliseconds / numCall; - } - } - /// - /// Totale Msec accumulati - /// - public TimeSpan totMsec; - /// - /// Classe record timing - /// - public TimeRec() - { - codCall = ""; - numCall = 0; - totMsec = new TimeSpan(0); - } - /// - /// Classe record timing - /// - /// - /// - public TimeRec(string codice, long nTicks) - { - codCall = codice; - numCall = 1; - totMsec = new TimeSpan(nTicks); - } - } - public static class TimingData - { - public static List results = new List(); - - /// - /// aggiorno vettore aggiungendo risultato - /// - /// - /// - public static void addResult(string codice, long ticks) - { - if (results.Count == 0) - { - results.Add(new TimeRec(codice, ticks)); - } - int indice = -1; - for (int i = 0; i < results.Count; i++) - { - // se il codice è quello cercato... - if (results[i].codCall == codice) indice = i; - } - // se c'è aggiorno... - if (indice >= 0) - { - results[indice].numCall++; - results[indice].totMsec = results[indice].totMsec.Add(new TimeSpan(ticks)); - } - // altrimenti aggiungo... - else - { - results.Add(new TimeRec(codice, ticks)); - } - } - } - - - public enum tipoAdapter - { - /// - /// Adapter generico/demo - /// - DEMO, - /// - /// adapter FANUC (CMS) - /// - FANUC, - /// - /// Adapter ESAGV (SCM) - /// - ESAGV, - /// - /// Adapter non specificato - /// - ND, - /// - /// Adapter OSAI - /// - OSAI, - /// - /// Adapter SIEMENS (CMS) - /// - SIEMENS - } - - public enum gatherCycle - { - /// - /// lettura dati ad alta frequenza - /// - HF, - /// - /// lettura dati standard - /// - MF, - /// - /// lettura dati bassa freq - /// - LF, - /// - /// lettura dati bassissima priorità (re-sync stato allarmi) - /// - VLF - } - - /// - /// informazioni di produzione - /// - public struct prodData - { - public string Operator; - - public bool Status; - public int AccTime; - public int Power; - public string FuncMode; - public bool EmrStop; - public string MessageCode; - public string MessageText; - - } - - public struct PathData - { - public int PathSel; - public string PathType; // LAVOR/ASSERV - public string RunMode; - public string ExeMode; - public int pzTot; - public string ProgramName; - public string ProgrRow; - public string PartId; - public string ActiveAxes; - public string CodG_Act; - public string SubMode; - - public int PathFeedrate; - public int PathFeedrateOver; - public int PathRapidOver; - public position PathPosAct; - } - - - public struct UnOpData - { - public int UnOpSel; - public int UnOpToolId; - public int UnOpNumCU; - public string UnOpStatus; - public int UnOpVitaRes; - public int UnOpSpeed; - public int UnOpLoad; - public int UnOpAccTime; - } - - public struct AxisData - { - public int AxisSel; - public string AxisMainProc; - public bool AxisIsMaster; - public string AxisMastId; - public string AxisType; - public string AxisDir; - public int AxisLoad; - public int AxisPosAct; - public int AxisPosTgt; - public int AxisFeedAct; - public int AxisFeedOver; - public string AxisAccel; - public string AxisAccTime; - public string AxisBattery; - public string DistDone; - public string InvDDone; - } - - /// - /// Vettore completo posizione (X-Y-Z con versori i-j-k) - /// - public class position - { - public float x; - public float y; - public float z; - public float i; - public float j; - public float k; - public position() - { - x = 0; - y = 0; - z = 0; - i = 0; - j = 0; - k = 0; - } - } - - /// - /// Dati Prod SCM (per decodifica) - /// - public class datiProdSCM - { - public string area; - public string fileName; - public string dimensioni; - public DateTime start; - public DateTime stop; - public TimeSpan tEff; - public TimeSpan tTot; - public int qta; - public TimeSpan tMed; - public datiProdSCM() - { - area = ""; - fileName = ""; - dimensioni = ""; - start = DateTime.Now; - stop = DateTime.Now; - tEff = new TimeSpan(0); - tTot = new TimeSpan(0); - qta = 0; - tMed = new TimeSpan(0); - } - /// - /// crea un nuovo oggetto a partire da un array di stringhe - /// - /// - public datiProdSCM(string[] valori) - { - try - { - area = valori[0]; - fileName = valori[1]; - dimensioni = string.Format("{0}x{1}x{2}", valori[3], valori[4], valori[5]); - start = DateTime.Today.AddHours(Convert.ToInt16(valori[6])).AddMinutes(Convert.ToInt16(valori[7])).AddSeconds(Convert.ToInt16(valori[8])); - - stop = DateTime.Today.AddHours(Convert.ToInt16(valori[9])).AddMinutes(Convert.ToInt16(valori[10])).AddSeconds(Convert.ToInt16(valori[11])); - // se ore == 0 --> aggiungo 1 gg!!! - if (Convert.ToInt16(valori[9]) == 0) stop.AddDays(1); - - tEff = new TimeSpan(Convert.ToInt16(valori[12]), Convert.ToInt16(valori[13]), Convert.ToInt16(valori[14])); - - tTot = new TimeSpan(Convert.ToInt16(valori[15]), Convert.ToInt16(valori[16]), Convert.ToInt16(valori[17])); - - qta = Convert.ToInt16(valori[18]); - - tMed = new TimeSpan(Convert.ToInt16(valori[19]), Convert.ToInt16(valori[20]), Convert.ToInt16(valori[22]), Convert.ToInt16(valori[23])); - } - catch - { } - } - } - /// - /// Allarme (per decodifica) - /// - public class allarme - { - public string codNum; - public string gruppo; - public string livello; - public string descrizione; - public allarme() - { - codNum = ""; - gruppo = ""; - livello = ""; - descrizione = ""; - } - public allarme(string _codNum, string _gruppo, string _livello, string _descrizione) - { - codNum = _codNum; - gruppo = _gruppo; - livello = _livello; - descrizione = _descrizione; - } - } - - - /// - /// Dato generico (per decodifica) - /// - public class otherData - { - public string codNum; - public string memAddr; - public string varName; - public string dataType; - public otherData() - { - codNum = ""; - memAddr = ""; - varName = ""; - dataType = ""; - } - public otherData(string _codNum, string _memAddr, string _varName, string _dataType) - { - codNum = _codNum; - memAddr = _memAddr; - varName = _varName; - dataType = _dataType; - } - } - - - /// - /// Strobe: contiene il set di strobe di comunicazione - /// - /// rif: http://stackoverflow.com/questions/17209054/parse-bits-in-a-byte-to-enum - /// - [Flags] - public enum Strobe : int - { - NONE = 0, - M_CODE = 1 << 0, - S_CODE = 1 << 1, - T_CODE = 1 << 2, - PZ_OK = 1 << 3, - PZ_KO = 1 << 4, - FEED_SPEED = 1 << 5, - POS_ACT = 1 << 6, - SP07 = 1 << 7, - SP08 = 1 << 8, - SP09 = 1 << 9, - SP10 = 1 << 10, - SP11 = 1 << 11, - SP12 = 1 << 12, - SP13 = 1 << 13, - SP14 = 1 << 14, - SP15 = 1 << 15, - SP16 = 1 << 16, - SP17 = 1 << 17, - SP18 = 1 << 18, - SP19 = 1 << 19, - SP20 = 1 << 20, - SP21 = 1 << 21, - SP22 = 1 << 22, - SP23 = 1 << 23, - SP24 = 1 << 24, - SP25 = 1 << 25, - SP26 = 1 << 26, - SP27 = 1 << 27, - SP28 = 1 << 28, - SP29 = 1 << 29, - SP30 = 1 << 30, - SP31 = 1 << 31 - } - /// - /// StFlag8: set di 8 bit (1 word) contente semaforo di variabili - /// - [Flags] - public enum StFlag8 : int - { - NONE = 0, - B0 = 1 << 0, - B1 = 1 << 1, - B2 = 1 << 2, - B3 = 1 << 3, - B4 = 1 << 4, - B5 = 1 << 5, - B6 = 1 << 6, - B7 = 1 << 7 - } - /// - /// StFlag32: set di 32 bit (4 word) contente semaforo di variabili - /// - [Flags] - public enum StFlag32 : int - { - NONE = 0, - B00 = 1 << 0, - B01 = 1 << 1, - B02 = 1 << 2, - B03 = 1 << 3, - B04 = 1 << 4, - B05 = 1 << 5, - B06 = 1 << 6, - B07 = 1 << 7, - B08 = 1 << 8, - B09 = 1 << 9, - B10 = 1 << 10, - B11 = 1 << 11, - B12 = 1 << 12, - B13 = 1 << 13, - B14 = 1 << 14, - B15 = 1 << 15, - B16 = 1 << 16, - B17 = 1 << 17, - B18 = 1 << 18, - B19 = 1 << 19, - B20 = 1 << 20, - B21 = 1 << 21, - B22 = 1 << 22, - B23 = 1 << 23, - B24 = 1 << 24, - B25 = 1 << 25, - B26 = 1 << 26, - B27 = 1 << 27, - B28 = 1 << 28, - B29 = 1 << 29, - B30 = 1 << 30, - B31 = 1 << 31 - } - /// - /// StatusBitMap: contiene il set di semafori/flag x status + allarmi (x classi) - /// - [Flags] - public enum StatusBitMap : int - { - NONE = 0, - ESTOP = 1 << 0, - RM_AUTO = 1 << 1, - RM_MANUAL = 1 << 2, - RM_MDI = 1 << 3, - RM_EDIT = 1 << 4, - EM_RUN = 1 << 5, - EM_READY = 1 << 6, - EM_STOP = 1 << 7, - EM_FEEDHOLD = 1 << 8, - HM = 1 << 9, - ST11 = 1 << 10, - ST12 = 1 << 11, - ST13 = 1 << 12, - ST14 = 1 << 13, - ST15 = 1 << 14, - ST16 = 1 << 15, - AL01 = 1 << 16, - AL02 = 1 << 17, - AL03 = 1 << 18, - AL04 = 1 << 19, - AL05 = 1 << 20, - AL06 = 1 << 21, - AL07 = 1 << 22, - AL08 = 1 << 23, - AL09 = 1 << 24, - AL10 = 1 << 25, - AL11 = 1 << 26, - AL12 = 1 << 27, - AL13 = 1 << 28, - AL14 = 1 << 29, - AL15 = 1 << 30, - AL16 = 1 << 31 - } -#endif } From b2ea8802636cdc2662c421012400d9c5ab3a1f41 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 12:03:22 +0200 Subject: [PATCH 07/29] continuo conf MainForm di MTC-ADB --- MTC_Adapter/MTC-ADB/App.config | 4 ++ MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 1 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 8 +++ MTC_Adapter/MTC-ADB/MainForm.cs | 65 ++++++++++++++++++++++++ MTC_Adapter/MTC-ADB/MainForm.resx | 3 ++ MTC_Adapter/MTC/MTC.csproj | 2 + 6 files changed, 83 insertions(+) diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 7e5f7b7..44b0135 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -5,6 +5,10 @@ + + + + diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 8797cac..53d3ff3 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -59,6 +59,7 @@ + MainForm.cs diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index 73386f3..fbd8d67 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); this.label1 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); @@ -50,6 +51,7 @@ this.button2 = new System.Windows.Forms.Button(); this.label6 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); + this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.groupBox1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); this.statusStrip1.SuspendLayout(); @@ -304,6 +306,11 @@ this.textBox1.Size = new System.Drawing.Size(75, 20); this.textBox1.TabIndex = 6; // + // notifyIcon1 + // + this.notifyIcon1.Text = "notifyIcon1"; + this.notifyIcon1.Visible = true; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -352,5 +359,6 @@ private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.NotifyIcon notifyIcon1; } } \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index f86c657..dbc5820 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -6,11 +6,36 @@ * */ using System.Windows.Forms; using MTC; +using NLog; +using System; +using System.Threading; namespace MTC_ADB { public partial class MainForm : Form { + #region variabili ed oggetti globali + + /// + /// timer base in avvio + /// + protected int startTimerMs = 250; + /// + /// contatore normale + /// + protected int normCount = 5000; // di norma 5 sec x refresh... + /// + /// ultimo tentativo riavvio... + /// + protected DateTime lastStartTry; + + /// + /// oggetto logging + /// + public static Logger lg; + + #endregion + public MainForm() { InitializeComponent(); @@ -19,7 +44,47 @@ namespace MTC_ADB private void myInit() { + lblStatus.Text = "Loading"; + lastStartTry = DateTime.Now; + + // fix icon! + //Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + //notifyIcon1.Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + + lblApp.Text = baseUtils.CRS("appName"); + + normCount = baseUtils.CRI("normCount"); + } + /// + /// mostra un testo sulla status bar ed attende startTimerMs + /// + /// + public void displayTaskAndWait(string txt2show) + { + lblStatus.Text = txt2show; + lg.Info(txt2show); + Thread.Sleep(startTimerMs); + } + + + + /// + /// File persistenza generale + /// + protected string defPersLayerFile + { + get + { + return string.Format(@"{0}\{1}", utils.dataDatDir, utils.CRS("defaultPersLayerFile")); + } + } + protected string defIconFilePath + { + get + { + return string.Format(@"{0}\MTCA.ico", utils.resxDir); + } } } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx index 174ebc7..94ad897 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.resx +++ b/MTC_Adapter/MTC-ADB/MainForm.resx @@ -120,4 +120,7 @@ 17, 17 + + 133, 17 + \ No newline at end of file diff --git a/MTC_Adapter/MTC/MTC.csproj b/MTC_Adapter/MTC/MTC.csproj index 9d983ee..91b301a 100644 --- a/MTC_Adapter/MTC/MTC.csproj +++ b/MTC_Adapter/MTC/MTC.csproj @@ -36,6 +36,7 @@ + @@ -44,6 +45,7 @@ + From 61168e5eb0be688d034338e330d92fa5c3690b01 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 12:49:13 +0200 Subject: [PATCH 08/29] continuo modifica mainForm x comportamento base adapter (tray & co...) --- MTC_Adapter/MTC-ADB/App.config | 15 ++ MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 6 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 16 ++ MTC_Adapter/MTC-ADB/MainForm.cs | 201 +++++++++++++++++- MTC_Adapter/MTC-ADB/MainForm.resx | 6 + MTC_Adapter/MTC-ADB/NLog.config | 35 ++- .../MTC-ADB/Properties/AssemblyInfo.cs | 8 - MTC_Adapter/MTC-ADB/Resources/MTCADB.ico | Bin 0 -> 1150 bytes MTC_Adapter/MTC-ADB/utils.cs | 16 -- MTC_Adapter/MTC/baseUtils.cs | 2 - MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj | 7 - MTC_Adapter/MTC_Adapter/MainForm.cs | 14 +- MTC_Adapter/MTC_Adapter/utils.cs | 16 -- MTC_Adapter/VersGen/VersGen.cs | 4 +- MTC_Adapter/VersGen/VersGen.tt | 4 +- 15 files changed, 275 insertions(+), 75 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/Resources/MTCADB.ico diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 44b0135..9bfa4c1 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -9,6 +9,21 @@ + + + + + + + + + + + + + + + diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 53d3ff3..7bfbf7f 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -51,6 +51,9 @@ + + VersGen.cs + Form @@ -60,6 +63,9 @@ + + Always + MainForm.cs diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index fbd8d67..e6202e0 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -52,6 +52,8 @@ this.label6 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); + this.gather = new System.Windows.Forms.Timer(this.components); + this.trayMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.groupBox1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); this.statusStrip1.SuspendLayout(); @@ -311,6 +313,12 @@ this.notifyIcon1.Text = "notifyIcon1"; this.notifyIcon1.Visible = true; // + // trayMenu + // + this.trayMenu.Name = "trayMenu"; + this.trayMenu.Size = new System.Drawing.Size(61, 4); + this.trayMenu.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.trayMenu_ItemClicked); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -320,8 +328,14 @@ this.Controls.Add(this.statusStrip1); this.Controls.Add(this.groupBox1); this.Controls.Add(this.label1); + this.MaximizeBox = false; this.Name = "MainForm"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "MTC-ADB"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.Shown += new System.EventHandler(this.MainForm_Shown); + this.Resize += new System.EventHandler(this.MainForm_Resize); this.groupBox1.ResumeLayout(false); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); @@ -360,5 +374,7 @@ private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.NotifyIcon notifyIcon1; + private System.Windows.Forms.Timer gather; + private System.Windows.Forms.ContextMenuStrip trayMenu; } } \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index dbc5820..f21a5ba 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -7,8 +7,12 @@ using System.Windows.Forms; using MTC; using NLog; +using NLog.Config; +using NLog.Targets; using System; +using System.Drawing; using System.Threading; +using System.Configuration; namespace MTC_ADB { @@ -48,13 +52,88 @@ namespace MTC_ADB lastStartTry = DateTime.Now; // fix icon! - //Icon = Icon.ExtractAssociatedIcon(defIconFilePath); - //notifyIcon1.Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + notifyIcon1.Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + + // fix versione! + lblApp.Text = string.Format("{0}", ConfigurationManager.AppSettings.Get("appName")); + lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version); + + startTimerMs = utils.CRI("startTimerMs"); + +#if DEBUG + // Setup the logging view for Sentinel - http://sentinel.codeplex.com + var sentinalTarget = new NLogViewerTarget() + { + Name = "sentinal", + Address = "udp://127.0.0.1:9999", + IncludeNLogData = false + }; + var sentinalRule = new LoggingRule("*", LogLevel.Trace, sentinalTarget); + LogManager.Configuration.AddTarget("sentinal", sentinalTarget); + LogManager.Configuration.LoggingRules.Add(sentinalRule); + +#endif + LogManager.ReconfigExistingLoggers(); + + lg = LogManager.GetCurrentClassLogger(); + displayTaskAndWait("Starting MainForm"); - lblApp.Text = baseUtils.CRS("appName"); + // se abilitato autoload conf leggo file corretto... + if (utils.CRB("autoLoadConf")) + { + //loadXmlFile(defConfFilePath); + lg.Info("XML LOADED"); + //loadPersistLayer(defPersLayerFile); + lg.Info("PersLayerFile READ"); + //agObj.loadPersData(); + lg.Info("PersLayerFile LOADED"); + } + else + { + //// definisco e avvio tipo adapter generico + //tipoScelto = tipoAdapter.ND; + //adpConf = new AdapterConf(); + //loadAdapterType(); + displayTaskAndWait("Waiting for config file selection"); + } - normCount = baseUtils.CRI("normCount"); + // Start timer periodico + gather.Interval = utils.CRI("timerIntMs"); + gather.Enabled = true; + + displayTaskAndWait("Running"); + createTrayMenu(); + displayTaskAndWait("Tray Menu OK"); + + // avvio minimizzato se richiesto + if (utils.CRB("startMinimized")) + { + // imposto minimized se necessario! + if (WindowState != FormWindowState.Minimized) + { + WindowState = FormWindowState.Minimized; + } + displayTaskAndWait("Minimized"); + } + + displayTaskAndWait("Main Form OK"); + } + /// + /// Verifica finale a fine show... + /// + /// + /// + private void MainForm_Shown(object sender, EventArgs e) + { + // avvio minimizzato se richiesto + if (utils.CRB("startMinimized")) + { + // controllo e mando a tray... + sendToTray(); + } + displayTaskAndWait("Main Form SHOWN"); } /// /// mostra un testo sulla status bar ed attende startTimerMs @@ -67,8 +146,120 @@ namespace MTC_ADB Thread.Sleep(startTimerMs); } + /// + /// crea menù tray x applicazione + /// + private void createTrayMenu() + { + // Fix testi menù tray... + trayMenu.Items.Clear(); + // SE permessa massimizzazione... + if (utils.CRB("windowCanMax")) + { + trayMenu.Items.Add("Show MTC-ADB"); + } + // se è permesso tray close... + if (utils.CRB("trayClose")) + { + trayMenu.Items.Add("Close MTC-ADB"); + } + } + /// + /// doppio click su tray icon + /// + /// + /// + private void notifyIcon1_DoubleClick(object sender, EventArgs e) + { + // SOLO SE PERMESSO mostrare full... + if (utils.CRB("windowCanMax")) + { + Show(); + WindowState = FormWindowState.Normal; + } + } + /// + /// evento resize + /// + /// + /// + private void MainForm_Resize(object sender, EventArgs e) + { + checkFormVisibility(); + } + /// + /// Verifica stato windows (minimized/normal) e visibilità con tray... + /// + private void checkFormVisibility() + { + // se non può massimizzare imposto COMUNQUE a minimized... + if (!utils.CRB("windowCanMax")) + { + WindowState = FormWindowState.Minimized; + } + // controllo cosa devo mostrare... + if (WindowState == FormWindowState.Minimized) + { + sendToTray(); + } + else + { + notifyIcon1.Visible = false; + } + } + /// + /// Gestisce "andata nel tray" della form + /// + private void sendToTray() + { + if (!notifyIcon1.Visible) + { + notifyIcon1.BalloonTipTitle = utils.CRS("appName"); + notifyIcon1.BalloonTipText = string.Format("{0} running on tray", utils.CRS("appName")); + notifyIcon1.Visible = true; + notifyIcon1.ShowBalloonTip(100); + } + Hide(); + } + /// + /// click su menù contestuale in tray + /// + /// + /// + private void trayMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + if (e.ClickedItem.Text.StartsWith("Close")) + { +#if false + // stop adapter... + closeAdapter(); +#endif + // chiudo! + Close(); + } + else if (e.ClickedItem.Text.StartsWith("Show")) + { + if (utils.CRB("windowCanMax")) + { + Show(); + WindowState = FormWindowState.Normal; + } + } + + } + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + closeAdapter(); + } + + private void closeAdapter() + { +#if false + fermaTutto(true, false); +#endif + } /// /// File persistenza generale /// @@ -83,7 +274,7 @@ namespace MTC_ADB { get { - return string.Format(@"{0}\MTCA.ico", utils.resxDir); + return string.Format(@"{0}\MTCADB.ico", utils.resxDir); } } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx index 94ad897..02eaa9d 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.resx +++ b/MTC_Adapter/MTC-ADB/MainForm.resx @@ -123,4 +123,10 @@ 133, 17 + + 246, 17 + + + 333, 17 + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/NLog.config b/MTC_Adapter/MTC-ADB/NLog.config index 7a0f3aa..697e7b7 100644 --- a/MTC_Adapter/MTC-ADB/NLog.config +++ b/MTC_Adapter/MTC-ADB/NLog.config @@ -4,38 +4,53 @@ xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" - internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> + internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" > - - - - - + + - + diff --git a/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs b/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs index 5900b27..2b1cb73 100644 --- a/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs +++ b/MTC_Adapter/MTC-ADB/Properties/AssemblyInfo.cs @@ -8,9 +8,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("MTC-ADB")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MTC-ADB")] -[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -28,9 +26,3 @@ using System.Runtime.InteropServices; // Versione secondaria // Numero di build // Revisione -// -// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build -// usando l'asterisco '*' come illustrato di seguito: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MTC_Adapter/MTC-ADB/Resources/MTCADB.ico b/MTC_Adapter/MTC-ADB/Resources/MTCADB.ico new file mode 100644 index 0000000000000000000000000000000000000000..6ed8df838101bfffc7b703bfb468e9108f5c3f47 GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYI*xFHzKA7O-%kr9KLnHiIo zrWTi`rY4KHxHvEbxEUE3oPk&f$QA`+1t6OlNQ*HrF|ja;2yilTa~m>nu`@8pNK1=x za&k7av$G!r;&}oB0>*dNd-va3A2jvwf*|F4n?vGnZ3vyQZ%&}v!`-Rz_qHc2JiR>3 z?b$Y8hTAKxY@=Nz_KEVde&OfmThGD4@f2vr@rUc3Ufy5t_Ws-wFSmyqy^cQI=>7lf z60giBJE9jn*&hD?%9^nJ7kd&IuB?kmXe|!1?c{`8w*WeUR!AS z_RL&|oEwX+Uf)_~_y6o1>m@f-Y((V80dCo2~bQO#A=)CfF3-S>?xY zVM$QZ+~$b?g_$W|;^X6IIXXJt1iIny<{GURTN@1j>}a?7ytz*Q*tRySf?XZ9Kle}c z{M!S>#J|bBlxAJUsLH`1p($WNExun5FT5QI6*S zc{w^$mX%rPEGssBwxZPR|B6!c|MQEjCeAN*Xj)P2ylYLZ!~a<+%1>GXM3%OOD}}Ce zXJD8dZ+v}flKH!7Db}z06D>m*mU(l`%y8HO@N1M#Y6maYk*4aVtWRLH62Adv-5%tyTZ)%oBR!VfDz9yryx|ZE6mJbR&J2qgk(4Q z>6t!SeKEEMjh - /// formatta un numero in forma binaria 0/1 - /// - /// - /// - public static string binaryForm(int valore) - { - string answ = ""; - try - { - answ = string.Format(new BinaryFormatter(), "{0:B}", valore); - } - catch - { } - return answ; - } /// /// folder archiviazione dati configurazione (DATA\CONF) /// diff --git a/MTC_Adapter/MTC/baseUtils.cs b/MTC_Adapter/MTC/baseUtils.cs index 66e829a..5d5e246 100644 --- a/MTC_Adapter/MTC/baseUtils.cs +++ b/MTC_Adapter/MTC/baseUtils.cs @@ -120,7 +120,6 @@ namespace MTC { return ((value & flag) != 0); } -#if false /// /// formatta un numero in forma binaria 0/1 /// @@ -137,7 +136,6 @@ namespace MTC { } return answ; } -#endif /// /// imposta un bit al valore richiesto duplicando il valore IN come OUT /// diff --git a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj index cb32008..b6595fa 100644 --- a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj +++ b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj @@ -230,14 +230,10 @@ - - - - @@ -250,7 +246,6 @@ Always - Always @@ -271,8 +266,6 @@ - - diff --git a/MTC_Adapter/MTC_Adapter/MainForm.cs b/MTC_Adapter/MTC_Adapter/MainForm.cs index c70c0c8..6225882 100644 --- a/MTC_Adapter/MTC_Adapter/MainForm.cs +++ b/MTC_Adapter/MTC_Adapter/MainForm.cs @@ -10,16 +10,16 @@ using System.Drawing; using System.Threading; using System.Windows.Forms; using NLog; +using MTC; +using NLog.Config; +using NLog.Targets; +using System.Collections; +using System.Configuration; +using System.Diagnostics; +using System.IO; namespace MTC_Adapter { - using MTC; - using NLog.Config; - using NLog.Targets; - using System.Collections; - using System.Configuration; - using System.Diagnostics; - using System.IO; public partial class MainForm : Form { diff --git a/MTC_Adapter/MTC_Adapter/utils.cs b/MTC_Adapter/MTC_Adapter/utils.cs index b327ba0..031a016 100644 --- a/MTC_Adapter/MTC_Adapter/utils.cs +++ b/MTC_Adapter/MTC_Adapter/utils.cs @@ -5,22 +5,6 @@ namespace MTC_Adapter { public class utils : MTC.baseUtils { - /// - /// formatta un numero in forma binaria 0/1 - /// - /// - /// - public static string binaryForm(int valore) - { - string answ = ""; - try - { - answ = string.Format(new BinaryFormatter(), "{0:B}", valore); - } - catch - { } - return answ; - } /// /// folder archiviazione dati configurazione (DATA\CONF) /// diff --git a/MTC_Adapter/VersGen/VersGen.cs b/MTC_Adapter/VersGen/VersGen.cs index 59f5edc..849873e 100644 --- a/MTC_Adapter/VersGen/VersGen.cs +++ b/MTC_Adapter/VersGen/VersGen.cs @@ -5,7 +5,7 @@ using System.Reflection; -[assembly: AssemblyVersion("1.4.9999.125")] -[assembly: AssemblyFileVersion("1.4.9999.125")] +[assembly: AssemblyVersion("1.5.9999.129")] +[assembly: AssemblyFileVersion("1.5.9999.129")] [assembly: AssemblyCopyright("Steamware-CMS-SCM © 2015-2017")] [assembly: AssemblyCompany("Steamware-CMS-SCM")] diff --git a/MTC_Adapter/VersGen/VersGen.tt b/MTC_Adapter/VersGen/VersGen.tt index 3723919..4407f01 100644 --- a/MTC_Adapter/VersGen/VersGen.tt +++ b/MTC_Adapter/VersGen/VersGen.tt @@ -6,8 +6,8 @@ using System.Reflection; -[assembly: AssemblyVersion("1.4.9999.<#= this.RevisionNumber #>")] -[assembly: AssemblyFileVersion("1.4.9999.<#= this.RevisionNumber #>")] +[assembly: AssemblyVersion("1.5.9999.<#= this.RevisionNumber #>")] +[assembly: AssemblyFileVersion("1.5.9999.<#= this.RevisionNumber #>")] [assembly: AssemblyCopyright("Steamware-CMS-SCM © 2015-<#= DateTime.Now.Year #>")] [assembly: AssemblyCompany("Steamware-CMS-SCM")] <#+ From 19cebf2faeda23d99e16205f1b8a5c6ed266e888 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 14:34:55 +0200 Subject: [PATCH 09/29] corretto comportamento minimizeOnTray x form (anche adapter base...) --- MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 2 +- MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 4 +- MTC_Adapter/MTC-ADB/MainForm.cs | 510 +++++++++++++++++- MTC_Adapter/MTC-ADB/MainForm.resx | 6 +- .../Resources/{MTCADB.ico => MTCA.ico} | Bin MTC_Adapter/MTC_Adapter/MainForm.cs | 1 + 6 files changed, 501 insertions(+), 22 deletions(-) rename MTC_Adapter/MTC-ADB/Resources/{MTCADB.ico => MTCA.ico} (100%) diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 7bfbf7f..97596d6 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -63,7 +63,7 @@ - + Always diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index e6202e0..c6e0bc8 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -310,8 +310,10 @@ // // notifyIcon1 // - this.notifyIcon1.Text = "notifyIcon1"; + this.notifyIcon1.ContextMenuStrip = this.trayMenu; + this.notifyIcon1.Text = "MTC ADB"; this.notifyIcon1.Visible = true; + this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick); // // trayMenu // diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index f21a5ba..21326f0 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -4,15 +4,19 @@ * Based on data, code and example by MTC consortium & System Insights, Inc. * * */ -using System.Windows.Forms; -using MTC; -using NLog; -using NLog.Config; -using NLog.Targets; using System; +using System.Collections.Generic; using System.Drawing; using System.Threading; +using System.Windows.Forms; +using NLog; +using MTC; +using NLog.Config; +using NLog.Targets; +using System.Collections; using System.Configuration; +using System.Diagnostics; +using System.IO; namespace MTC_ADB { @@ -201,6 +205,7 @@ namespace MTC_ADB // controllo cosa devo mostrare... if (WindowState == FormWindowState.Minimized) { + notifyIcon1.Visible = false; sendToTray(); } else @@ -232,10 +237,8 @@ namespace MTC_ADB { if (e.ClickedItem.Text.StartsWith("Close")) { -#if false // stop adapter... - closeAdapter(); -#endif + closeAdapter(); // chiudo! Close(); } @@ -249,16 +252,14 @@ namespace MTC_ADB } } - private void MainForm_FormClosing(object sender, FormClosingEventArgs e) - { - closeAdapter(); - } - private void closeAdapter() + + protected string defConfFilePath { -#if false - fermaTutto(true, false); -#endif + get + { + return string.Format(@"{0}\{1}", utils.confDir, utils.CRS("defaultConfFile")); + } } /// /// File persistenza generale @@ -274,8 +275,483 @@ namespace MTC_ADB { get { - return string.Format(@"{0}\MTCADB.ico", utils.resxDir); + return string.Format(@"{0}\MTCA.ico", utils.resxDir); } } + + /// + /// carica adapter richiesto + /// + private void loadAdapterType() + { +#if false + switch (tipoScelto) + { + case tipoAdapter.DEMO: + agObj = new AdapterDemo(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], true); + EnableTab(tabCtrlMain.TabPages[2], true); + start.Enabled = true; + break; + case tipoAdapter.ESAGV: + agObj = new AdapterESA(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], true); + EnableTab(tabCtrlMain.TabPages[2], false); + start.Enabled = true; + break; + case tipoAdapter.FANUC: + agObj = new AdapterFanuc(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], true); + EnableTab(tabCtrlMain.TabPages[2], false); + start.Enabled = true; + break; + case tipoAdapter.OSAI: + agObj = new AdapterOsai(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], true); + EnableTab(tabCtrlMain.TabPages[2], false); + start.Enabled = true; + break; + case tipoAdapter.SIEMENS: + agObj = new AdapterSiemens(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], true); + EnableTab(tabCtrlMain.TabPages[2], false); + start.Enabled = true; + break; + case tipoAdapter.ND: + default: + agObj = new AdapterDemo(this, adpConf); + EnableTab(tabCtrlMain.TabPages[1], false); + EnableTab(tabCtrlMain.TabPages[2], false); + start.Enabled = false; + break; + } + lblCurrAdapt.Text = string.Format("Adapter loaded: {0}", tipoScelto.ToString().ToUpper()); + + // carico i default values su interfaccia + setDefaults(); + + displayTaskAndWait(string.Format("Caricata conf per adapter {0}", tipoScelto)); +#endif + } + + /// + /// impostazione valori defaults + /// + private void setDefaults() + { + MainProgrBar.Minimum = 0; + MainProgrBar.Maximum = 1000; + MainProgrBar.Value = 0; + MainProgrBar.Step = 1; + } + + /// + /// Avvio dell'adapter + /// + /// + /// + private void start_Click(object sender, EventArgs e) + { + avviaAdapter(); +#if false + agObj.loadPersData(); +#endif + // salvo che ho avviato adapter + lg.Info("Completato LOAD Adapter"); + } + + public void avviaAdapter() + { + displayTaskAndWait("Adapter starting"); + +#if false + int porta = Convert.ToInt32(port.Text); + agObj.startAdapter(porta); + displayTaskAndWait("Adapter started!"); + + // fix buttons start/stop/dump + start.Enabled = false; + stop.Enabled = true; + dump.Enabled = true; + if (utils.CRB("openDumpOnStart")) + { + displayTaskAndWait("Dump Window starting"); + apriDumpAgent(); + displayTaskAndWait("Dump Windows OK"); + } + + displayTaskAndWait("Start Timers"); + // inizializzo contatori fast/mid/slow + fastCount = utils.CRI("fastCount"); + normCount = utils.CRI("normCount"); + slowCount = utils.CRI("slowCount"); + alarmSyncCount = utils.CRI("alarmSyncCount"); + displayTaskAndWait("Adapter Running..."); + // forzo check allarmi.. + agObj.forceAlarmCheck(); +#endif + } + + /// + /// fermata dell'adapter + /// + /// + /// + private void stop_Click(object sender, EventArgs e) + { + fermaAdapter(false); + // salvo che ho fermato adapter + lg.Info("UNLOAD Adapter"); + } + /// + /// Ferma l'adapter + /// + /// determina se si debba tentare riavvio automatico (per caduta connessione) + public void fermaAdapter(bool tryRestart) + { + fermaTutto(false, tryRestart); + } + + private void gather_Tick(object sender, EventArgs e) + { +#if false + // eseguo cicli attivi SOLO se adapter è in EFFETTIVO running... + if (agObj.adpRunning) + { + // inizio a riportare che sto eseguendo.. + advProgBar(); + if (agObj.connectionOk) + { + // check esecuzione FastTask + checkFastTask(); + // check esecuzione NormTask + checkNormTask(); + // check esecuzione SlowTask + checkSlowTask(); + // check esecuzione AlarmSync + checkAlarmSync(); + } + else + { + double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; + if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) + { + lastStartTry = DateTime.Now; + agObj.tryConnect(); + agObj.loadPersData(); + } + } + // se è arrivato a MAX resetto... + if (MainProgrBar.Value >= MainProgrBar.Maximum) + { + MainProgrBar.Value = 0; + } + } + else + { + // verifico SE debba tentare il riavvio, ovvero NON running ma tryReconn e non ho riprovato x oltre waitRecMSec + double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; + if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) + { + lastStartTry = DateTime.Now; + avviaAdapter(); + agObj.loadPersData(); + } + } +#endif + } + + public void resetProgBar() + { + MainProgrBar.Value = 0; + } + + private void checkAlarmSync() + { + +#if false + alarmSyncCount--; + if (alarmSyncCount <= 0) + { + alarmSyncCount = utils.CRI("alarmSyncCount"); + + // avvio fase raccolta dati e invio con adapter + agObj.gaterAndSend(gatherCycle.VLF); + } +#endif + } + private void checkSlowTask() + { +#if false + slowCount--; + if (slowCount <= 0) + { + slowCount = utils.CRI("slowCount"); + + // avvio fase raccolta dati e invio con adapter + agObj.gaterAndSend(gatherCycle.LF); + + // refresh stringhe code M/S/T + refreshCodeMST(); + + // effettua salvataggio del file di conf con i valori ATTUALI dei parametri ove applicabile/aggiornati (es ore utilizzo, KM assi percorsi...) --> sia file corrente che file "history" + persistData(); + } +#endif + } + + /// + /// file persistenza generale + /// + public string histPersLayerFile + { + get + { + return string.Format(@"{0}\{1:yyyy}\{1:yyyy-MM-dd}.mtc", utils.dataDatDir, DateTime.Now); + } + } + /// + /// file persistenza generale data attuale ANTICIPATA di xx giorni + /// + /// num DD di anticipo + /// + public string prevPersLayerFile(int numDD) + { + return string.Format(@"{0}\{1:yyyy}\{1:yyyy-MM-dd}.mtc", utils.dataDatDir, DateTime.Now.AddDays(-numDD)); + } + /// + /// salva i valori attuali del file di conf sia in file corrente che in cartella valori storici + /// + public void persistData() + { + // salvo ogni "autoSaveSec" secondi dall'ultimo salvataggio... + TimeSpan tempoMod = new TimeSpan(0); + if (File.Exists(defPersLayerFile)) + { + DateTime adesso = DateTime.Now; + tempoMod = DateTime.Now.Subtract(File.GetLastWriteTime(defPersLayerFile)); + } + if (tempoMod.TotalSeconds > utils.CRI("autoSaveSec")) + { + savePersistLayer(defPersLayerFile); + savePersistLayer(histPersLayerFile); + } + } + + private void checkNormTask() + { + + // decremento... + normCount--; + // se il counter è a zero eseguo... + if (normCount <= 0) + { + normCount = utils.CRI("normCount"); + +#if false + // avvio fase raccolta dati e invio con adapter + agObj.gaterAndSend(gatherCycle.MF); +#endif + } + } + /// + /// Avanza la barra di stato... + /// + public void advProgBar() + { + try + { + MainProgrBar.PerformStep(); + } + catch + { } + } + + private void checkFastTask() + { +#if false + // decremento... + fastCount--; + // se il counter è a zero eseguo... + if (fastCount <= 0) + { + fastCount = utils.CRI("fastCount"); + + // avvio fase raccolta dati e invio con adapter + agObj.gaterAndSend(gatherCycle.HF); + + refreshVisualStrobes(); + } +#endif + } + + private void message_Leave(object sender, EventArgs e) + { + } + + // apro eseguibile dump + private void dump_Click(object sender, EventArgs e) + { + apriDumpAgent(); + } + /// + /// apre agent di dump in CMD + /// + private static void apriDumpAgent() + { + string path = Application.StartupPath; + try + { + Process.Start(string.Format(@"{0}\..\..\dump\dump.exe", path)); + } + catch + { + Process.Start(string.Format(@"{0}\dump\dump.exe", path)); + } + } + + + /// + /// Carica file XML della configurazione richiesta + /// + /// + private void loadXmlFile(string XmlConfFile) + { +#if false + displayTaskAndWait(string.Format("Loading XML: {0}", XmlConfFile)); + + // Read the configuration object from a file + adpConf = AdapterConf.Deserialize(XmlConfFile); + + // indico quale sia il tipo di adapter + tipoScelto = adpConf.TipoAdapt; + loadAdapterType(); + // carico file XML in web browser... + wbXmlConf.DocumentText = AdapterConf.rawXml(XmlConfFile); + displayTaskAndWait("XML loaded"); + + // avvio macchina con adapter specificato... + if (utils.CRB("autoStartOnLoad")) + { + displayTaskAndWait("Auto Starting..."); + // avvio! + avviaAdapter(); + displayTaskAndWait("Auto Started!"); + } +#endif + } + /// + /// salva su file l'oggetto AdapterConf + /// + /// + public void saveXmlFile(string XmlConfFile) + { +#if false + AdapterConf.Serialize(XmlConfFile, agObj.currAdpConf); +#endif + } + /// + /// Salva su file l'oggetto di persistenza dati + /// + /// + public void savePersistLayer(string filePath) + { +#if false + // in primis check semaforo salvataggio... + if (!agObj.adpSaving) + { + // alzo semaforo salvataggio + agObj.adpSaving = true; + // se HO dei dati... + if (agObj.persistenceLayer != null) + { + try + { + utils.WritePlain(agObj.persistenceLayer, filePath); + } + catch (Exception exc) + { + lg.Error(string.Format("Errore salvataggio file{0}{1}", Environment.NewLine, exc)); + } + } + else + { + lg.Info("persistenceLayer null, non salvato..."); + } + // abbasso semaforo salvataggio + agObj.adpSaving = false; + } +#endif + } + /// + /// Carica da file l'oggetto di persistenza dati + /// + /// + public void loadPersistLayer(string filePath) + { +#if false + // inizializzo prima di leggere... + agObj.persistenceLayer = new Dictionary(); + agObj.persistenceLayer = utils.ReadPlain(filePath); + + // 2017.03.23 check problema files corrotti... + if (agObj.persistenceLayer.Count == 0) + { + // se avesse letto un valore NON coerente (senza righe) PROVA a leggere a ritroso vecchi files... da histPersLayerFile e precedenti... + int numDD = 0; + int maxNumDD = utils.CRI("maxNumDD"); + Dictionary lastRead = new Dictionary(); + // continuo fino a che non leggo almeno 1 riga valida e non ho raggiunto maxDD + while (numDD < maxNumDD && lastRead.Count == 0) + { + // leggo il file storico alla data anticipata... (ci provo...) + try + { + lastRead = utils.ReadPlain(prevPersLayerFile(numDD)); + } + catch + { } + numDD++; + } + // se sono uscito PROVO a passare il file storico letto buono (oppure vuoto...) + agObj.persistenceLayer = lastRead; + } +#endif + } + + + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + closeAdapter(); + } + + private void closeAdapter() + { + fermaTutto(true, false); + } + /// + /// Ferma tutti i componenti adapter + update buttons + /// + /// determina se fermare il timer (gather) principale (solo se non si chiude) + /// determina se tentare di riconnettersi + private void fermaTutto(bool stopTimer, bool tryRestart) + { +#if false + agObj.stopAdapter(tryRestart); + // salvo! + savePersistLayer(defPersLayerFile); + savePersistLayer(histPersLayerFile); + + stop.Enabled = false; + dump.Enabled = false; + start.Enabled = true; + + if (stopTimer) + { + gather.Enabled = false; + agObj.tryDisconnect(); + } +#endif + } } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx index 02eaa9d..a504968 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.resx +++ b/MTC_Adapter/MTC-ADB/MainForm.resx @@ -123,10 +123,10 @@ 133, 17 - - 246, 17 - 333, 17 + + 246, 17 + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/Resources/MTCADB.ico b/MTC_Adapter/MTC-ADB/Resources/MTCA.ico similarity index 100% rename from MTC_Adapter/MTC-ADB/Resources/MTCADB.ico rename to MTC_Adapter/MTC-ADB/Resources/MTCA.ico diff --git a/MTC_Adapter/MTC_Adapter/MainForm.cs b/MTC_Adapter/MTC_Adapter/MainForm.cs index 6225882..dfc98fa 100644 --- a/MTC_Adapter/MTC_Adapter/MainForm.cs +++ b/MTC_Adapter/MTC_Adapter/MainForm.cs @@ -266,6 +266,7 @@ namespace MTC_Adapter // controllo cosa devo mostrare... if (WindowState == FormWindowState.Minimized) { + notifyIcon1.Visible = false; sendToTray(); } else From ffc7de22f354b34d9e16054463619b1e7e78712c Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 16:11:07 +0200 Subject: [PATCH 10/29] install componenti MySql --- MTC_Adapter/MTC-ADB/packages.config | 1 + MTC_Adapter/packages/MySql.Data.6.9.9/CHANGES | 77 ++++++++++++++++++ .../MySql.Data.6.9.9/MySql.Data.6.9.9.nupkg | Bin 0 -> 350894 bytes .../packages/MySql.Data.6.9.9/Readme.txt | 15 ++++ .../content/app.config.transform | 9 ++ .../content/web.config.transform | 9 ++ .../MySql.Data.6.9.9/lib/net40/MySql.Data.dll | Bin 0 -> 424448 bytes .../MySql.Data.6.9.9/lib/net45/MySql.Data.dll | Bin 0 -> 424448 bytes 8 files changed, 111 insertions(+) create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/CHANGES create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/MySql.Data.6.9.9.nupkg create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/Readme.txt create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/content/app.config.transform create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/content/web.config.transform create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/lib/net40/MySql.Data.dll create mode 100644 MTC_Adapter/packages/MySql.Data.6.9.9/lib/net45/MySql.Data.dll diff --git a/MTC_Adapter/MTC-ADB/packages.config b/MTC_Adapter/MTC-ADB/packages.config index d0de60d..03c90f5 100644 --- a/MTC_Adapter/MTC-ADB/packages.config +++ b/MTC_Adapter/MTC-ADB/packages.config @@ -1,5 +1,6 @@  + diff --git a/MTC_Adapter/packages/MySql.Data.6.9.9/CHANGES b/MTC_Adapter/packages/MySql.Data.6.9.9/CHANGES new file mode 100644 index 0000000..cf22875 --- /dev/null +++ b/MTC_Adapter/packages/MySql.Data.6.9.9/CHANGES @@ -0,0 +1,77 @@ +6.9.9 +- Fix for Nested transactions are not supported in Entity Framework (MySQL Bug #71502, Oracle Bug #22366266). +- Fix for EF5 and EF6 wrong SQL statement to set primary key (MySQL Bug 76292, Oracle Bug #20711384) +- Fixed problem where mysql.proc tables would not be used for metadata even though access was available (MySQL Bug #74116, Oracle Bug #20960373) +- Added support for TLSv1.1 and TLSv1.2 +- Fixed Fix for "Aborted connection" (MySQL Bug #80997, Oracle Bug # 23346197). + + +6.9.8 +- Added support for Chinese character set gb18030. (Oracle bug # 21098546). +- Added support for Json type. (WL # 8132). +- Added changes for metadata information in generated columns with 5.7 (WL #411) + +6.9.7 +- Changed default SSL mode to Preferred in connection string. Now the server connections will be using SSL if server allows it by default but it's possible to override this configuration. +- Changed handshake process to use bytes instead of encoded strings. +- Fix for Fabric connections (Oracle Bug #20983968). +- Fix for Fabric plugin: fabric server selection is broken when master is faulty (Oracle Bug #21203824). + + +6.9.6 +- Fix for Incorrect query result with Entity Framework 6 (MySql bug #74918, Oracle bug #20129927). +- Fix for GetTimeZoneOffset to use date and time to calculate timediff (MySQL Bug #74905, Oracle Bug #20065691). +- Fix for MySqlSimpleMembershipProvider keeps database connections open on some operations (MySQL Bug #74662, Oracle Bug #20109419) +- Fix for Any Call to RoleExists() returns true whether or not the role exists (MySql bug #75397, Oracle bug #20325391). +- Fix for all dateTimes set as UTC Kind (MySQL Bug #74134, Oracle Bug #20200662). +- Fix for Invalid SQL query when eager loading two nested collections (MySQL Bug #70941, Oracle bug #18049862). +- Fix for chinese characters used in the connection string when connecting to MySql Server (MySQL Bug #70041, Oracle Bug #18141356). + + + +6.9.5 +- Disabled installation on-demand in Installer (Oracle Bug #19670596). +- Fix for Generated SQL requests column that doesn't exist in LINQ to Entities (MySql bug #72004, Oracle bug #19681348). +- Fix for MySQL Connector/NET generates incorrect SQL for LINQ 'StartsWith' queries (MySql bug #72058, Oracle bug #19680236). +- Fix for Exception when using IEnumerable.Contains(model.property) in Where predicate (MySql bug #73643, Oracle bug #19690370). +- Fix for Generated Sql does not contain ORDER BY statement whose is requested by LINQ (MySql bug #73549, Oracle bug #19698010). +- Fix for Web providers registration in machine.config (removed v20 suffix) (MySQL Bug #74080, Oracle Bug #19715398) +- Fix for Error of "Every derived table must have an alias" in LINQ to Entities when using EF6 + DbFirst + View + Take + (MySql Bug #72148, Oracle bug #19356006). +- Fix for 'the method or operation is not implemented' when using linq with orderby (MySQL Bug #70722, Oracle Bug #19681723). +- Fix for Exception "The given key was not present in the dictionary" when using utf16le charset in a query. (MySql #72737, Oracle Bug #19355906) +- Fix for Memory leak in a loop opening a connection to the database and executing a command (MySql Bug #73122, Oracle Bug #19467233). +- Fix for Multiple issues caused by trailing and leading white space character in params using MySql Membership Provider (MySql Bug #73411, Oracle Bug #19453313) +- Fix for bad assumption leads to modify query adding CALL statement to the beginning of the sql query even when CommandType.Text is specified (MySql Bug #72736, Oracle Bug #19325120). + + +6.9.4 +- Added a new plugin for MySql Fabric 1.5 support + + +6.9.3 +- Fix for Web Parts Personalization provider +- Fix for changing the PK between two int columns (MySql Bug #71418, Oracle bug #18923294). +- Fix for Error when Calling MySqlConnection.GetSchema("PROCEDURES WITH PARAMETERS", ...) (Oracle bug #19285959). +- Fix for EF provider reports ManifestProviderToken = 5.6 for server 5.7 (Oracle bug #19453814). +- Fix for Fluent API DbModelBuilder.HasColumnType is ignored in EF6 (Oracle bug #19456229). +- Fix for Setting a PK GUID identity in Code First in EF6 no longer works in Server 5.7 (Oracle bug #19456452). +- Non PKs declared as Identity GUID have no GUID autogenerated (Oracle bug #19456415). + + +6.9.2 +- Add async/await compatible methods +- Fix for Unable to read geometry column when it has been set with a SRID value. (MySql Bug #71869, Oracle Bug #19137999) +- Fix for Exception adding a new column to an existing model as identity and PK fails when applying the migration (MySql Bug #71418, Oracle bug #18923294). +- Added SiteMap and Personalization configuration web providers to MySql.Web Nuget Package. + + +6.9.1 +- Fix for Exception of "duplicate entry" in MySqlSessionProvider (MySql Bug #70409, Oracle bug #18657550). + + +6.9.0 +- Added implementation of MySQLPersonalizationProvider. +- Added SiteMap Web provider. +- Added Simple Membership Web Provider. +- Fix for open sockets connections left when connection open fails, the error happens when the client try to get a connection when the max number of connections is reached in the server. (MySql #72025, Oracle Bug #18665388). diff --git a/MTC_Adapter/packages/MySql.Data.6.9.9/MySql.Data.6.9.9.nupkg b/MTC_Adapter/packages/MySql.Data.6.9.9/MySql.Data.6.9.9.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..a314a13bcdcaaeba2cf258ddac499ecfac2e3625 GIT binary patch literal 350894 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

TIkaLmkEs?IC7yUh;J%wR(kR1EC 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%0Dh`(f&6w!u04T}p9dk&A>_p%B&-7@q6Z)r zLVALb0z!s^ki!siR1*>ovw&p*T`@H+bI#JtIUF;W0@jtN?1>!3(=N zfP5j}`gR!SET6vlv-gB{<8MXw?og(XF6OQFVxmLdVWR-5UW@&7Fge_}VFIlh6D>v) ztt_*(C+ypOkR3Hba>!cNNpj}^X0NFGN0`P&B8uvr0Q^bFY%OufG zLBOd~OI$j&#D=MW&rYrK?^8?scq-uKsZ|CeQvjopDT6$9DxeC0iS@_?oW5mh6aN-z z65@M)y!MXkTp|D%;u|E929E$U z?nmqSMx^dd#Q$zFf_Ib;oHgxfI~?_N>);z3>dz)@d*=<~&eoGxB6!iCTL z*rVSc{St|2Fb* z0v_xG@$(BKn+bS~55#M{N8V1r*LuLh<+;nX+EPEcI=5P@UEn8|OL$vjOo&hx@u&9n5e3$H%tIDO!A zmwbIG&fJ{`KNTPSBGC>(qj+z^$SahdyuDE$y`G|*Pl;STx}Kugz$m^0I`RWbA9~Wy zK8rKcr=0M?;$lu0j~Tg-G8KLQua3TlqO0c)KUTazA1HmS@cYF~$nVTV$RD>7^66GW z{;rjfdbEX*-O(08&WW}Vax~gP$P=S2ggiakLP((lE)w>H>~<*V$ZWDnVgCSo6w(2< zD8vI(n)lY9DlO0?^bbN?7PaL~$;6SrUVAvNub*BMI_~hBh+b>gUza`TP<`NrcRrE8 ziF%^ztH$U(DrO;Q^cmRpM;;4fdcT)HH*54iWUtn!j9FiytRp`B{ z1C8Qc8YA1N$ZuXs95Z?{)y{AF=&_?ivWLm&`?1tjRO*kjpFRuG`OudxI}sb~{Q2q= zM|V(z2patc_IWZDeW$$OtkEvnt2KHUzO^xrvJSalS%I~GTfAf0=&Onc8hsDePEwKc z59_;VbYB|hLx(gjA3cc(gESg_9hUkPWu1B6yYCc)y7Swq8xXU1PeiZ7wokoapSO>$ zqV5qidMplt3HSbV{QA*^?A03m0%mQdtOxHu{T8e}cwpc9(bcjC8pRtHN3NhE#^l^P zMt4x3XPn!)Y4n(ohso$9mU;t~dQ;}i2N9ij{#O42Hn{MEC*3vrQ7Vd{(OXEUQPDGA z{KEsI3B{{5`gN3=amt#w^-Dj*+FRBRJv@4Z?14t_!y><+DvfK*M@BbL*0JgxkB%A? zeccOJKQU@!sV}1=wzkY;>jjVFU_VO0)jsfh2;4+K)NB~|RRms3z>|I8ClPoN0k80@ zZ$scx0$%R}*CX&~0>0A+UXH*a0>0M=u0&uj0YB^m*C0?Q;5|O@3vDr-Gr{A@|tbE=-%2*9Km|GIll-&t{_8zU;v7spgAR zvpuWe?b`#t1B|i`CQ{h}oCSy~nFw^iak(36V07S*0?;p_>1|u+X#^g-ExeNqYR0zfhJdUuA{axjvlu+(eF+4i@f4}uVWj8 zv&r{_eVAI|sPLsA)_bCQzD=oC!FboJ8&Dz1<-=qF#u945H1Otgvt7-ZhMiFH18ioD zOB-|m(S$-_Q0UuLH1pr*(?iX7DhYM0dIP$IG_3k&bPp)COae?J^oS{${mJ>GB~-=z zsni6BZ-Ac&`0mf&-9A#*HbnJ8hnhKqN~oE+?1|c6&zw;-_00aou%4MUZ21Lr;rtR2 z`Y@(ay4Rz{u@JiCe`!bG8xq%X{|nu2MYU^e*ifq1Xm~xI`mpyH+E!OruR{NbS6+8P zW7V{E9q1WBzlh`eMX>JbX^s)JS(n4C9ROu|J)0FL2yNCUV{Eg2I>y(;-yY*@;&El+ zBPCo++ss~J%M!POIZNyS7A^7W*1>M#->rjb;?b>xJ;bG3qrLS0#^8fbcuugG=s#T> zN^twfVHo$p=L;}}8&>$XbuY9U&5>p`w3^Y!v?*vgUz+$! zEoUp7F3~4Xr&`eVR0|sMV?X2$dAG*2y<1~CXc>=ANuN3;y+@XGZ9|h7-)pHr7Iib} zoiatkx{QYPS+YIWxQw6dyotrnZ3X$g@1C~T-+L^s) zM?)wJNseHNf)REn(UGo&@5HpJ<|B&MPd;Yy6W`kOfOGwd_pB#OsD<+}`Qjub*ComM z8C-s{`xLsjI%VMvb#H^lXk57jz*bk^0ze*Tpb62>?$@I#Z4lpW2r@PeHo)1L_NjcG zSv=Jh6s&`69h_QZ>n1Ttvi@ZZK8>;e*SLm)1$N2Mv~OO?jC%zKb>2>G1}iOK;9`Vk zO(%Ps?7oUT16wARaBqhu35_fR*2&1-{hXk6K#?m&wdjL8{0CkS%7GQ|qbNVel8OIw z#Q(D3|2qW#%Rc|}V-4c}cee7sO8lRvy(i|3{|24wogU+NuuuK`@!$Gj!TDxKNE>(+ zxRo3S?k4=fLLDJS+yw^HbgnW>c=B#MN=MT*vCnUYilal7MW%L_a5BTNsp@ivkTx(o+ux z+={d&FdNszRd9gq*HfZD6hvmu_oH>>g-qEwnY)w*r`)jQD<8Qb?&`uEJM(VXeU-yGd8>4Ap$EaW07aiX+8 z*bt#Z1#|Zc=H97nN2&yPyJz=&9jGx)ws*JvgQsWaX<*Q|;3Lj|64LXn!Nj$g_y8v6 z$z*dV?*1^f!0?<>ZP#r{hdKQctb}Vqd`o(Bt-Pgm>AaP7p=)^yc^f+#-X8MKb*s`> zAROX-<{HkW7Q$XlEQ{y8sD(^7AM?g`5~}+_l)rX7*Cy8y644@fp;o_sY_^kXF2gCX&Ld^rJNU6#?_U`eFP*FXC4AZ4FBr~PW&ec8W;`9@ zSvXM88xubBDB*kSg=p;{V9N0i0R~s9-n*E9v8hE=4_Sbho`s)GcTwrd$(cx$6KW<7 zDJv#xf^Ir3V5X01aDu2LD%&|7=IUP%d~JYuOjwjlUifwqVzVHd76OV{lqayCO2dG6 zry0H?g|BL00du=KTR3L6OIo4W(VSgB;tm2suxqA6cISmq+;C+vV^J7$kA`T@G4)8g zj5C$f^wt@BbOslUp6OQHp-_tpMx4Etr9``A;!%aahEL|ercZ{Lp4P~o`DCskpUeRv z^vR_5+$W<+w|e#{&DessQWU4Qa4y%we~yX4v##u!hDKNDj9L zlYUnN+!elW2ptWjEZyGJq2lQQGiK?|rj9VhNvGdTr*keNh_rAno*@2X4;b%wzcY;ug;)vX1b?s z%zt%N|gr}lvN3^4p|I~JJ&f(sIUp7A& z&)9wn7n^^|6!(=__)=^F&yZqh=4MNH!gTy@T9&4f*9}75+#Zj+eTJk(#xFxhK6jQk zWkplnBSUn^v~~e>>E45@M9n9aAV3&)bow<2caH)1v@@~1US>a9*tH(w{IRt1LkqmH;GF2 zV~51-DC+IGkMxR}2tzo^KZgN#x&T-_>OC; z>Bzs&U$!riDSSNgVA?ZB=nM+H83k)<;k#Fq|A7bH#v4bgG}Bm>oIvca4tS9eP!yI z<(zo_i)U=``7ctTd1kpAk1WTx4yG~@IjPJ590|MfEQPcOd- zAF>_}0{9kMBx8+@o?yO(1@lI+9B!fI(2vUjLG&~n;Tw55ybut~C&yZ!u|{bPydc)V zXT=(LL7L$i>*svFe}P2vN@T;{=2NBq>b1zp=lEccb3czv+XU}i4xijAhx>Oghfm&x z9RA8brCMjpJcW&13vL(L7(_2 z@sufi;$ILvWj1}{_wU3f{>7$b#kSrcbadjjD)LXC?-Nh^+HabbU(I&EgnV|9U#>-P zez`So=RCNql?T(i=fP#W;K4`#F7(a6M;;slM!SP|_1iHZ6QgmP*!MZh<}8)Lz*YU%=hPd32Dk*ew!xp0CJ~javu%=osYI!G1dMxD^_vQ;?)}O#a1M zhmkIYp;j&qKecWcq5IV)hu+Txl+IkZHfXgzK%Ha#UHY?}zxg8dHIbF5iQulWiI(cu zaH+o2+ch@vuJKN>CNY^!WTLojAZ%S;Xe00B#hMRjBln2&E}FCmrvDJyH!!~tt-Z$b z4ta*}L=ZmS|2ow29l<-)D1g2}D``HyIs&N&AVsew$Gq2)`}uWYoj$PPG+!S6cPKfQ z_Fq!|CM27g-)c$yhoAC#ICQev9lw4#7E=svEnE96VBRbIdU`=8pD%D7K8c03DEjtZ z!xVjcFJp?%y;m|t@7|ps9rS9Vcc}oWdHlL&T#5MmrY=Egv~PIdd^^gKjQ7TGj}S94 z*>ES(w7M9xIA6T=YuZuG9vjld`@LdGBQ zW?}m-A#69ZOP}6R0C|hxb-m&v#cWcN0 z4!h6!t1mlbsIAOUTReu^$_%wdFw|CNs22o7A$VO>*nL}=p`yOsC**C@#~T$k-wy>( zMMHby<9#nO%05$lyx$q$=EFU{`cLGmCU{qTHN~e(BicP*eRvmq^__q4)gJhD-^+g8 z_b{8i+w<#wnEkr%@%*|UX20%x*uHzW;J)`T_q`~%55enVg8Sah+!qT4e7o=6sc&}? z@ncNz<9`W$jDb&l}ol3&+Mc}5w&kcLJXl5g*Ma%;cpm~Kk7ER0a{ z9}8m-J-P1_p4@Go_aAH@PdFuy6&&x!0`^ll9MZSM>5#amPSwx9OF z!S`SS;GN6bDSlf*fA_MsFS&DByYL?@wG&zUA@QjU6~D4%%F6h5R2v_KAJra;LHaRF z|CseX1$|J`VtTg|ivT-Re}W3CtYtewJG!Eh)T859Cscel(iG3@m-=T`s8029_$@4w z@v~K6UC)#88&m*(0{f?U^=A~t{2_;HiHs-l=PCG^EgDm+KgW(v^FR3U0p0;VC>Fp6 zyhAG#$;x6%_#UCn-UpESeT6$M;zNM$mbcXGS$kv?-(_+Am=X#saGDGnr4qBw3 zSX$i2%{#^ml*Z97%DwvPs{+-bcnh9d({)^hn0ZMI76iy;W=@dP|18*&!g(^j4P}ls zJ`@snN-B6RM>-N{#yNPkEM}IxNF~=c0KLC?OeD2(ROZ(7GBfRB^O#v z&W~(q{71mvgVq1Wh0xDkWsBUTJ+?#19#3AVv9K7xP+O7#VF z9-RP7Xh+CT4s+7G>*Oe0TV`&acIkmYnf(6RB^X9!-F*^Q7;qXk=2Txqya4($god(O z_4l;s3SU#Mq%&gpJ=~*-_dBDKj0esCfL8VPBjS;$9C4q5YTG6JT$hdOGp$NvbwSL#>dAxJ*c6_#R_6vH!Jc=z(`mOkBAs6%^(4u8_xMkL|2 z!Sdyp7Q8_^o7?S}5tWVBRvy!@%=&Fa+nado*U|>QIX80yKZORo`bONVuSh2YJZE?uG$go7D*$9^Lic>39yGZJnJ}4Kgn|7#$Z9pD{## z&1-O7^~(|n)sVU@pAgh|HbfVUD{}P~NRI1>s9I=Kss_ZI-thH=vk3 zFQ#+MeI8H6Y0#+&*)gLEMk)~cR>)#su3ZH)!7LbhH4b5CR?>}X0%F@Evl+A_tvlmS zKr3aA|5|o0FV>#J7d(gsSF%^{bABPwF?i>ad**7jNk8Z+o2W1 zu38Z2oJdnb<3v9tKMw0rSYLaNrcpN8LOC$y4Q|L;$ ztMPG^FkOwiFyKq|k+**r;@h{u;83fbP}xn$c$1>r72?;6%qzuRi+HidiMVgfr8|q9 z#xokoFx_>aOygG&R|cTO7i_&7!^O56k&z|vOIfDdjr6QiqXSRk!?<>e*Ip0YFrLO< z+#drbF(vGF$$00(c074n46iY&k3g&xq2ie$aehZ_hJ?@XQ zr2_T6#_#*CseP}S+V^0f@0i!rY+BAc>pI;vwd>i`HLS}J`cQ>#i1f@KBzR|kY`_%> z7ZW{#WOU&@!w(4gSMCcQElBYNl7efc=#Ki-?q{q>4g9#+fba4EcQyCkl6c0d)LsuL zJ8l;HP1MeVgiHo2NQv5&kWyrE*<-gl{+p2SKZoeOgx8{s$w9?xo+x#cBJr&!-d~RH z?@CV;kOs$3d>WkwVRs*3(}~X@Dm7;O2@y^hunW_%XC z)bnt#Lp(Pnlv25l3Cz%|!!$Pp(+f}I(C^2Va9_de@J^tLrM*T~eeK1NM$Q(g}|JU{e zm=bmy@JDq%03Ol!W>21DSvp_JZlL>P==%t;KTEHtXEWG`ncJ7&27$rWzlfww$~yP4 z0GB8ZeLFrBqn;jyo}^$;ejmCt_uyt9?}G3Rw4W(rB$qWug1vMPFXfSt&z|pW>kyE; zy1a|q4%YGqYE(W|%yA@LoTZ5tIy5ei?}yO)B&gRmkWNN*1aB9T4bvmh)l*576?jLa zx2$X8y>uGh^QO!|FXP`goYeB|nuz=Ta+yHC_wT&lBTnFcaUJ2BJ_Y*iGIM!FtBwYy zqnBr+b~jL^ho5akWOOPVAk#VZK|u8oC|~-Tc&-L}uyiW&`a+uCgB106YEV$E+fO%% zN96BQkLQ-0O3_l)<56ol#So3(r$Mblaa(Wm>JyC%(@H+(HB-#A_VmRrZ<@AYoysX% zbrEEy=78>MR~O@u6)-9WqkXlnqWn7;ny(%PV21Y89%zB$SCw;?q7Onyz3>$18aE3z z3pP2l-S1I9&C&LZAHMJtd4o9$fa>wl++wdqlfk{isOD2=gM#;;^09`jsWUolZa%6W zAJ0XVNcC{kmheM$`rPNH6a9!8iQa_HT(+BfZbH5L8!v_MbiU8v^MGIOOhv9^gsewX z*4!cv$dKK+$WMzjeEG!0^nsAh&CxRZ7fmfQs~FZY%ZDRSzJzcGB6F|;6dXo?Cc8r< zKCx|ujqY2s$19nAi%}&rr>H5J0$5p2b`8BeVuHGw*{^6SnPtVWk}2X>Zyh?1gx95& zNyd{z58$e0<_s4Z;FLL=`kCVd%L=wJLqg-Y-SI`BX=y-`4UBm5xzMM)d7Xe)wyqkqrye=U-O;ndX zf-tWfG;I=MhBB;Z`8ir1-7>n7Ib&FM%+_k02vDGOZ)*W1vp-TAQFCfLd|oER7@Te) ztIiZ^L7!;wQ3#h34X~J*OY8=bIo+V6=Oe$hGP*g-Bfj#_7)FIZ72<%agz24U&F(WsfFBN}HFVM?fo?R`J;L~k72 zUdmQn3r5lSHX(<lppv9dLmU_AUjl8CYzMsO*>7rqvT)DrJ7b5PAx**q>Q)nQwHG> z#N8{15H}tu_-#^v!K{2FMAqehhnm)9<2#snnq2=r$qB_hjIcUfZu)ZXfbb0BUo10! z9kByOZ8k_8PE}tMBL6YPPYBWXvoM}se*`-a>JLGRUYqA+h-b8KQuM1%YhCpf;wcNuz0EA%0Tu4#pSkD)iTLLX-6`&*&k zCoX-+XOL{M_5hS%6S7!4Fy+OG*YJGdSu{4}RWr5zNWnYb^>_!{+ZH8HYi#6gKnjEW zt-9u(9717{tSLu6^7^h>&@jx9sMdZGota+?4Rz_dGp35q#rI#)E z87sSQz=eDY{A@O(C=jS*1+W0Vg`b>#afw}`lgr3&gsh`PqkC^-|^xxKF907oK%y7<@w={wQw z71Wqfze0~Rf^;)F45C|l3@Osgur&8n(kv~V2nXrYP-s|M89(n`FK>y_Qpu#W7W&Ow=j3I^^w(4}!Y(tDO{yT3v=%NTiY^HKLOKTmcz zYlU3B3B9+6%7iU?U#p8`&UiZ{*w@P$t}c_CQf)lWBY#4S{AVG0c>biI@Z%zULWDmH zHSeam8^RdtdYPhDEt3t_H5_%Lh#HGeSnI6$R4cezmf+7)w7y}*{2A5aSWQc+In8?- zC$sKi%E0z#An*K4hP;_;C&RK4vBKj^WV)Y+2B*;H9ymH2<$lU|FAIu4>+$%r z0`Rm4cv=8{=>dKz0KfJCzZQUBd4OLDz;hnpIRSXy13WJPzwrRS5rAhrz%v5yTMzJC z0r;H<_?-Z}-~nC`fEPW$ivsWm5AX*8_`L`Cy#TxHoiGtpyEjDsP;>9ZgWlXER8Ojv3B7Fs3l8q|-Mp5QBAL&2Y~JE zG0mu+k1)Bsr7hiSF*{J5KeY_Poc)oPce(ban)q-$@5XzjYRxL&1t z0d>$3EW$9^y^6X7Om1w!|*_mAFM6DL<4Rmw$)NbOt*j-eCVe*hkUvdnv7;?6^*HwNL&=6hvs(826U9#yk7Ahnb0Q0H-+(e^10--lH(rC%YY_uNqjn>-P}>YY z&iG9@tZ~TZoVzgxe^OI(z5u{xZ5l`*_W`W;{h3;Pe3$ipiS>RzQ$4K@a`0zbPG{e) zTI|PqF8p*)tvAoFhh?VLI~wcZ&$N-h&aZd$4E4^ydS}dp=NRT(K2y%kn6r7NzCPsl zb@L2;-P^Y_YJJ(Sckc}K9>#hP&(z;f{CW@1Q12I5?-w(T;04T4`)A1M@Aq1KVTKlq zkV`+)>K)R*t64n>>mlP$o7FPrtmvO%Y?olpB{TK4c9(tKjP*9pRPQ60^M#pmwqwpO zX2Rn4n4@K8sM8C;T6U(KBQqX;SY|4IOLm!i(Jph}w#(ex5Tn~>!sz{&bJt8c-^83B z&Xn^Dzpro3(ARHwnJW)KtN1gm)ppEjpDCvwb4oMi9J|w;@=kNk!<^boIoItpXY)>T zK8QK@&Xn`uPIG>;)12oq=cSo)jD5s9Nl(p5Va|U0%)p`ZFz4u*a!$dV<@?OgS`Bk* ztvP(J?ZvR)oQJyRCAjCPPAvUV-DS8>TSR#S(D+^eu5%8;uK>_P6#isVE{=)SUKNKR%C+7Iun{V+B7W@_Kbisagv z+HW43MGXMV;RpoT2S6Et(z4TtBUBzgEi7q`HraotJ|>fEyBh;{gG~2>cUP~$9u~;% z&1hvP)wf_0U)0!$Y1Mr+{XtM)Ib~ZXVa4?_>`QtdOZQci;K)(&Or+G5NYz|0u%_P{0=7vO_`}PqYLxN_H zm+MG`f-cvSn9lU``xOnz`^G$i?K$mo?O~{iug;q812BAL;9XxHU33Ge{tuKe8t&vP7;U zHSp99hSdY{^f%e^rrfmUFZQ3KAXF*pa;LkErnF%a5%D*FGLJmpCkxaM1k|gygOVA< zp(XQM=y-X*Ovgi-&~GF3pO7~Ik2ZmK)WbU}0BH}97JwcP&?5l02s=gSh_KfyNRcbK zYk|OZC=5{f39 z$oS>ZEwPZ?HP)~QJ_&F-uRENmwe2Te6d`#U&*eGG8QwQS&u*)?LaOWkG503$brn_o z_7ZycS#EpUr0umI&1wjQA+z7w^#E(O@(n)n&Wogm!XX~RRJ-xu&=b!e!Q^+!3h^iB{WS^1^}(dn6#VZvgfQvdR36Xd|4(WB zGYmQZVo#s`F!pPE0w%rHS{pOV^Cb^@*FdzIWR?%~J+f!5iu5eAd=vsdg}`dFe1`TE zM`7xDW~t80yH?^w^QsQzRcs5VJt35~90%ldo>lwAuyxfB8ASCwe|#Hr>iFu&sRIIV zG2vuMGERkO4_ogE&o=4~)Mve{he`A|tuD5ew@i%;!94cLX%^#i-fUZ4oK(JlM<`r| zjWWHn=sp1WG&H89nDDfNs~i|<`B+N~9j*I#gAj}p>gaVoY(#I*ac}3oJI8@M9TEJw zymiK!N>JXTM#%+#nmVprAVU{*juA=&*u56rc#-qcH$!{sxRZG{%HA;8fk7wNo03vA zX0Fswi=f&fK`=E`l@<=+3>gji(47p&n79Y;p<~W_$mccNZ!0m-4vvsKc}0XLg&4LU z5Kt&i%6e+&p%0&&+0fwi0$59xhu{2@CTV_q*HHr!o+O$+10bvD@OOjh?J1+KJ5b&I z{2%CO%9_?FI{wG9HD&+zvXQONJhdP6c+R0S&<|_=>`w{zMzH#)!MlY<$NP+yHgOoT zSoXm_DX(3Rj{V|L##t}NgjjW;abX8?TeC5F0WX`d-q?Wg3p&s&Wr%Fv^gfGzD_0XF zS!^HDZzy^&M~dir`W7XS_P47n9%wH6TbSZzjRJA@cX0>viR*d}hT&HtP;oS^EX-(TE-0z|D zT*9l2k`#AtfpC|l(q%~s{#;D!p`9UTp!28>P=W=^>Bc-*AUlz&yL_Rn;Z}E>ge)k^ z!1CptI2FJE$K&9wG4PYSCyoCM({14HL0lek26;-T=(AAVFZ> zs+#wJEK`D#E5F*Q)M@A6h#|uJr^H?GNpd1WRj#_QL@@0MUg^TA0uvzxT^r{Xg-jw) z&@Eb|gIhEcr3Vvo9WibyMK{6f(@IaCDf>@nps~yg_Cl+Uv0(3a-g&1`rG{^{nx`e+ zacWjmf|TjKM@BF=Kx++K2}*12burKetXSTJhB6C>O(EeB$DZU_z+&GAcmo8Hu!@{4 z)GBha0!+~Wa~g%z7qoN2BVq81(noNc4vtcWg7-qmC8yosEplMUi#nNiCl;9l2gw1( zTZhHmm$2NNC)Wu^!n+HL8LAv;E0mKm*<`sMnQoG(?w7&pcgvq-d6ovM>+N5G{L!AV zyn8^;Fi3kqf*5JB;VH(?;E(@3}zoc=BIYjZjG%0xZ5sA5J5ggx3Mw7e(rL!=K zvoMNNk~p$jT=`+6lr`E1(}=y*sFNYo$!u&1Q4>i78UqtF1}->l_?>r#Qi-A*A8Gs> zno#e!mq6-wSnAL3vnR{N=gWUQ=`B}qEcmED$ks1P_*4m>z;Y&?(>G&03)>ZWOqq)$ zvydqCu!wuA0$4*?ww?Rq?I(BX9c||TPMMEATG z-ljZ^mb+iaATSSufb@LB_soG%>HFx+_7p9rm(u0IY5F-HIpN)pg3t=1R{9=*k5(+g z%&XAwFWYZ{j8GdZ-y+jtu!`wkWbk}w8JC9g``Xy~)r9ja1^IDk(#%oY%Oz2mtc;m8 zRm)MsQ1A%)R5DDZnI{?LOi4?H&%Pg|LC|{$INu^6Vzv?@&cXHBMEPm7&bLu4?_nTe zY~+zi1vYr!!RW`b#UneAEgFn{mTP&U;xaYSUyWaC&ZL}hTS9iTFCBuH1?eTBEG_fYdRefL%XjV9q;dj9TGfN2^q zO#!BBz;p%3Yd~HB3K~#QfTH?N)d5o#pi=`n6`-U6njTjJ$bm6p3Xi{h$5YBN7(~*A z8k;Y4D!)_utDXN69-yQ0QO=wlySZz~RlS3Ko2MJ{FAIN(AhLWNXK^p|{kSX5YSPdp zz132LVrMt${28qGh_jXpa9`}yNJdRP$A*c}*JT2Tx)hYQ+ZW>k)RNw*j!bzMDgQ(R z$w&7Ze7}YtkwvxJgGE}wHFl<{aviGk!hlMaYnpEHl!U&;Q#HTb8>p?1@3q=bsEtLV!AwwLpHVd8 z&Y5GEtX#SY|*SC!i7O7Gs;Bt5^7bKbTMU)%!g9dQdmDGQR;j6Yfdu?t#1VDAtWL zxGra*ZYneuF?{C>mu(af0y~kj_mdb| zftcvqC4fG|WJ8@5ivdub&5^l>F6Fy2H5Bh^Bt<-bU(YaFT8y}qvtycwpN1)VJVMd- zaL^NxpeJKmMtg?$!82y5wtRyedfY0I_%o1bWqWMP+`6`>wtOc-_D9Ht5aFzNpM=k< zb*r&&glLtY)8cYqPhywZ^0!wGk5gqs#@Wk3tN7eo49t-pym*hVY1uG_AqTSwiarTI zP2dhCVmW<-d-_SJ)TfDtK}2>taQ4$Yx@l!NAdb4@`59Tx0ot1(W*Go$WGA`9HU@C= zT*=?um2D^Yv9syQ_S%#CQtW9_;jKaVL<+~KEmy=$PN67!e<#ff$i4Cl3|%5ok&J2+ z0vFltAKW8GQVA8w8Jx{?zXjV4^vC7O%5tGF-Y;c3^e7$`iWA4i1-@I?nlq||$t=&o z-9A#*q%xAO1Z)CaM0GGjGjn@S{|vd*Qjn)GB~gD#JB<}7ve}(>HiW&FY=U?fl7%h+ zLSa2vv9S(BTFyg*K|V;ev-!%Z=Im#L+a>F!Iw>10h?&avr`cO?6|zZ&g~HQGTFt=; zOI&Lw^;Gi;_aVE)d_ZY0xoviJ@$D46-cH1c-ZIRCYXj6@-KGyH|_bk&!ivjBTONBcfb3#mtHPcKrhMy{v+vxM;dMWh? z%zf~zgU5Tu;ejwz87;ECvXS<(vsc>0v^Mi=I)v@C^bvjzU4I63{ikE3oWnkC7i=K}u+cCSXH?&Bwu)R=y_ZLd&CdYAt4)9CV6W|&+1K`Wp zV-B9dlZPMDFl-L)r6Qs*IBdpOlDH0ydzqlaA6z;m6^IG^rDJs&mo;zp(j@GqCL%(~ zTfDXBpY;14++ISweHfjAA5y@%JbuLJjC2##JtbGbB`g>^=>b2Hr1)WuDp9nT{4i9 zX8^;oRAF<(m!gkgI{r1D2v3KG44qyd|47LCT2t7ell#OC>xLv)n(6K3UWc)!6+ zcz=rVQFcc(Dq$zQS(bLY-?Ftc=k+pscHrpUU1lm=YbK%0l6D&~S>A051_4rO|M5;D{fY$6Bxr*bf((aGTZ;llWcQFAT#H|%`A z=a%4pIL^2~i1P8+)oWRFIs-Q(dVHafW;3YrGKlONY6`CX5PbDy7sadQc6p|IB8CIwY zrLJQ>2SVrA?j7_r3zJl>@b&~rRl@PM`7}G;b#P+_EzBJo-FEl2G`h;f^gyUlp;)L0t&7jr65 zik7p;4ML5N!f2Bimt%i#MyMTm5HC7%Y=D?!t8?|eB<>Z#e0~7>URO$0)H`|X(L&ve zZ5g1>h7xjB0g>X@x~B8mRzr2Q(Z;qKq~ujF5=LlWiu+Q)7kh?Uwm2;^U{{Go8lb(u z(h7j4g*)*=QaVJW>S!eAo~+Z4%*bL% zP`19k!)~K@jnSp;yyD&157YUv&rKv=b!NRG{(O@!@n5ZlhssQoF6a*~Au$OTh0Dnz z6cRumo9Q@LQl@SUo55w_t}%6_W*T$P;PL(6EL)anp|TW}Nv?SsW)3d(2SG+)GbB`Z zx%|~CI`pDKm;v9cu!8q;q09FX+P`o%_S=S48xsTQ%a->AhhD&2z|!Rwhh!B}yK=vT z6>*FEWqeK)1A7x;<_30|-uEE`AE4wKy3oAFq|sg_iyAEkK|`^ev@D~+Fhj>=085e{8#1qHsv`S&9iQX*8OYn-a*je zq26IOc(Swla#Vgd`j0n&PIS20*eh4t2csB@nW5lvgh`!AiBLAPfl{Z*FUYnxSLD2t z+O!`pz+C|vHu#s24ni(+J~ySPCKDPwP|#NR0KUa$ISw31;{edSK9i=GgGkbZ-rsN4 zKB}4Ru}y&uOSc3ed2&&2Oqwp~Z@K=K5+)Vd4|Jvc|HnT=V2- zY?%J2iTC_g>u}y9zaJ%emDU6f?|kPgrmWLW*Ah7W?!$5raVdLX}&HyyOa1k)dfg@gYHNadh0};DOW8f>1tS@T0I82c*$|DE&R73k6hCC#P#|S0A-Bv5v#a3 zh(99U6ZKBEK2gZZL=zt+g^`0Z&YCBV$s}YNiA(}j*7HKfsyKr84&tOIaV5$+d*#d{ z`%@k7U9o3fe|l1XRkpftkVxtyw)xtb?Cz$mNabJMUvJrV`{Mr9iN1_=oZWVE-Vys#P)+pY#&^v_7^`u+Yas)jA2J> zFDs`r@bmx(u_+WHCz7PlYBo^AO9?u5anliKm4a4Bpfw6QAp)%xbmTQ~u-+j&SQy&= z^D0^9Pq1CzmhP0<);+;&ukEgv;`4_g&S9(J3UbIHdMgQd#iC96YQ?Gir3G~<#~u>< zEalFqd7)M9O@9(|Qys<-6RKK`{8)fjFJMOgDpS2lg!cem!YtJwaM^68?KRS%QK+i3 z+^lrcOd#Dk=`Q_wsHV;u&bIkxgnymL^IpLMqxl%NBP?k#iaqqaAogyT>1tTUJ9d>O znb6=NL7hM+?P`qwRE1ENr29a&_ZZH1&2@)C39l%bf87ARKQVx~j@JxUAh*{daH6dB z9Pj|_HR`RE!h01uS?6ul?NsGJS(ZYQ0hG=uka@93IimfB=r^nM^i(H&tl zFd53d=PPnnhj87Oa>C&E+iZ7nv1<2FSawz?`?3KAvhcSd|1^KSi9s1B3EJrQ+5}lW zr20Fb!%RxRYnMNk*MYP)VnXRQt$2-9c?xW<+&_o=T<+kwFL)^JdavIfyURaOVTY-( z!#L~!ggp@vnQsbYJjl#}{h;w>=E<1Cc4k0mM>6v*yPxNjcbR7(>urn3dO@B$koET1 zwM<9KdO@DI?S7t9-(8-2)4LCp>KBkH*3kz=@~nwguEm+Q@na~RyOJyC*=E$w3i6~h zi@k&mFe!f?dgVhwb}tw0%SQ?znvy?oN4w z_VwrAM|OYy-Rpmy^S`(Ic`o{2^L%vo^W6J?mNOpP{W-tkf0Z+SwEKB3es_8HC>C6z zR!jRtR!d76$|(CPl>K}ZgVzYB^D5nti@w7lm%954+ITvW&V2^(p+(T(3PEOJk6<`_ zwCg;0v|v*PM+s6OJ%+?)zHnS?(v`ucUPq?BoHw`zj#1wu)%RHSMZ(YWYVDY&!K~=5@b=J)RnDHKw~Ro zt;enWqLr&IRLdm}EEQlSRQi1qkH`(>x`rCKCfRC-a45lFbKMB zRQsgIQXj92x8}0$YJ}RtZILj#y$3YjZfxN8BuLg<$Qy;!qFHM8yb*Jmx4QNUSZcD@H{)9?%9Wy4IssxsnlXwQdt03%?|Ih9w6`Hjb)D%h zkmRT1rMO)0_vdS@_|~;EWRD{YN6#a*!*sSX1aop9LgtsW?IVO(+5Vmh7801-gx_rc z9Er276pjtJjNRY2XOf(&*4D-yYb{UnvJK@t)sG`0>L4p+2eGb;d)LPe+w^`QDU9ICviZf=9P)gB8pkdccfSULWl}&Bj zRt5HsQUxAX{Z__ZgSekIRNOJ?=E~`lm1AB9JwQ9eX0My%HFLxo+i-Ljs;HwiKjX~y zv&4fr%|k#fCOJyFP_1gm{UI2oE+z&rLJpjSv9cV~osi8O+(~v?B;Vd`z=p`i&8UCr zecXtU_NF3@xprGNO4>0(>sl2hZ8t<|%c{PXRUM>?`WkVB`&lEx3&%#%xiOkfPNkDm z>9mB>xiOl~a-rYEfZeQ{g0Xe?+elZg8?LlFFvh00?_uaS>bC=joi^0cLsjRk(CvmY z-5f2`BvqzKs!Z!bW%_osOe_5|ohZ|}h0Zu{uT2ovSRR=PWy=@%d05+uE^HS!cML_4|n?`XP@uyHh3p{D#{h zQYN71(DSM@9j-HAi{(65Qm~Yk6$&X5sDGGjCuWTINh1px|XTpTMgNC zp~iHCLmlR3eif$YFW~{M)>7qV-uXhb-X|;GnXIV3Rr5|d7U3OuLy6W|+9os7ygi!c z6qV)_mF7J<&8ldcRnasXB5B?cO>+;G<{m1|Z|O9RXqxbng#I4z$llaAYB(A8-{wuq ziu_`@-Q7izaY9Lif$6YT1%Y*tVvUkwYo!z$E5x9@Ljv?v#jdA25D~K~3bx`ozJ;7&d_t)(-UBdahE$#$GsoP>9BuEU zAO$QlN{0#eSv&4U`Nj*SiYOAsl|lakbM3$E)J`zU=i$uRWR&X48)LW6C2 zVO@>8dUr;~ikrH_;;gD`YRLhv3S{J+3XO)LgA`egvb$Er-h}d2Cr1;XWD{y~G2`wb z$xkx*tnWwbi9L*lxyA&xWhUJR7!#Ij_i`f-x-q9NQgVWs?MdqKOfq~o7~Yo^^_YD! zh_#9}dTgtlAaEyC>#Fpq^PuuO-LRzvQt40vex zoNUxGZ6?lbjW1E1f}^~JO1+X8^LoLS-zE}ysLH0*q~JcHZoA6+&M?m7n}?2fqJW}- zt?v0JvMk$rs{vLClck=V=Rx(2hfPn)kNlvPs-OGRc!@LeyXZ`=uwK}dc-qO9SIZ1t zx)0h%DW^jzJDf6E$Z&6r!CrB(~M_q9*75$6T#$@{$II zBIpvV(pRWe`U(-TJL9%n{%dJ@Q*(7bdS8W*cKH4p_Ehk$%9o>Sz$UES5^8>KA`JkZ zlt|vHOvn0cXyQdOp@kan6anRR4tfx;Gsi8`rQ-*|7Q{F~H;o_bMN~xBm_ZMYPd7|2j8hT67(dpZ z#t$-QjT_WFe$f2!gN_+L=)uIeL8pxoE0@kz&D$PKm5@9W*Hzoz>4LYHhy{}*36m)f z2?6KPK|LE1Qcy5m(z`Ye?cwCW*D#+|^Ec^jmC)k@?4z0Gm9;?mgN0P97v z3N!IDH~-B~*5&}PX2uQ&Sk$&6LF+>eLc=A!55@IsB?^oxNqSeq0OJIvhy=LqpieO2+cekoCdus?e~qc&d~Z?EK*(yb)PBQ?TmG8liMP$f5RdkJn=;YYmnM zW~tXo23OKVgx^xyZ4aK)G6(w*LT@|_9#1>CgYUto!;oWK|KMuc<*f(^L8ntrBkmTS zu(PqcM+_jMx0>%lvF9X7M|6yS`ns=EcKozjIlS;pBQd9f<%OYrnC(EF?{$*p6LTs|EH*bO#a$@0So zPY`Usn8V2nZCsSBg=M~pl0kc`q*Q`?7SHV`i5PBC*}aHrv*TTuH zTxP3m&opKy_IhUvw$2d(or5MVIAQ?3E6wFAUoJZ)y>d`&6=4vV0uPU+sN~|>xAbCGKN5)#vTbW8I+LHB<(dgtXGvu7K_Ocpx9PEP@+3@uOgB@-(FC6 z?_@!^V>s>=Skldq&O%nf_$4GCuG;t%D|G*&$~a-I(ZXvI6E>Z2XOG{eNR?0M(M6N2 z2uZxE(30RMC#t2yi*LP@IOVW-9)?AJbYduMnhh;`Fj^Kns&Yyi%GOKK64!$>>dMcC zIG8sRSNe0!M%Q9(s;$mA_;@4BZ>U*hkMusQ6$X5&=>7{<@~v3Lx2DQJl0j+N|K5ux zuEC9Az^PWHob9wP@Ls{x49h(3#fH`sjKiJ)-g?cHf8nQ{;-FbmA3;Oms% zkZ4{7@+Q4bxDMjJQ~npA{@#?g9#F26N5l4qhZ?H53KHQOQ01>T4mw_!zsflN45NYX z#>DAv%-7L2=VQbvCwoV*oob*CTeXmEAZ#2a_|1^Y4BYg+AZVsvg`25zfl1amz4xK4 z2Vm?gI;P{z!z}^-ZcLj|T*kB=&8%d4r}21knm@l;bRPc=NhhxG4IrRYCEBZ8vH*{( z=~=>VOf~kWg;{6R#k|8UtZEuzEiaLsl@w;8axC`xY^QPz@A*+~xaMyKUeof{!rLVp zv)&PwzXyl6!M;iJMYjZ2&Y_FQrndz{kL?`_g0sA((UsSC2kysucFVEY(39)FYFm!7 zm&sP)?Ju+EubiXpy%*;kAp-i5?cUlO_dJUf1Xbmn7x9(DbL$zApmQR=vm(B;!_m&Q zLepNw!YgtKx$-%L3ZvH4$LV>0;7malLk&R}liU^l5Ww@XcRB%RI;{DP#V=v_)#ba_I@d3R2D@7eXAu7TN|l zx^RX*Ajq7A87G&p2G0fuT?YVmB_!Z1& zXDQKv(mJ309i4HQm{cB1%1dOqhj=w^TONw*c|pJ;Tcr7N$pGz5&eS>@a3-Y|P2CLFUfVn#uzdnopo%(wL{baJOKSf) zsNgw~q}s-Ai-&>w_MBa);(h0$O6KmIw{X>_eC;kE-h>n%o4X5n|6}eLjizgO;fQM4 zYrJZS&y)Fe&I=RPFeq%kG%7taCnU%QfK z^J0nFyLcBc*8uY)i^IEj?R(L@Jet{n`t0IeXr#9n@5(&VxJ0J6&ypQ?e-B94>;&my zApLd8E);k2KCmUb&n{H9w@;)DQcunnM*{-cq$K_1O769h3yI*npN;3Uj-Iypc_ zBzKEO+6GQQa)6k`7g5YNMq$1&4km=nC?+6dVa}R8l0-m8ka*#!l$J3E5OdU<$%X))H8{9NJ{f}cxV*yul!xW|6#kwnD8BZ=qiryfaU!01O3 zDJOdj3LvdUX$52~S|Nf)D+!Phl?3rKiUi0Aq?_iBtVuw^HJKOgU$IafHuEQo^24%p zX35MJV%%w?sX?%eW(mlMEDs!obl_;DYcgfkWk-7$Y;72Poo=3ApM-x>!KqGS{kkTG*#Fp??mSTHtIK$486 z3CLJ!-aiWS{&6t>F$(h^<6uHkjA8;Z7Um~MVSaKP%$G)CzBCRdB*iEuAY)-(J__^l zaWG#Uh570@n2;2sn1GChxn&gQmT@re*?VNW-?R7F?f%@TG@lzMO-PDS%-;RS#$4lL zzNRn%;g?`X@Y1L>?_WH2ns1N7e0v;B2#e7!4akTt?Tte6Mk77EWMrOzj5$N?GqSz` z8LPg%eMY9~?K5_o7mrHw;&IY^YZT^N%47B& znH(TvC3pR(CZ&~u{HwTS^ws6#?eZ8V;z z0p}^edo|#_3Q*R7vI0~zprQclG=Lli?_pyj^&x)aBOa%-h*sXdJ}BwyUgk#OG!u^H z?FXcDh5KiylJRQ^4SDufJ_PYlhP@gMd({sky&dQ&eT(GN4?|!MzuFzhx*w52RfUCh z!rd%g)k%_yi_Ki4NfMlsfuvlh3kNh1Oh(-zKcxqTn(D-GcA9TaAuRmzxyTgbpnh#v zA!VHVJ}pa|bT0Jma6L>AUb~I=*1R_Pv5Gw+WXP3?u!#tZh`|H8>-0Go~&L z-b|dN>YQr9^rqU#uTy`Ds*2P%_A zJHffzY+sCula3%0@eUF11XUZ3n^WgVwo%ulZC3UglaJN)l^`AE?~qMSN4PMdmaqK9 zz=;x;TWR5a6bqb>QQNLe@M|*YV%15K|M=mz;-Vz&Oe)_D8?UIR%7@75pjk<_j+APX zQlJ${TBY3VU4>K6@{C%U3BTi1x@o8(LGR5#5e5&iswZby1)J-CigC&Z`7RUIP21)7 z5qg8=5S-PRY@7|1;(c5uZwJoqAmkHtxH}*j_>(9VBT06+8U?)uCxypFVV4s-mujT{ zQwWY{>#d#rhqNO881nJ zq9*QrhQ792pm4`6(U(;e^EZd`iDV!nasoCZ%7N;9Jy4ymMy?AqKsj=QgDT{GI^=x{ zuwL*hHf}afx8w%>u}&CQ#0=xR)PDzo#>gpq|0WsUDF1&f|7WXz*mB0ZrN=Ax`wX&~ zMY^=t7^F{2__(v`sraWEWK)p%{yr7nss86ZiVo7zVH(EZMKarY-y#3ohW3Aj{KLNg zX7c|dru|Sjl?5mFWpKBr$WypTv{$jKEZWoTI#aZ;W3^~y#|qKJj>AO9n>x|L64A_# zxuWAOADS0!?3gS%{_8^fITQ0qzv~&dD<_{0Cs$ydB z!+>HCcaEA`FV-A$vErCb8bA)&l|d5jj=n5{7xh~B#kG0`8gA5}Vl{*K;jKJ-knH<) zvhP>Rl+aTh?gqB2Q=UV3h+S<_@Dx85Nz9xZTozWc^p8K8YE@X zu1p$Q+V;kH2)ub#hxE8Fze zQu7TC_%yA>m`b|R7g2|6ukG%!iM3blk7H37R_&1g7<{`%{9}-UjrPLSj>IOz$alo( zm)&OQSKwDws=<3A=(pb|{Q$+C(9p)0u2%F`ndLQd8u2z`A5XYF(0zV1X4uq8dpj9I z*Ev&lM%;T8a?D;a2tJzuBpwb&1E=@yrJ^;d%N_+Nqqouvh$&f9^rcxxhRuoLDI;fd zQ#3WxVk*f7ZVJz)D4RxS$D;K}qs7btdw(e4onz3WVKB@LLl9sBdaS!nM*5{e7hMQG zB>#VJFlW_`8tI^ zbL!TY7EUH-^0W(HTlf@$q}*mW<+Juzk6bONMS52d@B$xb0$3s7`+eZQ5&c90Zt;Py z0(dY1KkWm52jHFryv+wv?(GD;*9W2}%}WvRVITM~fd4Q6eB1|q9l+lZ@V7qjiva$J zfPeLYw*Yt_0pIq4c&BRKO$1CIpn+6Zn+e#efu)NJgFbsuH&pH>4SO?yHEY;g0jy2K z{u{vBt27XTiE_87Z>#!d`D=SOOFrDbk3K}f`_p)E&ClzF!)c6q}BZ8K4!M`=h@FUYA1v|xO}g?bOW~`{!uiU(%m%@958;Z*A|5MG6Yz_)-M9O=!K{xN%sFhR00JNaXo) z7BIFSs!x&HQ(L-dV@U$nl=X{_0c}ZQI9;yUYyq>a2hLIGJVZhYpPa1SyVAFI&8*4ZbM>pG~It(?-UxEf320N$!k3*}kN5#Ka@H=Saxi9SbnlSX6a(H*^haq|!y!JTl8=-({P3zYMsU&}h zJm4zt8w~mINQjel&(U=Wb>ScJUHWgLQDv(43%ai_^g1oWIhfu9VFXR*gYdj8Di6u; z;1#sO_!h>Q%6eRW_z(fUEdiB>fdE>h`27(YoA5-ppU!uL)*_^KCf8}o)kw8QtWat4 zd6K-%zL%_5Rayd;C7xX&%kUGw4Afq!LUo-}npi z&5je*R?R~6%Hhm-96S#8cK6a(L^q64z%*B!Gm0Uj5Q<>K0I8~Jeqi17E{y344?|SH z=u-4Isz_#?0kf*9QXNO}{h~3i-?!NHzW+nNeHQ6@vbdf!iJ{{79)!g05Z%h7^{63Q zkxdtw@#+I38Jko>-o9-$%f>-?@8GPse(%74m0mC+(UR@Sx(8yLlH&r0hZ+XRCe@GS zrfvUW-C8?mhu^41pWb0&R%7oZ-KsyLHuAe{ZdI))G%^4$O(N9F(fFbog%YzuH4=u% zo`NoD(s(mV_XFxZxxQ4nMb?4rp5HXoOB89%JQrhwlJ341p0Rb^b_e{7aNHmP!{lGG=GW`-vW7Em|@Cl<)BNggXk+sQ_rg z^s7d@w@y$GHu)*05EQ*U3hhqFDXb5jtwHfQ_Qke?XJkXU=f>$ajBxTh7$OpCh=@k8 zisN+e2A5C9rp?%&*|Zf)EI7T#Q6<}H5S^}O|C=G*-Kdw^G$~0-kUj=UR1FOc?$1E*&xN9&2C_^2yLkZ(w)YG4Yqu;b zvC;dbF!URL*k}0}_+{+MnH{Q}v=geHtNiMz3nDq*Q}WlZs7H1vJ7tZ1R&rgnPzw3` z+zTXiZNk(=ZBM~c8VcOV1@?Xg(Zzil~i3%o+YbRzWFAb?6{Tp<@o)e+~94@XTn(Rr%Q>nMiOZXB_ajBuN#JVXv)DFRQ|-lFp2KZR zqyY~pz_;*S%3tcVtFyx*0Bll#9tOY|N=$oN!XZuM;d$PFhnWcL_?L9{R4We_%d@5_ z&#NL7@;B+3Rn4i9;TDn4osxcP9d2b?j3!NYLf1Iqdp!L!8wXt_ZvSa*<g;=%s zh<}*$psnG()Hw+?w>sWX?zcnkw?gj!25zc=`LGMfbk6?}HBmt7pFrvbxQrUWVsu~{ z0tgAH!nudw8}`p*kHE^M3R$OApD5NQLhzEvrR-v-bM2SY`;udCdqN#MW zN$k>FEr>aY^ui*ua$5wbLtxmHZ38=(o=ZHj0CZ{CH>GR2HGMN?QX8Q!tw92PRadYojoIzwE z5lI%YXM62vvWj7{Fvx!zqMY{|!LNrZ?{9rM8g?il`_f%1*~GYq4@)KZx*2*9qWsxq zz7XT6Mx*ifd>Qu_q`LspXlq!Ro-Fn6a3y@lpAIwEUkE zV>sMP6-@hqgEIlyuMBMOr{%94yp3rw{^I|=BmOn~)R;cE)xWh8tlUFR{6WyykEt%!nm7<2NsIn5*o~t;+Kyc%~4dHQWfRHyMkJ-{kA! z!;R2_$iz2KB)>h}2s>XHvVtc4&Tu2Fw`H8o?JBXmU?PpoNY*8W8)1Mklh{nQ8|#w8 zjW9ZxNp7A*{?u?I3@c_*n{z7i04Qlwo@wwjDbF)VwvM8uha15onKZFVzI^*Kz1hR- z3T!+-Mf(rLUkfaHxQg7EW7BeAw!Ih7W0Kq<8+&7Uo1JulU3PRQ>~}B6h2X?M0-Xl- zM7@tfuB1ER*sCtq*Tvl9CC8j6`e<}-Bo_C0GUW5BPiPR|tjUx|HmV7pJl5m@IKNnY~_T<7dy2LEsCz0)qB{}kL z#>+$QM+nP(2}PHyGK#9!Vp#9|O6J+LtNcl7J$NK|B`0`ia-yZm1hhH3~{4$BU!y-vkCCWV# zVo`9Se2{d<$t~ALf25t%1b^k~oW8q7*olYz|CF#x{y!v46@<-nJ!N;uwMkd1pAq>V(b{D6#1+Ef8S)k!YXcQwt) z@+-hH4)^`t(pf%0`&}s!NG2_RLIN_DCxwPo`E_6XhT3(hk0;A@N5HI)D(XZ8 zzlOMW#?E@LV>$T-e*O+vVjir~Wt3Xim!Nu;%p|>kpdXyC9NwG2Ocf5uq!{fkprtcu z?=27kvU&LEl%RhCghDW=PUk7p`WNbTs6(bgOVzuF8Z#-@_NvNM6`f2KFIO|H47T75 z=tebW5@VsLM3dZBiSmBBklw%1GzD4b0F9{g`sz$|`BcDDnsW+Gp~#%5LZ$ll{)3Lqx6O{O|gJ`dGf<8G6UTQ9wvqR}(eOw^FsHDuTgmA6rOPR7Z3!)T9;+FtLh;EChXtXE85~EVhs{%*fJETc_;# zvNh!R3N*ZVwK2>I%J~m+3P}#PE7+48@z5P(QAJP6X(8jr|cMU?iiA_WXDi@Vul)XBFrZzHqCq%GoQuGXEF1! ze&{jA%G(XaZ{IeOj~T>oZNiP4ydCocz4q1)_fFK`?V@5!jKLq$y5Ip;D*6#`1(4a< zryvr4BOcfd!nw+GB-cD9)FZmNK{&B?Lo%LYLO~PKNWz4IX2P_*FUb^6f;vvpq%%U& zn(Ph^T(XozV4I}f=vd6>D(^neyZ(nfj3vsrq&0C z9rYpDzIqG$07ucs`xo5%2W~HIVnegt_Nq`&$FppiXU@%og_DkF+hEm+YU}dp@bk-( zyY2_eB>cMF!zdiC^{(S&NAh{dU%Yn_%bPiR2D3BUe$n;bMuY7ZPlv3RAe2(GNO(xn z?ZyE`wIm3S{(Unn+dYv_k?pS^Yfje=_glPE%c4>Pj{nJc9RCZ=@nQftl}At) z6HL994Y$!>#%`lk+(s9V-A1c|Hu|=oi)IO(4@UbFGg^<&Xjq1*y00->r)$0*r|th4YWsiwziWFm#%4#)6%O+ur~a zX{}p&C5@d~t#e-9??@8=o0L98Q!_gx$VWMnQJOVMi$-bkQO;zPR*jO=D9t{~RgBUy zDx(%32Df^`AihE$uH?B%-=;Zg94Aj#8F%b)34yxmJzi#Ziyz2!W^$elSW~VSE9C2nB$eG zJ=rpXpT;G$Jv9n-JWAWsqfq}c4yo-`EhD&fd;+RRp^i&H%_!7y379Yn_21)FR&C1& zh995S%qY}xX{{TDI$pcB*N;L?95p7bp^k?+1^fPZGdxFo2U46Y=MhhommZ~-61M3+ z1MN4jLN>`8NCpZqka^yE7FSR{CXOwcJ`qSF?R`!PUt9`hC5 z%{$IRl&=b<-APOwqBUV0AEPb5jJi$qS&3cg$C0>G{wMODixVZMyw@?>Z5CZ~>)NKC zDQ51v;v}24sLBt>;GAku30K#K%;F-6+T1hOY`U)4V|#zYT3}X{UH+q=nu`B=IDS(! zeoOCMvw0`+TaFFIZ`Sd3j8=!S_6uRz3P(7!E^(iwT>$DhR6hw~pDeS_amOn5Nrahd zT@>2H(9Ieu64YV|=Cgf9@!5^Xa(jLISZ=SOW0@zc<3-IMIquVk_F!Y2=Uax+TOY#AdN8F?Ae-y~K{J;#K}RlUg3eve1YN-d z-5eq4DxV-HukCubwHbS`O-kP5`yJ~@fSQzD{_66GMe6l1+HQO6@UXy_z;K0T$GaiZc)l=p+{Spa!HY>&~Gt@B3b5&E87+&D<`^GjGGZeI>X2+;0r!owj{Eaf~` zJKc+LDoPc@2dH0V8GQm&A zv=$a7i>MBy)t8Tv&P`ng0V&RJ&SydJN&!$MxhR{9%z8SgBNDY@Q3yW-kIrqySi z#0qAe{0e5BWh+9gW4Dy+yX3cg`U*X`fRCQ09>;S3SUohMduaI~8BcZ7+Z|Lmb4?bF za{_y^-o3a>^z#*}Vd?T?`7bMUea(rW$yMKZ}||luh(0aflCGWBfN@7(;Zr7WUuR_b{Y*`HYRjdSH$qUg07r47B1R( zH1vrvp)ZY@F6O?`&>V7meI#_@w6So%vvRE5{x~MIGA3nLj4@K_eG$kXfAGiM;DNw& zU97dWnJiqVg!@bIwn&(kJ0x9+>Y+@RjrRzl^!f`4sU9+t`aOh+M#D@aGg0juUMV4e zq;b=7KTiWEUIQ{|8t1zT`!c7UBdcD|HeBU;|8weMu^M~u{_^`UzCYBb1{0Wx zrBq4J{b>@RXp2!!{PyT!#nHox9ZdY{ol0EydKt3Nxu|$^LL6pJFiapIVAniSF`a`On}8LP)aw$(`feO64>^^dasWCvx-P7I264Ha$u z>YWws)RT6jXkR{QH;VR`lg5-c$1WPlC35gGUXf*smuf_L&KjI@ZIQ*ORb1vB0riM@ zXu6n(droS`AYmpE2s4R5m`RKfW~wCvT`J==)LT}uR(8wQ-jvmHT`?|y>Mdqu@E(ge znK+9wcx{5-ixFnVPGl_ic}ezrq`f0p8 zJXF@*&6OL`@#E!Ny27((I#*@wzDPy~B!OhMr<9Z+H?Wa}(xe)z)NE3B?uwfsNx}V1 zJct#M;vUk_d0=SM+kl}UF6*44Wa2cVCOYMq!Pb!>Xk=JHrruVPSqDxa4uTSNRz|>N zo3WL!!f7*Ju|8wT@r8!FCMChi(T3(>2}T4VMLhSnaYf~Kd)JoB=Lo7 zMJ4h?lVScu%7ImC@mSZ906fMEN_B4E{JG13ei(xn^`__*Lk0SFxC2W+hL1qWo(= z@nS|+weMT-2HtW}QbxukkuK6&pd(ll@KMAfCVvFD)Wz7LKuU;*XxPiqeD;#&fa0nU za;a9;3Y};(CgjzlH~k{KZh6MC0$e<2y8cv=V+ zD&gS_Zcl}|9|CizI|%nFdK0(YoRMkUp@bNf$9Npb=1HW}drw!Yy$rKSALqE&cjnrs zU+-;^4N@Bmj(Ljem`9B0Geml+Sy1Wi>~-|4LqJ$w5GkVrY&p^QHVLB6&W(!JQh8d? z=VSbtVbbRV{DINV{B>gBaVb|c@Ws=ND5p-Ab>cSTtmtvla?13s!po>r&6FZcA#TdS~0PT zWce|P)n4=_g39egC4TewnZo@uj>~4mv`MH}q?aiT`MpVeJnXjN+g2_(@N0&|6*(NHlLHudi_yqDfK$M@A zWpMY9Ve4k#KBa^>r;dco@F8;)eEbp@1R*W``>V$W*J67jtJA~a4wJE&GSR|L-BnLYlwnL zOOwH(X=wCeyCgrAZfFrm)=Y84131*13CLc6EEAPkXla0j+oNc(ja6!X)XMxgA++5r znai3eS8DK%?0Rl3%!|d{27GGbZXJCsw~4;C+hVhUp^3KM6HW$qEa;YSO?=}Ua=7X& z<+?V$PKLt|(}u)5Hz8!>-=o2YYrEo|n-Jo{x;Rd3f2L1tf2QsQ{9FTmt^mK#fL|!U zFE!wo3h|TskWKma6g%s>HZkr6#YBWIFh2&BOS6s zVIE26$W;mQ1~w1oe}q~chzTAWbiCjOJHt;aUySZ?B=NJFi<2gswmvFfzI=?ptO}Hw zlPwj)?ZxPkG;I~&ZpI1sk$k#MXWveF%c)w_X&yHon|I(hIDIVB-IKABoAE|3ux|6Q zS~QmB&IVS>%vfX%5oq_0MvJ?16k2@qn<~#wk4CfIdkjY7tCmOUO23)3>oSQ39zdsO zRK;KKmo6)GB97YuLwRvCR@@g z=Kur_CA*mFFil4+HJKwiZd)yr^p5u_1Tbt}K-^U>sT>@>(&szgpX zDZPbwd4l}#e!+-3IQR%%mxAmAyyfRtZj^B<2ZG##@N+OJj5ImkGL-%V8R#8i>Y6Pi z9PdzURsSaPmX*qjbjn(dss7ttwz2;qLB54C+W##I&CWG{G;FUzGlm`oKo+U6tPqWTx@ zan7VmE8dAn+_c<1ZJeux4oIB5ws(8_zkXyrWHi)|S0l z?-&5_Oy&3?S?^erjVClvdSN>MGZvi-c1|ZHw!k*@-Ip~I_TT?2^;-EL*3QdWp=bq- zDN2?ab+Ne zakSrL>Ao2Hm_Qu&0FvQ^vWE(*v4!cHFiInNWwFXGf1t%beMowLHGCy!PW7kylmThu znw2?T+KWb{O`5yCDV=B`ld+n5cbeZfRelR#Qv>bfE(>_%0GYof^RKMLbYu~Ndn!q5 z6NGyjZA%(>bZriJM%GuK#2c!uvJ>7axFiQ1N6VArP2YwIY|7QmFj5$kgG>*#+4c|T zc`|tEl-Q2*+*9RwdQ9heMvU`36Kv*-5?6Q}mqR*ZYa8-d9t-pS0t8Z*W%x^sI=|v*O**v*6v)Ll$*7)js|H%7GGN z3)~rdE)tjJOaYX3l$)8U@+Er5fd5)F}U?M&Uf$jJlber!qao$sVV9K2GmX z+9>N9l(i-v$v4jVcBmC8jjYJoD|{RfZiRn&EnmmHE5fqJcmRnijSnI!96`F$>~vAPmj>*fY#G@LhDjR>lr?+ zXDV9P60Q9^yH3*4IxN`8Ku-t`DRcNu3 z?Tc5RoU#*6r<6yoJoltjTeY0~`yc_BJ-_7`ofO~f?<2}>T5Dsix-lsCQ$e{SnMI?T zP2DN8rF(+e*4-fUcHFZihn}04j&ro*T(E!nB`gO!um|z~GB0mbUU9mwlZ^4(;ybLm zW?g5=_V(2$pOi|r_4zf|-19=1q-MY7jy9Wn9pPR^7KKe}x3#=44`UUn8176+d9hgx zpbI-}Gq`{Clb^BMPDzo(X!X1(I5cZ9BOAV5=N<47zBs3b3FSgdqh=$`MKIz?Ut7z_ zC#n5XHVn}}BPq-$-9ez3BsTZYXiyeB2Wj+Za<9;VMvMaA4g#Awkj9@G%7c z&@9<}7^JJ#TdR=Ds<7i)#O6${N8<(JLu}B|DhdH>aV3DjI9+qdM9k~{<Q2!N1o%4CObVP+rLj2npdCc4R1m`o z0oDNkTC%A^tq|@_vR2)zZDks*pA$Z}=Ox%f!;2()Ig*s5njvjH7ugCx0ef@dy!F`W z7#8`HLw+%U%)RravkwtcDq^)xi5yCnfZgD#80}+n3J>z_S^wn__tV%Gtx};E&<0=V z%@Dgd6^3%K8~jP=O5@G#<2*dNJ(TXUy#u790ULqEPTN}vQ!ObCEYx%1ycfyfi(GBt znemdt^`lEMk{p8C-uukx(oHKU!wP57e zn`4peF6b?VGpMioS%=>!B&g|KXp+re<=cP_n((`Yrnl50Ju9kroc*D=h3TQ{jXrz` zMhGV$E&}Jd118x^1m}5&U>U66gsCw)d-WS9rx=-a!TXA5?>haR5&Fl=GC~%Yr$)G+ zp*>~c-fbINkG95GbVxu4bUdpuK5()Zfk$W5gfnT#8^XO2%{_@W@OI}x(Ky-xQotwVa&HJ zYm8Zob-h`n7cc>G{UGhJgUWO$&(M=Ng=Gr9(d4_&UY7;!r#d^E-B^n;=VBa$Y%;lY zj{AOUgX!42dLIoDKB-+HGWAe2^QOqdJb{h57UQfB2D)Y&)tpqhM8@4zgKRH_Yl3uj zd{qW)0x1o{_E%(6K#L&NK*Vulbu4K&jJ^;68=t978MOapz#X=~fOwaqKCeJ=MnOMh zDtm)0L)6N;Bi)fyr8Jmsy_4|lc{{1G9v#cz#X4NqZTr<%Un&p1eO7M zV|0dk4M_a`P)(gVoISw544m*jMIEM4B?p9S!3C%T>Anu=e;#V8iw|cH9P_y@HTTRk z+78$6b)9N74{CS9xb!1jmN`@t!uzyILpqfWFBLTU{eDcA372T9Um^;UrTQq54JE_d zFcE*o3<~)(Np-Z4!JO$`k9f8$uI+wSk6O}w0~fcZ&K}Ml2#{WmpcUZ$c!wF;lLqX<&+(fJ8lF;H$il2#PI60pX%OB zLl+`=b70=_6)}J`$rz>S-9n+r%l$Tls|IftjlzTvQ?~705bGGFEKY0@C)F&?G>#EVY|0Wz&7|L-Jp?< zM(wJNS?MmNDtBO*hFcJ1u$jbS{-q*O28qg7!HZwS5WOKptm)lL)kT0isTV8@`AqLV zo3zcoBt2^Wh5kts`hE+r?lL3OF9C)3Wm9Xi-7Q_~4uaLX@VFA(v#&NfdxCfLma4gZ zM`_Q5(YvpsG=46^`-(Zvd)3uOer_;s&E19c1KRHym8ed$y~t^HSH6nsM?~5inJ!_? z)Q{S1>Ozj`J}aZH+khGn7Xg}Z+&HwZY^V2mz2+V(-gCPcuZ7~ZNAnxtc<0(ut^Y(zVuaS!5s72jskO)A-b?2dwfwryJ*a`&deEyK|)Oe^o^5UjnK{BI!OY z3!kmG8aN@k=2IW{?&T?ErJP3YGg)taV5+Umua=f%;>u5lta8F4i@Us+B{Gitb1a5h z>J!W+bmc3PaDPe1h(oPIhD`Qrn4NCq+3AqLVvPF>8**BGa;PIzR)@+8OPmZ_LxNP2 z=Q7-sXo|;LczyVNbv$XEe$0E5(+|pJ?05^j@No3_xLfLtvSH z=C`8aJF)TW7?r|s;qCkx~jUWJDmhNOLs^h31DK8?u0m;2@fdOk11uiZ8J1U|{4-~rt&6q(5lM@w)|sXu#M6`dBF!91 zuHIidYe0QuNh;=X>}wjI$gACf;gxK>h2g4|2HX|l)my$D5>{cVjxU8+*8sBp0~&mM zDFBx(2F-=r?|PJR{A~Mt&j{;_QaP*|?{cwr7Gs;=L~y^0A7J91hB+C9Vflmx(0miO zEDFTasHa=3V$ZwU)ov<}Zxym&-~cs|l2TmnY3*H&m!vc%9>xa$A-?dd6_}4J;>Ee# z!5bvbCa2QRA59Kx)!Dj5b0r`;xk?M`B=5Q)QUlSgnc5itlep#70NQoOMwK|P2MK96KQvUXDce@klE(pd>d!3TT3wRPY zoKyQG#tT|u?Jj7MPoOHbXzf!;B(Js4({AJ$H?rG73$YqfhYv@d6^S6_j^*2#7FHD~i6wLIyJ+fHoMAzst8w&Q>(<{}G=Gxmcnj!PeD zm+z5Qfg3i#un0YDLJvDHsswX@N3h;I%vy+}TZ*o3qcEyiZ_(<+nmXKh=4zhnV_iOE zc`wt%y~~0K-@A-w3%W50>IRGLp;)@bx>4g-OXkdWUUnw^P{1moRPQWI+2~sBa^4WE zizU;FE=*&6?hnPf$cm~}>%139T3@UED+bV7pgK(t@VeFqd_LhW`lf{Y9|ROJmmq6a zam#h6`AEKTNMjS4z&dS=RyT7ITD}{_Z**hf8P&p>x3Q?>8P!(COHAyn>eU>u9jsG` zG}Ai7Kh;?7M?Lhs$W95iSX(mFjY%}@i3VzyBD=};hwHDGGK+Zq&(HR5OIf!p<^2gW zK|lGF$r@3o{W=;GDUjk-sw9bGi=@X^SP@n#dQ20}3@s4kO2wvEAX*(PJTr;rRR@bY zy6{fbvXCi0uw<1{0r>;QoNUky)z}E+F>hE zH5svzr@Eq5I$4q846=w)vtpzG+Q#UbTn^Cq`Swan*85w(Hr~_v?QQ)Iw0`>u4OWNG z`L%BcsQ@xgF;|M0%>@xF255R!-1H>f+9Oo>k;MW0UJGyT2o5b``kc3O1kVnvI|*O& zcdEvcw0b1LIqLv3p+};wA2ZQ^^Jh%u2+W_Hvmq+Kt7f2m%SI5l&nDpc>ORa1 z+?FJgR$>Fj6d@1muL^0RfL5iKT*T1;54T_(y9pOtq^`iQnvd|3XSBusdV6hvx& zL=lRFRwW~I?Fju-Lf5?W1QE$v$bF`Oc>Y9jCXLAC(Xz7#O~SfmxD$`ccMxPqfiiYYx2!CNug|o z6?JvVYf+Sw#ZpUA25@ko{3xr|zoUW}xEb@PBpw}%D>%l`0B%h(b(Lz}f45G$Bzfa! z+A`0Hl=!A)&i`_%<**hpq8uo~C@Q8h%WEanQMXWw*dR~la;N!e=C5LnytB{&v6!S_ zAAsEzQch>9zxsyo9+8;4=akAm(hc2?zf~X^>CCT$YNnXo&8#aiaQ^Z3B z&nrBDv%K!WUWVKXjaDdmF<&%Ppx3^D>02P*d=cxGg5xfHkV)g-moOUKr(j3j!Xhq~ zsQI$vZ@z-rcX8so*?2+NVM+9uV;js`BKAp;@3Sc1Wza>3v|Qq>eU-D%MI6;~YF|?@ zTr#qCG`XjUH$!*HMj#k5n~_#ss4u-8Rg-7_3zhI~rdrNd(vl)qk?F$ns#^PYs?syn zJh4;?oedMgF`UzGq=eMiCA0@6m4CrY)AeDnx3hA2?%kM(A*5N{|7h3#UAz0Z65V7OyM)9@P zD&rA%%YuKv_NREPPv8=yfI|w{q>c`$qfHv>kcM(WX!Sh2Xi?%vTCwr|nw}U!V$snj zE3!~l#xEq<^@F(X098{7O5%*yarPQ}q<)~Q8*%zKL5Of=x6uPdVbRKSqTHm*nygT$ z3ObpqcuFEVRWaTvoW-h{_xwj$@hWknO|VfBs;gJ#TRI{s7y@x`_IHk%C6c{ueV|As zhPcB6?1U4N_kwVK>L=b$PR&PVn;5NeK$K>vrLHko%3U}~>e*B3D8g6SEc(kS<0|fN zTXLzdFSSac=ys3Z;g;BQ<+ZqMNjc3b&+LelCGsowq2p+~YO!@Hl{)W`(kWWIpOqe;Knlew z0$RQ<8ZS=*gmW&>m@+Jl9^?V49<0HXsityYt8pvu6))H>KR;c0W5p3QH?uH%H2WzTe& zl(Zv?D9W>1NsKVblG`iCJ*d&dn5N7Yj(xu5xW6#D4w)eIbR z+L}L23_J3ZBQ^0QuL?L^A;pE5m-!vl$E_rz)pSLR2ejgUVuhkqQP|*9-sEO;J)Zt9 zDxMh+D<$SSVX329kQJ)q&3?(UT^+aPS*`T1t!|UEJI}dK*REpjb5m077DfL+??Qg3 z+xlK)=sbkjQBMi0O|JG}9~M?m!3E|(q*vEi+uk8i5}lkLsr+2DKfUa$_EL_@ ziU&kdM#^k$7U`wSs!@o}%4)kKTGz3wpX=lrl`GDGJyqmf695<)x+BhaR-AiNeo3Jwamckn*1Mo0RAlOvGH`cS&l2@;=H^3w2+kBpa zreE=nVSl7)3B1gA_{fExW4^0c?_FeTT4LBa{8AJI<25$G5mx!d7jY@s^4Hw{n#|!j$4uM}bw((N-BjH*)E3=McrJ09jDtO8G(4Wz=n7sX1uir z(9aF$x(77hBfJask{MRwcoj-4K#yRq5iB!8ngj*Oc0?-GJ8Js~l)I|>2x|My|co5~zJIMq6wmD}}958S_ zWCe>Z!iskmzg9L`b=IM9%@&1Mj3ATIY8FjVofhY0tRfzt%ef)cF4rr-Qw2ise0KuE3tS-L}UbFXHHT1U=cU8XPl+jQKEOkPwfW~ z@R2UU-#|D?v(EwCjvk!PWBcP(em)vP)e3*t@lQd}vn2CFaemHqShIW})WHy)7sh*| z)_U?HBv;^Nn3f%{m`CB^n;z6|Rc^M%GMIs@u=p!e_#+nonXUQlv%k4grwaSLi_UBF zeSG$t2a5d``WH@d^Fmd+T6ZD@W`X!kKHHdq_nPr$BR@UI4_;XhZasvvyMe^Xq)*dg zU9EQ{C!EvvEi``iEIlY50Dj2*CaBKOqgfK*dTTOy?rVTFZe8+h(1liAPf!vBNN+ckR zNhvfq6oZ_=WXr%*NW5>J5sX?(4wV5J&najzpSC5Kr*9FjaRza7TC_yxdFN=akTJno z%5wWqr_q}{bkP+G|JuRiTM}05Pe9|SeGadr2hDqQ(GuzFx46eC32XHb8N5C<^Bnv2 zsgteOu9lyZ`W_W1$@i)*v;Fz8xU!LgBFvsUOt(6LoMHvL&H3z*_1QN5?2!Aj-EHFD zos2tqB(hrL!$Ons6Rkf@v(9m)yiJuW_;PCmqf$Rwd^Uxt_2cp5H|F#3(wK)~-Xzv3 z#+h)B5&C5ecl|yQNuj{Y#>#akqv-|3?}oXgXbXiKzo%Hglk9QCB#TgO{Z6)ir&_<$ ztl#PQ-9R5q=N#EiqzMU-BU4~BUSc1x+yGQ){RS{82NZD zNDMH>$b2l2$M3g0VW2!BJwrwyxpG=J7NJBp%XJfwl=EmRHIW<@3oJ*^3ZvS^&E?Cv zmxVvNxq3LXCUXLxmzu}{PVU_-_!RMxBFau_vZzhwX~eyS3Sy!Yq|#J&ryT{?pfM3m z;bh!DiD$~9FsWmlD#{1C=Tc{l2(=f_l8u=O zA|iG!nBGT5(u8EBwRAM=d1=m)y+iq0dC+p>Kp8%!9ynqw5HpwYB4PYv&G$}}f~QIy z#a@>}n6-YEk{Whd8Jk=MN~^$RAsK>Zeg)w;h2ucpuXN@ONLKl5*_eR5M+J9o6-sQH z2n#<_taIxkZ0#)y-t41_DKjIdU|shGv6?3`AIlV8xY#mB=M_D!FH!77JV(qMMHv{< zpfe-|`_WUZs72aHYjT`rH;E51KCoJAN{fyNzEVq0H)5#HqM~kLeQ=5++ek(+?h~3L zkOeGbiYX^YC-%(lu#N~?qczded%qFox%Z>V^+A?ko;cQ@%!=l+ zBdFZDF31i2RzH@D0S{}{K8+d2sVO*GDkyVlL~(F}qUSbCm4_;ghl~M^1}XbUu004bp2^+Uw{XtVlGovr<#h%#dD!Y3jn{;zxX>wGJ`Yu17B#Fu%vxV~ueC z0QWj5oF93NfdmK+t%OR&D)=)wmk7iBJ38;ltq}7c^kW%SSlbfT*(_s5a%iQ9CzwRK zPPEds0CQx@>q_p#sitzmel1Lclb;mpC3mZ8orrq3$aN?+8j}Ar8R3H-5%QSLdVj0# zS}Dx>LfS5!ru*1UJ^Ar#QDt ztNoY4hlE9He?feqSfNOmZvB|QA~n^b9yx3SMt98L5ccc*&;-JZ9KwjfI@iT#I3R;u zgK47RG_Dz}H89m)PdGro19=Swf=c}h|I+N}TCcDAR1d#23ldVr4W^#6eBXyZ{Y68kNP(aArky31&edpyIY0fLcJvcXlQ+pWg{A^3`X4?{JJB*8U@y3;ET$Eh%9%So&qk)KAe+t(hRl(U@1=Q)W>SQd( z^r@2LC9C4X#o4TUQUXw!)n11$XdMp=xY@{OjA^2Gp>D7L_idl=57MI<7wE}5<&#>4 zVLGy>n62@OP~uY>Hj9NMQW;r_W`*QZ7%5@&K7hiVV;AlmtF+It3Fla9)*6B1@n}-l z!ft>#JReFF%(a(c6+Q%yT}#!31rb=}y%4_qPNl7%Wzx@stb5arwS~m?x%NSNysVt~ zkkC*`c^4&~uWXnb?VY114iiaG3=zp3A%)h%25(AX=-c zc(xE+Y?LM=nCMW`*1}4VExDyq1If8{wi+8m^C)gLel4EQ>v&wU{MxslVlg!pFb zz5b}<&qg;?(I|Gdq=%_}6UxmZ=&WJgFP-oYVV?lya|$V`!MKkJ>u#LvG>uKHwJ~AE z2G`nBcX(1?^`!RjC=M;rA5_VgLOsEgce*EUttWM(C-ojr>hqq|k3FeBds1`f5w&}2 zddoej$9Ynx&hyG~-8`?@F7xEQ*Mln71wu+ZovnvxI-3ZQb#nu{vUrxF>l^0c1)M!t zW|@oc97#-%bqlZ@X6R8Nwr&$nnr_^|y#dSHo9&~RHx z?4`t-%f#SYNyeEL8>(@fAziQ_#&kXPVf8ohCVWJ&u-yUi^0;_CU8LwQ?pFqrYe$9B z=$fP*wSFZ3M??NE_+OQO7(8rCWfN0v>T<7VU4H6G^)fM~2@_Lo!etXvZK!Nwstt9p zC)LZul;&w-N=y9incm#_UeuT;wZA8Ij3;%T2Q`O;Jd+J629!=sA*E9e&F;<1Au=wB z?rBN1tOdD7lQI?Lx=iA_ab;4xpLdHl9*NO~ja(s9U-$-hmmQgUmHM1xAXC>-Dpfx( zp1F)HMbpF^oCB`LzGg(&*vnMo8G%eySRASI!Jf);(T6}7#h{4oqHv;B%Z&v4EjL6i zV7Vb^JZVT84G6NF=>@_(lb}Gx^iG@rivs!5qizah%N;$W%8f&w-1y)W95STmxnqU= z1YM>l1QqhrI%dd@p6{kWZuHJ>3S>s_;-)}e^g=h~{p42(eSvi(wOr>_)>uF<3c8q$ zt8`pOgVCTtryokO@H4ElcsQwu{_mtJ+C%@=0TMnlo_V*dJ8+%7k~o{Y9Xthi+CwjsrAH2-3f86(=<;^9G;TBu#vn zW?M$fB=3fmi!J){{Ejlj^O3Yr%UcmAcB4y3sS-O&(Mw?k5cs^X2Co zIt{_>zBQoe;<&HgDRJ)tm=V=e70-b6BpsISNj$v(O~6qAn%$&Rh^#2e^o9m0N?sN+6zD@1z3+ye5+hmS@-!sqJ$z7+f2 zvWsN&ZIw357ikOINUu_hHE6RY`#3Ie^12aTLDiN;RrD)|g)F)zXO=A9{Rgtx#mDbA zN+l_>_yPUT#CW5XEc&I>eb%^kn@bj7^pFEB@q;Hd*Yu+PpO1|DdWL(lCv}b|^?Xn2 zHc#q@9#m(X*!z#hiQ(ipQI8lmBu9dur&f`@C++Jp!I$>`eEI)(^v3^bNo$FWMgJS+ zAN}u@|H8yziq@@q@a(&Ih#d3Kw}@vrui0OZdhy2tezqypQAy0C57nfOP*c=dPAFBO zWdwzV$)FgzayX$@hZ*?nOL{=_wA4uCls6mrUVgx_pB->4FUBLJQ8q2ItuKBS5Ec|$ z!gyR##oVEZk{Nr}K7(+a6q#zDLC~e$B#+1XY`cGHGV8~rNxyAQxB>A9K-^bm-SoG9 zbe3L)B`~Q!b(UTwMXTz})t2{`Q@wb1Fm*=?6|$FOxzQFh#|YbzFv2!Vm^onvf4Pzq z(^O*^Q8XZNew5ws8ycS@t)MPJ*le_UaOiLJ*l^OmczZC;lAiW zO&myA;zOOuGG5v2rbL_Kw&CKgwe6Zj?xy4=`A(>9*BWv+j5uw+b8Ec}A?q%)naM68 zeZZ5xEU{1^@k&bI5W2(%wU!0X5*D{W;`0^9QbK`n1rk4`gi^)S z?8U9A5H5FEXERq-3fC&8o($^WDQ}l{cTEJ@Yo?bM1S}vPOmc;FFMn`us~A|m0*O_v zhygKF@84!bZm$8&B7k*1QlYLjAYB?o^y5j#6lGpkMOvpM(#evV#Ky&J;8`4#+)|Qf zIf&%2Jk}mdp2PBKdn}zCmS5Uq$#+B+Jcoqnrf;LeVg&ZC%Jb8zc?(pX)<~X_qAK@}g?S?Yh|8^-DBZlukh3^;j~3w>%># zI?szb%9C2}N!<Lz;WIY|aoOC-6H z7T_A;-7^bET_nCqhJae&o7OIK&0GnItQ8Iuia+sq5=X)3xuZpy^K*R`j?zvXNPd8F zF6xksqJ#&L0c*4?#;Iq^LdUWKwB-ME-K*AWbuY=;2`BcHcuD%v zp417R)FqzOjh@tE|uXBD%m)>qVyR_kKFP(*LINM8SQLqi`ucvq?v?wh5Wse^Ppzc!B;XInp;PO;sCAyyTkHN{bSn0~Z^VrQj88GOu+~-@XgZaa8k+GPEKl#D z5Y03ktJ7;kDnI_vn~#f*3OYN?#nuk98p-y@jtHw^e-m~$#oL#eVtyS7Tc_Uq(Q0x3 zXv5szuUmly%O47u=_<}A<5fau&1(?-o@CoqDu)4cvGT<>oU(#pyg=V%9i|hPU|~J< zbH}>*zA~|%R6%2sk;yxcfFWxYt9)g0y+C!=AJn*^@)CsVT7sD4W_6Yztb1?b5*&rV z+xUs|S32{0-kpp26L%0PUGrRs$QZE9IY?5%i?Q}r7@r}rw&umIS1^)11yRDs_X3t1 zhxUR|_dXa7>;+v%I!gGkUa*s!2M6_n`EDK@(hC;2DL9}P?ChrCa9*&Bn}UOR!9q6$ zhw_3&K{x4VCZ)MaIF1)A3b{$;OiFi?j$=}Wn>3Y4neM#QF{y)_>oO*FOmgwryI@f` zNf8?ZgX(z+q1AzSdkx_R`d>#i)ZMjrHx|au72K!FDI+K9gwIaE;?^j%ubouiX<{!w z+PhGRG>P_*qa~DjKC&uqe)6^TM6Y_QF^2TS%=)%XTTjfbZ`-u>#3~P7%_UycTv@-*kL1Pi7bR2vth-oRiuh7u9bTe4PnD=`9m+Q@a+&nd z?Q`85q@gd{#kE=*|E^SI-*Hl@9Eae|Mx!Fg_Rh9GdF`gYgSFyqpDd{ATc8zhKlDss zFgA__Y4AfhIIm){uK32X8A~dLi%$mM1Nt}2x8=59w)f4|iU-xse4wIQ;1x3myuzN^ ztI}r`MOyIyc0h^0loxM3SkYs^4s1y$Hr3m0bn$?@nX=oV%pGtoQ@(R3GX`A56s5tY zjEgN%5?vg0WNfyQ80etGVw04_aSl2tcA~1wY2EjF?*(xs4Ik zywUpIVEx{OU$s1t$EN@~%A%&@1FiWdjgQmfaTj7eYSoF9S+rL+DU$L`HR|%;q9i^$ z)lSo~N@Bz~8#zWvOm-4KP)W>nkUmP{LI>%oByMz&vREah@p3Dz8?E1~t>0^`-)pVk z>+qXXhVlDRRI-$za1OPXzKXawluoJ}YQG3-KM>E+^nlahSi3P>97TUX*os|E;d}+T z68)N*s%K#?xf2Cs&LEkmp9!+vW-L?4qhwr}(KBKdqSq2#S`=Lx&Z8`|8;0GBSzml0 z4x*L6kb1v?_xFZLgX%0>1H9_gSfjCNPW$-$Jifn_LET^d0*y_PDaL&iiLBPow@%*k z@9}aSSn>RT#_Jk*Nz|b@2ux;|4U)}A5QO__J-9cn{ftkTrD45vOU?FnYFG3A+KAia5L>{yvk41D>-pnkDa!7~6{5W`P z>d<$od$Gr0gQyJ0B+C%hC!Pm*5errR^0L&oIXWtSi-e^t@vfA3g+t+8>yREbWxUR> znLiU6N!NKR5#yu*PvWA8Lc;BSv;mpb#q$h7!%wX7iE7-4O_B4a>L0Y_07hBavF!5r8Qw#ZtR~j&4 z5uxOXlyRq+;SX9VGe(T`zQMY9#e7kf^x2)JwPbLS<7=S<-e(j#M&GvhVjTvb2q<@mqenM0t=- z{;%JjaH#@LS4QlpU@~1+s{Y$AO+3+(6Xc}xnF{9!)_?uxM5T1%GPae<_1RUjY;h^Z zljszzBCmqQB6cd8d9*V>68rUhugZEKpG`YVPSdCtmBrio#&JmAR~A-OT=4-pab$q+ zIoWM|D*gV5zR2mdD#SDio!Sx9sU>`loRoLebZ!hpW&ug|Y;O{XR;gN~sVs2-9FZn1 z+QesE#D2prasDx^CMF%}K9E|fCbCQ2gf!Lr36L(CYI)e0nS2p|Z;Fw4Z|4IG$-32| z+zd$0y3tShC^dP2nIlM7d1upg_v0yyw>R2PV_2q6^gz%rO5S)IyRSX)qFNcB%S2vI zb@XEGL_gQp;}{lG_3hFzo~^@k7V#|c>v{nrY|Kc>f{P_$K8#t}ZLN}*csM0xft0sX zXp&iwyx%1&VSi9Jo`LT)N?ECWf$P22X9S&of30L}6Gs41PtVftIL;fISKL=-KfpAY zbb&Inei8Ry=;+h5t-DGrwR3q*n9*eY5z~o# zHwsh^D8?Slsbv}%8Gq$L4`_S2-;@)#kyHgS0ODFYQ0I!-|4H!( z=4eGgR6@)b&DPp2h;pjQm>gE^0>L;aWaV^4yE#?Mvl7brG;6gQHmjdR5mB6lE<6%N zF{qrfEhTx%mXc1^1vI0+m442a*4>ya6TCh;A*D<#!HF$vTPD$pGcEC{2nt7Dm6h@G zlTu5ov`t~D?G=nyfs{8orQvsWXujX9)L6DOVT9EE~fDw7kZx2DuDq)$aK zcG+BXo!xgSl1aZ?Mc?&2dMZ3Krsd6y;~pL#X5{>#Lm95aUKSmu&!%4WQK;12v|WGPYOO9?r9k8-93F9p@Cfr84gXaPno>q{lOzY~2NXB>UlDFJ>MjB9>7YJNyV0>U^zODv_zj@0JRc(oBEEpcm-P)mfCoRD}4 z%w?|^&mCKDqI8vxI8MBI-Xt64&Nz`H(M2S_GX6DlRXk4R#a3&v)h5}77ypggTj93;q?1m~X>9Tds{@-g;j0VGgB!iDtjO zhBrwkv7OX+h&xLxl5&c#>af{De8E;O8U#{k4v>azsI$>&>v}jz1WG2lT&m)IAzaPHH z4%8v(8E*T6!7|&P?1ZzDX&FqvlezEzqf{hwY38eKthkDBgVK?e$#8r8akyrI+Qy`! z6HabnQl?*|-zgLh=h}J`Pz2HH5jGC9GtM}4QF(N9RF-NKs$4RX@Fo?B@^cj$?4P30 zal2+&Q@dbDkKLU5CubIHX!@AmOQ)% znKU4qeBjNtt=dyMX_;+Xb%S)oL$*6ty7wuOf12;Cgup%|8*_yGE*0Yc3iR_bjh_}; z$xAc`e3DjQ2j+!pZk48}6*O&Bm0p-#szqm2_fFagRq$%O_1+M|$gNUy(_%RSk?RnM z`5px~cXFCieuOO7Er)_I-oq5Hzg)MJAAxukrLNV(E7py8RwQ|{ZJuVqvx0*aF+tyP z1n*;u{Kq!r79ZM!lLX;k(<@8PHDKx~@gixd+5(KAv8IG*%tD{A6~)N&Zlp-8d&_Kx zZw>MrHQwh2$KJ4^BO5Kc{m}7`IzMzQNzOa#`T4>Qm>u8??$BQZ(oY}?9?%x|0`UD* zep}fUm!kUl<#7=m$vs|L7x5+EnWFkG6!9U=M|y>0{@!jNb{GW(B8)+H%;vkT68g4J zjCTqwn^JAc1!+CUyJ+kE-$;w<&{>^z3TRQt(6zVqwFRj;^+vYLX-uoFb2lX zec;=mQvj0?Gzq? zWi>6rMDds-}gB0+k*s<0^2So9x$rQ6xy@iEDcG@ZvAs^1uk z^})h?BSAssdj{o%qK>p&o&2L+g`WPqM)&azRUCe z&MmW#&?nXWNt&^^{ZE`K=X6e!oHwZ^v((~&<1{78j}$A`gXT0A0$NyToY!s^bf+BK zG$zOv?s&`)vSo<36Vc6ZVb;x-C3VRv495c)Q!eIb;o+6mGB}h+0yMw=h0h@C{kpKchw*H@yEMS2auCo9{n+fL#W(l4$?DVm{bNc35G z11}1T8$;~Gu3Nbp5cw|_FSzR}=RY7GH#Fz_?A6~8@5HGlzbp6x(o)xMTJr6**y{`; z9|(Bh3sfD#$(tbC2n~kSrffg2Gh}PRycfozn=nH?0;AYKtTZcNl)xDbTQAM);UGU~ z?@D5}PF$ssj@L*!0*4|q9q9<$OG3vW<;&ZZzydqvVLulDNnhBV3HvxpaKqdo$MJO6 zlDU<>st3fo=35(9VQN>H_>G2ZuU>-=mX81&NeQbpFvWyFGnM5xT%hsNek1=*G!#l% zVtk{th&{|6*ix~mrYH3}PwI=F)So=5{a1NWCwo%Q_oUwAN!{Z~{o0e-{{k=STuk$=RK)Ec~Zj{c~Ot`q@M0c-RMc(>q-62lUj7K z7xg4h>T*x&Z6|2@LDfwFHh=JPwEYx)Lov`uRW=`>%6FgJ*jg&sh4?D z@Aag<<4OJ9liG8=7j>p5^(s&5E>G$~Pipq1UesZp)bl;54|`JI_oVtS^P-k}QYUy) z>piJ=cvAOyQor=1W^eFJgD3S-PwHV$>fp=0s0%!)w|Y{a_M{&6q;|T(Q?Gkcr+ZSD zds46Sr0(*hzT-*#$&>2e=-EqqQcw4!-tS4>=Sls^lUj787xidQ>Ksq%T2Jb&p42^_ z)XzPs;j6r;Lp-SqJgJ*Jsc(5wm8(6=!IOHfCw09ib+;$=uqQQkji;n~QZM(U?)9Yp z;7QHB){ENLlRD3ndaEb(HBV~rI?wX;q@L|bz0Q;RiYN8w)>LaP67STXj=k10A~s$~ z-nH1XX}pMB4M2^n=wst&KhHh+*Zd7&xOMa_EiHDo1}o-iA>ACIW9RC4h9_bx?3w@` z05wN~xm?9Lpd*4f!wo`e0c1`nx$a} z+nUq%q=YZNfg(xcqR~t$z%yHl_vmY*O-|SaQuFLo)h`H3!6twbiq5KFf(U zE!HVZ;#gb984a}*kO#-vLUBs&I3s1cy}uNaN_!>4$I0rm5k3UOy}e{yAAlX-_h06P zU6e<9KvBiU#~IEkj<;wo-D!@82&hYbNov(;EJO|Ze)NEFMHS3qz$ zsa%Qj>92ejk8!MulPPN0Uk~P%G1;1$!_HvDygh)24SD^^no#quszqX>>s6ru&F;;I zh%+W1%74EI$2F5%WWqM;FlqWt(y>^ZlBIz3&WA$AhGU)T4wP$d{Uw^cuBb?Jun%p& z%_7&qD_YGQ0+EeB1+XtmrC+7Xk@_S}_?vx2i@Gg<1ydy+(9N6Sly%GAMDqLIH|LaX zaGplLDZuM4x8TQbYzeS=Ta*Eg@vYXZ=ek#mhEcc1CakdtYi+_>i?Gfnu;U@QwjV`V zzg}~8cjY=D#=QZyuW*-${vIpBOYN^OwSv3MCR}C_HrNDqaM@AAljg8ZD1Ytd0KbaA zo|{{LZf?A`R%Y=~lv}}qMlwC%oc6LT&WO(jsKQPY&C=rPD)9X!n;(9#HQ8-g1LIs1aOz$6^Hx?JPq-+aM4j|wVk z>;l^qK`F{q)P|uHKtzx$5_ghns~tv^6~_pc&J^D60G|tIJYO-McAoi!2?UYQcMTsUUVyzqdV*|vRygyUT^k-_u zUxgUluGvO=#a7v~=qxCW8ry8BvG+vww$B~X^Ec*CW`n@#dQs;rs)Olm!8A_LpvtFYvG*=6un|T7u`A~|rF9u*@1>wI#{PVeupg8=KlxrnD z_0@2d@TNxluElV*U}yo_Pj0vdsPVpqUCY=9wqAvvGf}otzPnWtQMMRwaA&rmJe2qX z8k-xX7P+kltmN@q8uZN~=WL|L4}dgWj}Dlh(C71}k@Q%emS{d*TBHP;Ty)+?f%)%` zv_#Gg_UTmF8WerVx&JsI?9qQ@<>v-heh6)H<)4aYle>5b-|WU&x8c6Pxvuo)Q@o1W zLFEdYn|xfwN=w}pEM-X@BPgN;LnWtc0p6KMo$qkI6S>XwUy5h&&3S^9%p!f$Kb6)t z+okrr;L86?Y5t!i5HfIYO8N$H`uGIyf1D(RMOj?Z%TTyp#XI5YT4JO-UH?l7N4jy3 z0`CX5o9_Rxeukuka~g-^Ppz2$C{0JDgf*W&;da_V=IXvw#T!DdqV)&};T&s^k+`6R zj^U#uTEopmu&l*()*5a}VwqaQtqvB~HLDBebQRiT0ui3w2e%#+SmOuWc1!r$#%-$= zE{81<^F$1GYfnxnSfY8B7_Nxk!_EtP@USI4b_8kdfas{1+&k*Q z6^K;6EmV4j95nt$MHb|8@Nv7qU*d@|(xOJF?nEQyyb+R~*Z>#wb>dpMpr;eJzy%eZ z*a{b_J@E`&*TMAyTu`lv*WrRDOtip-#*+9JF6h6+q!78F`4W%hk_&~II0RpmOG0ZR z7epYD1sAG65r+#^UzSj#vtV$tb{{mRnkSI$0p}iUDdne8*b%&qCy!eQ<`kvjoVdl*AlE>h)+&M zTC}=9L4vXBV`Si>@vXQ!*OHxXta5@1I5*ktvnuIQ-VstZ&f^_JMT`*Socen;%hs%I zvr|s|Ym;q)Axnvx`B)V@-dP5bjh_NAe-$>?rKGw36+CP)5d&lPCfRi>HE223vhhbiZ%eR`L22n2m zCZ@ugnUR`9iZUzS-HP-=to`r>sIcZD@ux~WNM8tR@#6bpNeW0cGpUCYi4!r1m}9!_ z)Xa3a4L{G<`EX!lWAPzMZdIvfo~H>Tso-o|nVO*m?QkMy2fl6X3tID98U2iO9-rqC z$)UOvSxS@5v>@iDOQ5jhU9jS#^94F{Jw;e%BS>(WULH`yMc*==qLm83%nq{w#6;m{ zyfb$T9>8BH+2RD*$1>JZpCd1se4I6%Mti12vFD_Ty-yP=2Qfpp>LtNX-pYL}mG`{J5?( zskfbHywx#zV|iEpwelI!B8(biWj4acEmT&-ulOG4h?nzS1Jo>6PnzZg5z?Z1gi%hN zF4n!u>^|R0)h51gj|OOTH{vmb$s12^-rVYGpTC8%;Aez_T-NAM%Epp{*~*I8DJ4tSjJ3;86vcNq zy4FuNerGM|l#Un{X-?WgT10mQ50_;loAt6p^=5nROSHpk%xNY24zm%%1S!rl+Wd-u z&TCRtfyBYhxSO1v^zK}xC4L6c);Y!o%#~a9G>669&X-&>GlE=oVv9jb1aG8lBmd|& zt?~RATh?G0xqzFZT=x(aOT2@eB`NYsxQ%>PElk$6xJq-xe0k*q@aYO!mRCLqcQ?3& zXi$HbF8O?tR0r9}In^H>mn9WTm88Ir2;w|r#E8>xZh9m`Ew2z^HRSQNj_pujkqBcE z5ptH4rDXYxF7!n@Zh5Fi2@=F#2@dD8EVcDFh4`i=kfj=>OWT z*C;~T199@nQi4)NX@EH^3I%6HB+;D;FCd2bNzI1k$Rp{?Qz-^X#NZFaGsMSyi#O(r zj7!?Gog~FCq>cc6Gu6=Zp9*(&Wl$o0C(Z&#>ru=(iS-m;9v6Zr2~j#$mbam}JBxN1 zN!)y+{kpm)bl5n`$6GG+1GF5b@Y(kM~FUsr8uL$3x3i1r?_ww!$5Is zm)?!-l_-WPEe&t%9W5ppQ;`;E4h()J?>>2=Q|t-Xqb zL#SxI?nRzA2%0g8Hx3q(wgD>V)xUrrMPwVCWpB!)(Odb-;!}r3iO3wNMW2Wvw(BeP zKmY1ZL2?zM#pEs`PSr6~buY2F)bF#$VX73NGHXCxkQ7y83n8uk738-5Wt&Hq;>2@4 zc;ZJE@42z_D%=Rop`IS^6KJOwUq!RpDVC99?lpRUtl_?sHDUNdQ<+ECL{j`!BDgk*Si@IQ zwTi*H1@`^p?j!jAv34o=@Y3D_CUnv*LVjXLHzFAGkz$di1C#*a-8x|hoP@!T8Ookf zJ1AxmB_=oVSTa{nQyhLyJ}+uVFP(=Kb`Ii&q1$uJ<@CFb=O>3WzH20r3OdA%!KX{A*yiF*+)9Oqb2GT} zIm~10+j&|bfn}kl@p2kUp(Q}A1+j>^q9N=_7aecEJC-J$ zI8G{rh)`0c*^6xbuS)0A?<&lRPp0gb$n{8Mi3p3PVbdrTORlHT>Je#)T!)=J<8F$3 zes>Od=;cGF)J})sBh@8`v{SIHHv==w63&Qb&Ll+SX%;k+l4G83t@{rjKXSMa7vCje zBkH_96_piLl~uhkVWnP)WK_C4;gh=4z&WSZC*5*TlDdyyoS3_CPAxe8JWH0IyP0Sc z#!D+DMZz$?`w0_H8bQC868_0b!iUc{&#>pEl>bSG9~lyaLBwBuRZuEEvF{)~k2#($ zN#lZ&w4VOU38!>QG{2V0=tCk=h?0~c%8T6^{bO7OJAoUBu*ss;Ko;m97uXSgP_k@d z(LV)8Wg&1Ha-An~uSuUxy`TEXg6V*NuYPlD2dU3C(7&6qlxA}eFx)i_FwSrq!&@f< z7Ej(lUoD-sm!=M5n4(QnNfEv965vx)0Tm9R5BsKbT!l<|ym}wGpP2mY98J3CMTBtu zim@Fv>4)n9({BU(H@m;x2wxvldY%tB;c~zSMuXlw1aQ?2fK4X?e$f~3=~}=a#sZ$i zJo_sFALr0s_W`yTfaXfTAyb#GNt1r@9TU~0XBEI--}UdLl4)vaNs|sNzxvrUY5&WB zGd2QtdG?-{(xk560B(Bg9_lzweGTDkxEyfcbmV=`&>R}2y|5dpot6grTp1znp?v)& zy>=hUd0HLlr*jH}!-me*q)diE`Pj!a$*6~Wrw{HMW;e8G(lZo(resVlo0lfNJxyDZ zCGD&jex)XTe)QfIS<)$^H%b6x;~Pz(t@eyU)KfOX_v&@GG;VC)NRex)$&smjEum9 zBu)C;G{B#yXiG9B`Ti{pY0@=QL0Qkfo4x`3k$JwIjC3~LfDoo|3GBZDsV%t_DZGC$ z;FBK$t{4mW#BJcblI7vqK1kagSB&kLB^|v4zIROoJnd`ne33xO-18TtYW`Hj^7w7= z-N5j^3c&Z7Kl2>qB6KU<(Z9ewli`k+K$(3#%I)51NL9foP?q!tPqu%SQT8zd~5376{S+nx`WNSvYpHD z!e>Fhtr}%MVhUpE@fPIYxEXNT!HX7?zS^iB+$GJTt}dpaqoqqvb{1;HZx$y&Fl8a&Q}2MoB_DB2Jp9C(4r>| zg}a|0@P_LE8*e|0#*ozu;l67);6c_!=P~E#tBXl`hq11^`8+^Be|zCOfE_se%I)BZ zGk@%MzzJ8fhP(oBrU-%SZsst+e{l$B5DDyM_1l@Sb4(P+Jk3i3#(geMF$y?Bq zOTK{b?6H7*Mqm9b77xj!NLDtC6prH-rCpuJQNo zgZqu4U)E5&=(G7VYPpZ0_Ft_+y^sE;Ste=!dThr+X~}4`yDh`vp0O5f?TBkY`Si8_ee0=!QHKo$X%?F!HrH@`X*qkQiu{QWN z|IMvgQsr9Y^s+^0HNQ0=ZLe-d+tCZ4^N(JFHuCO;Xwg@m9eRSw@Iutix(iWjF8Z@3?HGr4G;a}FL|s2{u7C1xkEcm<<^u+<``hDL z(ie9^)BbxL;Ob`pkKPVl_wUV+`Qg-A zn1V47`SpGb*kUQhSodwfHsc;BVfsX1Phtmxu;%{2K9h!XD0>yQ6 zIw{z-qm+5#uI;M`yMg_-PH8BxMqe)beeyN13w&MK@6QIXwZ4Ij9rgpe z%r}y;;R>+JeG?f=XTK|bXEJv5Fkn~vOvWna0=w2%$JmUOz;5uZW-OP}xyg48V=r+i zH~Ma6>{l7s&A$5?dq)Mf#ka$E3&x&AX()B}6Q*I$NA95tr$O22Q9Zy@^}`8E7rwy>c&xvKKY zRnjNEDYB3JN^e-#JYD+2ce;#~z>mLK*X;NG+jj|Lhc^I|SFz3JT0B3jk8;YG<-eT;M>(@0eA?zKFA)E6s zNiJ0(1@GU!u33`i$um_SwUvvnSl8S|o+mF>5kq>@y5=780=Yp&D0^>R*L=2biJa!= zQ0Tk4@)~)lAAY~BUDv$8w?;nJkMCZrLJXJ6ix_+S5tRJpay?_$js${yWNWtgKdAEEC$53C6P#z)7M{@QR<@Or+IeCkJ75S~cAAZlt_xaKK??G4_(YlQ};o&a-^`p@sc?5wHY8p|lk5M#|2EA6nc!0_(|~1suw9rHXU3 z=w|r+?yutSM!gJ7(&lR@rIl0GHRmd-cD07my?+_EG3{DRjivA=V42$8{9VgPU|HIq znNwa3ETTQiezTb~Uwe|%@>gyT1=?;-OJ|n(uG;&IU20(;GUrX)s=8{QGIkMR-}}00 zUun=2=-T1*p;uZ zYaSpE)p{|O!L9!UZ7^fk58`&K9i=0Np)3WXwc(7-vak`1t+%kz{N1grdq!*Hb)@>` zHNa+S3mLooLttlXD;X&)4oHP}+^UB-T=k|_4oYkz0Xk01Pe+jMD_CI=c} z#d}lVi>6B#Y8wOa+jni>i_VfS(V7@L{|@-A);0&w{=U5y*m~^__ItYdMsAd;9Thn?M22OVZST1ef-^C!lp}Gv`+)5>B}GaxWMnbL;DA>Uv=BGjKaK!Fx2hy zS1r3}mGmd=U;N#@=fm$l?H3Mn7-1L5Teb8cuq!MqD~O(J4`UB#ksv~OFb|>Z(vAqS z1{<^NBERn$%?P4LA2JkvdoApWCScE7SZ)~DOIn<_Yq*PY864W)R(AK zr%SIB=BKpunGNg&{9fx7RH#+`I|9G&wZ1`x!o(~5 z)1@D@VL=(Xl{tUZj%DmV3p>H}-H+NR`c9J0-7QIe-%r}f!4QQK`9_jfNxu*Vzn3cE z_Zwp!`8AvA(jg1G(g#e|Pi4;dHgKx?c*crn0L!(oPxk`LBP?4C7b%7w7Iu~H#?bDP zSg4iXm{xvU{cg-?73Srt8|&HXyQ5ltcdzWm5{et!;e>K(<9DIm{!<&b<^Z170q|pn z2eSZ=XLoiQ;2F$wJHfEDV92zpUebH>&Zs)I@rjc`?=}+f>LUQ7?7ll2Fu>n_#oxZg z@PbUhvl&)1T*B~VhNT?igZ$NI4xzdu;HWTQZ-!GC4q-T(VK5yqhvC0DNBJDWj~wRr z%=0@#B^U5zruXNNcb)~fMFT9903Ty_CG!j-*h{Jm^0%CxW)A0bhVL?5kp-SF!hnx* z8V=J}iqyYuc9kL>^Bmms&aNT%U(bU3sP_OT%?6Cz0Ql?Jh2(pBZ@@7NLHUe1|NShW zS_`=4BZTlF(_|T0yJ$=>BK-vD1gK|EYSYA~nEooX_^*@!F zk62DF%t}i5-Avica0|n)m@{3-3{&Dkr01FbfDdp9H*k3tf667c1Nq$$0sMvG+1nZk zPJb7^A+E=tBY<~33tv&EyDLEn765)Z3Gj-Bi->;hxvQ&0PXDKQ?7=PW3I6sPcF$qB znc*RZFLP)kS=t}t@UIRf^Y|2(|HuJI?YE!6eKDuABiCAUA-fL%cH0B#4Kh55`42LG zZ+3t9Nm8poGmK|FFrM|mc-8~sSr3f2^nhr;|Fc|w#{8dW0G{p#JXHm}USS>|hr=zs zmeVtZc}6nNM&_C6^RDsJdvmV0uB$>htS0!=W>D5%18D5w*8SLqs<8A}qNYm7>i;Yk z;~QUJ40r^Uc9o57O6aKZjX!50 z%mLJLtE8?3v!$2vt|a&*!*>aiCh3p%`vOa8Y&`PSVF%!==6@E8(1aqc@vINWvyL6l zI(9tk*ea>R9;9DkSio?8Qw`+>I(dBKLmj|#SN|HKHwkEhM?HX4<+0{@i0kD`O0y=7 zZdqOBmu@^bn_!UiiC-GG5U`PSuV1=E20ZcEYpZL{bfetBYJGsQKr z@%xo>~ z6S=M@a$Qg4x^A83UkvXww@{iz3+g3(ob_M#q@p+fpU9pjz1C1e<5y~(*Y-^gYtK#{Ez{dow<{A;Pc(DCHUsmfVB_4K%vdq(M<4} zClTf+%aE#X#_pG~XZjvV(Y6oZK7(4NruEB3m=mhrqtKSt0Cv3|@ZF_=Z*KnHf?-H!pU{4?lVw*&sN2XNF$fD`)z_BjIZ<2SB# zWb$d2`7wjXQJC{*pmjgk1UQXb`blR`BKi}|xt-zR<0t-|I@si$oKu4y9qwi?S6uK1AL#p^C5EARz6B`ef=CXFw$n% z!oB;RAh`cIJ4{vDGW+R1s`Tf%R}n-As&wCp3lvo_Bw_C=xcD_bJIJNhN2r<`q*`MWEAms?*VvBKZLMr zG3YZN`Iz#4?~~sUXH^_!vZDv!tn!P9b5)NYh(5ava9BCM%^Lj+xo?gg0zC%Kf*ABz ztOLRvG7Dej9tZmOqo7wm8I#oEPsSjhzSz?Q^WsWhpY%^o&qXol+uM2oeq9F6VJ`;A z_lbB0!Q35L1pgWiptLgsl&`^0K{9Xa+qrL!^vi+$a*njWb5eJ0{kUu2iH#>Qyx=*& z13Lg~FX-CW=J~3ylqgqs1q>Gf{>GHwm@=>%;ILxA>r0u3DQ|xT`0E@%?Hs_udjVfL zvXoM|a7m2dFO86v^H?5G@^*~tJ5&*D_2T3%HQseav$M$(SZBGa*Z_KT_FOl_s%Vp?6lf zcUHNkR4GVWRAq@(rOHK+qNg73i#m!SN3Y$F9A)nwLLrD2A?Vq=PwE?y>iUc)&i-So z30C)+-Zw0L{OB3vZrt;3E^)@sfL38$aYGq+j%OL$R|aXhAU=mEHSzfb?|t%IuA{A_ z6@#HV%5OzB;71vN4+H>DVfa!O;1NMUo!zUM-{%9|oDO(H2f+PIU&A~lX@Kb+0lRR> z9T=uF{8J|2lgxRLIeX>+UPBbS9v@lVNR+es11{bJ_~BQLEN_5Y87|ukII|h>rKcPD z+l7>)SsgDXN^>^g-T+|7T)_D`fOjxu7sF9OzzXJnAPhK+-9z}>h7N#bnSkG906rfA z9K+$1GXI^-zlq^mreBs0_&IZqX7?11tA)e-l3^k9kD!q4{61ZK52gIh8Gt=Bz(1>i z^A*5;e!%@N0LF&`j=2`_p3?w7IT5gl;g1ZDybiE@0$`*D@cmaf4OF4yprtJ6<@J|fy{{XO&;dF-E7`7Pq zRM|CkOow&oxxr@fWkfBEs zjn0t2T`G;^p{0JX$9q65u+UfqT3Y%!jc=jPlWWkpAF`cO1x8dRjpge>5A=gQ2sQ77 zR#&+l6&J5^h zUm7>T5jqL#Z?^lGR)fq3LLc6MoGZhT+jc7Sa{!HhdDEByv&uh%XpDe8o(M==<-S$kHFp^0&`TaJJ6Gm|K)o$`ol;FUrVDm z#PKj2oP-Qt!Wb@sI-_8m{C)-YEZgI-cSJa@-@v~ILfbQ;jWZx_gjsHOOB!Fpcpli7 z#)~kwc*8Qk&7yI+2aWZi1_O+}OUr3YgBfWSl>TuYdJq1c3!^9w@*fWMZ-)K&9Qve1 zf5;GeawkOpd>a3Q`d`6F>jODofbrl1^JE8zt6-c=@_|;=qOmt*GV~yg_E1Ahi1F}= z55!rmX>2%|#`1YI9)^4h>(W>k+V~ju=?P~VOW?@Ohu(Mv$Mr54w^gBMPQm_K5C#1P zz2N{O^CR@U?`5bn4)RH)u@TH0wh1tvFVR>X@^1{W4IE$1VRSk7q46$cwHh+_gtaEa zjL{#Cf`6*PScP~EW`+@v$pQHHTR779!Ps~WvsMUfaSOD|7LJJSaGX|xarg<=GQixD z0LRGRFfX~nTk|b_HtlS`9r9TkHuvISg7f5%xk3^iMjRQ})7kheE5@-k`B9 z%v#y(JmpH`zc2!$VY{o@Sq6HtBdqlg9BZ2)!)!QjzJ}vE9sX_n1;#KOWfP#!+rnO6 z`a5hL&V4&zoJ@mxU^n#eMks9qBe@lvLH5DF|AzVMST7o77-Jn_mRkVlom7amAUgG= z(Jz@s;s`x|gvJMuTemSZeuEwu1g(yOR&;?Gekfd%1VYv3n{ZvR8L};gtvJ94Y0#a%9z!?E8H&LFMeI%FEmLS+xZNQ12yVfpVcD#pMv9iem`d@>4-;wMmlI>b0AJqAl| zftU}Yr3KXXFJyQSuAke%ksb-3{{^4Vgnw6p=ngG?0iVx;(bX7g?g#tG5oYx((0lvf zliy%`I>D^_8^qFZKB@voSu=>c+-Q6bTi*nGHVi&L3VXyKwpC(;I-$1*!RKcolVF(B zY+?C3aD-;TO!xqLI0%;91p9g@%&}i#Kia~TMq|kHEL?xaLR(tG990bCe<3Wn6`~P7 zzY0h9b;u+VM%`eDHDG?0{-AL<>@^qI3sGaCx8W+Q6`bj8;q3e$Y}b)(9nPwqVe2H2 z#sl!lNLY6REb|>^*G+H~Uxjl=Dr7aTJdNEUMnLq2%sNOptg(ute*)K;vE}>7nXTkRuYesHUOP7qasPVzR`ReBndeCn-%tQTCUBl@kuxBVy8ZQa@bmuGo$FM_@))MRC`rwmW(WD+v%K&q)H`P+G_A)PwSIyTFQ}b>L+E%s5Wo3&mCXTd;I6CX-u#CLH)e?mal4DQ~SFo zeWoq8;K*nAF5qR$Me0^w-KEbP&qUE@lI+`@gf1kVWmFsO)5iZTr4%hiiv-Y>t&%w+eR-JG0z&fL4#T!bGHcvu

P?^Wbh1Mta0=I)s&m-vZPUgjfJI8fLh$Y=~$-(FI z=tS5uoF_WYw$rGDZmTRX1&o$L(bRuKE1E9$cBRwl$8ESZ%KXF=kbFEq%%-x)m#aj= z+sDcve)c}rul93i9$zj&rLh!_4N$XmyNarcpb~ifXg2{JwiS|qB_8BZ{{3A$Kenc`H=3EXTd-Oi2I(TC1x;cm0H9|3R9fXn%*l*@k6`ZV*BDz1-EAr$b*-oU_y+HGBwk8-647(1U8W?R;_m^Lbfc z3GB;eaameww%hQ=bU$ih^=fu45+viDCK!TNqv{w(Phnjoiq#~N#?Fqb84|WwaKt}) zm*r)UuG`y{I7g|7@-|f46!xv+J=_bjK1t>ku{Vq$JeL1RMsF%*w!Pwdw_Ij$645tz za*Vcaqx`)vJ(fh?Jl287b>^?k5!(O`-GCDP6-PqE#fqshp#t&5LhZ-he&i&0qhChO zyJQ=3$)in)Th8v!o8Osxd17KS&o36q(x|0GRcBX{!hWP;J#gdGc6&_EA`EqAT9JuP zof%hiH1P7!voqF7JCMooo7~Y0?xQ~9(YBW}uUFy`>y$4zL?vB%{b$Eq&HQJ4AJUPh z;>XwOKe{%!(PYH*b_TnC1)aAF$m>Vr>30TAHetlRXA0}Pi99XW6JG@+*5#~8?LbA& zNFmbg-)F9^H!X zN`EZ>oT#prKG66P);6!)g$mOphNMVA+4E#sm5~YZ*0gyK2@Df@dQX#>dg zEc+cNJfQ3dGGlvF`d&Tt{HdW-`6z#)f2fc--2NBOu1$*$Fkvo^>FWSS<(`E(&G061 zx&Z!mpK=}w^f8pQC2a2%Y&{NXJi3AZtgDZvk?Fy2if3mv--_$12_fA}0Lg!ZKWhvt zxS8wwnb2b^Xt+Y+$kH#d6&TbY=U3c^Wbv)b%I9~M^ZfMh=pigJ2JIPfuT;F-GU92I zK2Tn`Fv$4Lo^Pvp-Nao!D*serZQ~e}brv*e_fgRQ-(-=sb^E=7_J_%rpi@0=K z@Z?Y#i?P)iPmhqXBQyfrQYm9>->2o9(R$ z?xIK`Z~Ru{va-5)j`qR-X?;&jG#<2|-|LvqVd|;iPkgBKZo5q|eQ;JQZAav2QT#$o zo)*r0(D42+d90)6g-u`ndar*LH-Sfe8_*(ktb7Uo?hXIvEso z0hXT#gQvfpgF+jU-?gO&OoD^l5LEkiZgK8hMgpF9H0+le1? z(U&9r)r%%}3tuwdwJE?qsPL+s8Y}wnj9eJ2`c3hqm?+=@APfFpl^@eHQameZuGE2) zl~>EskFp@&tj+dxA1N7z!^>q!ds*G&_4Z^fnO+8p(`D6+T%4wyi{(?z&V!Fz@5;uu zytA*CWfJ77+H3q5>5i9Z9S9~dE0vb#X#KGaYDPxMmc7IJbs^NJ^n+)b*@Cp5Wy?8& zv{vL(uhu>Vr66BrSEVm?b#2EzLM<;yld$BX$z9{bKhx)B5NVE3STA*b1NNP2i=K$d zZw08v^(M33QzwkT!&C_MfIiHV1;JzOv2i6O_Jb!L>Ev{n8hV|>83GM!<2m!+l2}!y zYQ+>U3-|P>=$cEsrsW31wM6&LH_TvQB&Q2MaP0Q|DLB_UTg{3){>TVn=UC(Xa;U6T z$UBF24vKcTb%I*>^<$VTV0)Uo&;xIhlOKj*;}tm?N1H^(Dkv~A&%x#YI@Z13{x9t= zIZ246a7b2-sFTrzI?UyH{DtOx9Mx1Y1!0Btd-1;?D)+CR^~F)Ud-M_uF)b`e?N%N> zVm=Y4moZH~a@62iKG{JYWNN4g%SY={2S8eCa##CWfFQfwDbA0PeY@Zan~M;nP+pr>mOU)%xo^BzkFAgaN3<6Yuh1VC*U&jZ zXGE{$n{962G|TNNPs-hhPHYs{5M@NcbUBvRDZ@uM#4fi*k5sn3HeR4-^;r-jf<$P? zp|E)H#ygw92n?JLvGqu|7<3vno?i6ojS`5RhQXP#CQ~zwr>f8wHWQ7Ocw&7$+f<7) z4b8h=ltC6YH8~rB8v~Zszk)Gs^x0J@!BPw*HPeEuj`W@dY)qJu0|p6&_3b@(6bh4t z*FJQvyve6GvIkGaR~qQfug3+O1I9WnAP{{qyhbTa6sq8JFwXPbS{VyQKEs!=Gc!!5 zZjkJhaoKXYYrA?Sn*O!M;{On-KgpSTqdz~K4|FZK`0EZ)I`^bxhUmACbS*f$0t_0Q zdt!z@8y%Dx=Qx+DHwwEJ@-&iwW=6VFSKacAn@X-G7hfRc>Yr89LlQEbd%$-;U{k|g zWX=A7ktr^kneVTs%rk@DktphoVtya9l8p*g(__a)s-=z;vi8f45lE$1blB>#ruas) zF&U)T#YVj0J-2K|%|$QV%>Doxyhyiy%HAQ})C3P@%JAmU_BJA&H;!!g{;n4;Z`C4= zV-Aiq(}%J~rqA~?4m5-Jc|vV8*VJ?N4EM<0HdtdWkR`u;Uysnl%EfAfQXjRNg|3p0 z%(v`Zi?;!6T#LfuzHv@IDYwe#jIw3hs4j}++%Cp)dz(96W0cz7@N8Mx=pRic8MI0s?^_v8W3*Rh zI?u6ObTmX<*7xwP<5c{)Ya!98`Y#)t>~+kyex_3cuJUbL?oV_bMR@^{-$~{9URRg7>RA_v4*F-2W<0N!zi1W^Mn+v41qYCKcWPTru(= z@k@ifbFC-_*rY(}=UA&f^~wwgk#516`diA#zcH1Q=TRFGyoV>@Ys=-6+>u)y|MAhF z*qUghxvcT>h_b%y9lT^82MFFrmYFwQBfX|M4U3UpCjH-rruW+y64v>4+807tP%|t% z#OS4LhLWWog!_KhZNeP?7!ZuHt$cL|jHmrZCXtxy+v$?ZL!uyjbSK;HdnlMinD$)B#W*u0wyZh!ZjChm%8X3P@nOS1qc*J$|9E#X^Myt|*x-;1 zu`T9Z_2@dz;j}aKxg73}U9OWSz%7pvcb0h8vqe`!1Qp}#zRJp*5uYOw&G$uPTI??T znvK_uVv|kjbINsS#jfn$a|12<%fn-T{Z{N8RzS|LQ%5br7HOQho0XFeFR?7?8{ci# zE&Uwca66h>5Q|*s)HzPoGh8-qXRva%zS8$zE7f=NtX#&gZSwX;g423^mrJjDSdTtD zQ0c(73$QDC+$pWC$L}m(q}rQWDj7NW61(aVwWo3k%shB;u&tY2?K_x^8V!v1_h1}> zAs8Jj&HgSIM3ycl|B+76E0Rkv6J?qRcs8;Dr~G4(Gzb*VZDdSz75vA2zt3Z?Y>j(A zz}v6c?|z8E`CY)xf5doeZ96iXt_|(L^*(&A3K@nzwN0GOUegOr3jdMmKi)J?m$BXR zIoec!k$jF)|9JG}A4k8*k9iUEZ^nUY7H>uuQW9N+S5}GtC=8NqG zUf`R>+W$E8A5#maMKW);To*Y-$9yU-{$tlavY)1bt$(XMc!mrKL$>t>P^o6F?(`}W z>D5-w7yqn#fr*|2_MUFz}!Awqc}j-nM6S zrnltSxzJU`=i@Q5EEhPl|4L@oI+N&_Sw-J}y!^+}!zA7@91YHGU&XQ7G)&Q=ZN1@M z@WeUm)`Z%==kn&n*p8>zUmWoGxz7MoXLfgq#+S&hi<=m`}Kbr|CS6-xaEIwZ`bF;hH@&bj9neKk$i2d zmjt_>kKGhA1bcTWt%il$H!-cifArS<$GhTz4C|z0;UlGZ@OEpCRh4_zY5;g!nEn2l z#m|1_VjZRzc%^BAIM3bmHOnfg5kl^)Gb;xouySm;5a~5d{DRo z%KkfaO2fXV=XziGFP-yWg31_Cn{rJRD}a*YqcAof;@+8m<;WzarHN)@AodsmE~Z%7 z{g3PaD83WHJI3DOb|0&=_6+Vc3h}dl@y_jM#y>f~W*O`3%-`1g`H;mf2*}u4%e5)U zh^*i;;>S0Nai+5b(Ulm?(2n2z&*(xdH-X-ZN9LVnT7i7n_wo3YCA?CV5{-1|vo3%Ws9b=yBc1dc8SvE}=@M7xF9X{cp1|SK zCdHO!oSN{DFvg@6PuNNt)`J}=PUPk>SEgrw`N>E0W*oXB>R&vbZUzv#%57_(U-ciYK5+o$dvD_D0>4kZTBC`Fg5uQ)_z53+w zo{qpbVP{Nu$tr&gE%5rXQO_#4Am#e?DQd1~57Sed{nj7_q>p24h`Np2c6qA4BhQCH z>tWo$r`sd7RXL|c&xhuwtaX}i<3{$}`lv?4d~1j{#(xk#@b}cS!`bJz=m08Muwjj( zU`Ml0``(wp_hm_>m@7gi=Q-%_vo#y>bO&DUnD!YIZ8yckwzJUD&J&I0x4U36sRWebRl&U7 z5LVP2zE|ro=ZO}*A9T;64=ttZ@c(L?WVj{_NVF$XPUHoC@;}S2*fp=pwt+y3#y6E~ zd6xvYEiy`X`i7Vm2XWT)gR%#{kyY{$6<96U~t*UV|iLm$!*!x$m6hysh*?uoLFZOF}*$SbAlYU?Q7C6 zB(kXp-Vw)hLn*{n`hy44u3+sTFaU*iMf*lW|Jx%ZVH0Je)18?c;pxcVfQa z5(*_>-+thjd|d)`x>A}lQU+f)KwNg=I=Em9lMs;b{!KwN?lyXC1gkN z$YYnaS=woxU)!hG!5%S6YJCG?6tc@&Z&&|5EzpnF-gr6jane)lL6mHUSGJPNXbqFc zfqUt1so$4^wk%kt4@FWA%uMVJvK40FgNA?u7L*%rsHw^fX6;(K$IQ9Dk+I&Rh@k+9 z>M(#E=)h^T24vy26a?-5N38wR&7y##*MQT*fLDMqulOn(Rk;BpkLc=XBsS4bm+#USwSq5M4Wb@48GySQrD|_7PyF?HTU;>o4&uIkkNYX%I3hyWj+W!b0zm+3*SY_I@cCyL5nn*D48kBMj<*8~ zxfN|b1u$}3-%*B1h7K;+&i|4z@tHJxyZqPq^XUcfI@Q`_5~G=mIkfho<`BdFTSLje zpn;xO+{YSSvSV?zIDR?Lmy~bJd*5+JHkYt5v%z9acaNiWCdo{Ei{iECS!?X*+lePe zw#h#?a%|EOFo1B+ZCr7G>@U90`h*3C2HXpnw$P`)k*pZ-3p}RT3DUOG0_kZsyAur7kE z{!o^h64XG%wjboBKJ@c_FgO=~65+%w(ZC-d%{?3glb}II_Cayz0Ly+5bBxVL zkD8Dt+{Z{_C?&6Jy}x9iiO;@Wc$bTb;d;KRW=lqEkk20TZesEtj^53qqQl$BW597- z5}!n@sJ^twYKBVPfVFTN(YyB$|E&s(#Z_ErWlZAJJU7yIFg`*uMbw~1M=4zZ!%emU zna+}WEr^jFW$)cOp>qesOW=LhvkTNu?wG8sIe87d7U{2yz}26IP5Dg)$v_{*+?l6> zx@zn(TU)6%N->u=b=h%J*~~!HmE;C4lHWT_uuZKzwfTf@>tJ-b-iB8@BRzV$M&K#4 zmE*dc+PGMZ9fvJD3}YPo_O-iHKHgxH&j(S)N;?O?V*ckPTS>?2{H1`m*VU?IzRMQj zG4?TYzKaNP@C&O~W;R-%Z0ECKP@t|-H&Dl6?@fOi78#_muAC-ILJwkcQc7bew{*9{ z+u713ib!W_1d2*6Wt^!`F_gK=-(q%py%a8}ZSDttAVe0d0HMXZ?K!1?0tTzTkMMWi zO1`lj%D94=NkqyUQ*N((9&lazVti{I`@1vmqz*6fY8c}&`jw{T^!Y>P)*Ua=M*#L` zbf~tYmO}EJhh77##8*~BNy`%3kF-Ej2VEvS*F zMGBo@xTt2so0=Pscg^qVw&G&wTHsRzFmFe3sN_~lrxN(D7S!)pcbKKe)*iGcHhFeE{c{(cI1=$C$JA(%D% z({JJ_x2*KH_+CKk^`fV}C9||DqGvq`zVp=pS8NE`9wDgd1Q$6kIV71qC$?8?d=rW} z$eW%ra=XATDKB%VUAbKlG*O>M-VbQb+k)vl0=i5X&({EuudDC&em{%*ySXSx5 zNVcmLIX00mf6suBY}Z6ao~-ND75#xWfP%2L4KU1YYYW~V%?8^rHklI><^PQ_(v1!f zb~6>mcn${s3#xMePWHE3Wr{EcG!iWr>?B6<1%zT6#2TA4z6$_c+_prYU`G6Ngz|Qf zAOmVtnaauq44U-6dt%1&W!<-yJ%Z_V_*kIygfVAWg1V*h(c@vTB;tcfdL1z(qFV$_ zy}hy@PAX%~coC+9wmdu_fF15Arbt5;Ln~|M*#cEds zCTqpqg|1BWm%vRw%I4raiUwioUglbbB+#}=fxb#1v8QUIQ55icUYB7vG8Uk3^R#ot)IT-vYc5*&8@jiE}5q2dVU9%AT!Qbna6FQ8JA(nfB zxs@k)7ipQfVBb3o)e$|m){05G{(K_wU}VOAzmy5}e0H(}(7U8EE<)c=bQw~KyYaiB z3MnXei!MXi)bFU5^cc|2ps7%;{QAu@*nTi{Qug{Su7=3mX@`@AZ>L1pH$>@!PTOnD z^>3nHM^yKd&HiCkxOPl#%1Ek@_J4S!rYKcN9;JePRLJf_(JR=}tOWG$Lot^#aPDGp ziE_1tz-Lr+WmDgclXrT*PoHKyea#Dict4s4nL7bu59!fqctvZJ@Ebg9%@2@CE-y5L3ZT9!wzH~)ss%g1KU%9| zVMcb!1yA@QAAiN`KhFqfXgY#0znJ6&@lD~Rm6VhZ8l|(`ua{FDp9gVdWS|b?XZc(_ zd@?yf8KF5w@qM|48SOLoXs{q6@{LteF4 z?CDqkX)>0AB}Gj1r8edb^d-pjD2qagQvU!Sw$sbl7N|R?f8O z6j&vz$>f+A7g;Y|BG*r}%Cpx9DFzxz^J-M4)|JOJP1LuKD_8kbt@;m;SjslB% z`^+!Izcva}9Pr6s&azHPixxN$!}4BEao@WA=KV2(C2EI*GfO>;{pGH~u?sQL8U*`k z@8^7E3OE)uQl}IZNMPf^u~6bWPXD z9?MXDMUF3oY5)@a+w@0mvi%3XWITlb1!|X(%G2vCBFPc$WE>He9y=JRhjGSY~~5B8{;Z=)&F`^ zD^2$P;*bpfRBHUnkC^mXNi-oXhV)>Ez=FXMf%pK8`bz8w{GzT`4TJDW5cX)P3`(f3 zy;NBbghkM05TQ*GM8DHMd;?>NL1?{4$Y()zwbk)Yiy;018R2vpg zyh=f!c`vJq(@XsbG~NfYKl=C1Zjr>ux$?ZH$_$}QE7ZmrY3oK+@$#9QP-Mz$_XpE< z-rq}p`jy2y;Lt8aWSkh%5B2sq6Hm25xTL?!9+oRi z;S#E6vXjKXNquLn!e%uz>kid9oKz6G|@^(J9&ZoCddA(5uG+o^Tf$EtJ^x z@5MawXItqET*l3;Jre}*rZ!Jf|MFD3vCy~vA6d47bxv&uGrV_~U%Nr6p+d=2EFw+d)q+;xE89JuS?VNfPql;>?!P ztR%5TXvX(!4Gwi8ascZH;Y;OlVesxs9%Yesc>CI%SNkpPo6_ER-RV-bm=V%b))XWe znUygMkzE9DCBDK-gEPl9(@dlp5xlLj+%wRF;V0XT#NL->#*T4BZ=1r!b#h6=pYAq2 ztf?gX<&UaTryBmQDQOipVV~Ro8)sRWhZw{2f6XmaicYK+*XWvHsjYS0d`eO zYfCG$b8*Y>EF-6#g6&_ISUZf*hS#qyM~V;6t?8;Hj(GQ^XX}E8l-*u<_a;a~T=giF z4hf@|X35Wfb8e?)I5A5>~z( zOM%N$px9^0h}NqQU8QMEdmDkR?jN;S0;hQ1Puy^o(RAlKPxkx@APj&##nCjIvBK;+ zdVS=h`jKZb7L1`i)KH=4cTNj3s0#F>g~ZaC(PWNCal+-QN2y0~HsU-&lH*A#@q)Ua z|JWHV7T}$UK-+iencomu3|5z4EZI@5hvj;Va`DOAQG}U|KmT@*FymzI1m^8R(`FK* z%c_k0(__Q4y*PVwI?YFk*`U8~f+6c>#mn~Xz&pxJwJ;9A1NbdckSStNxu3m_pE!&{ z;$|@elWuF$3?s#%J@p8rO&$(!PR+|Ao>aF9mUS^6R<&~Y>i!vn2`|Td?pCQtiapGv z%HA;Fd_ZQLKG;S(Uul4F{2g+WNUkCRq<&$1kufWRTC07mUl}d|#ZL{nHGF=#=CHLV zp3IDaz&Caik`|!<(5ClGg_A9~K8(`5QCf=X;kp%j+Xgf^VUo?-#x4X04WeR8eOFmt zP)QE)F)nj=+d)4c_?CCPL3~9 zP>QD>>*mAdIKjr1-aUo%N<rr@X6qARUk)YSY2T79ndNPWwr1%BL_%!wdjkMhd3HC ziy(GBKL%Z5?^!K&=;xaW53P|m+#HIS0Je`&(n-^~KolmC{=_r3G*YvLU%lrK=PM{ou55N{TzkQDMl0Y$@Y(Mf@dES9u< z8ZT_!UAavZTLR&BjAu^1(XCpD5MIcaQoZW(-r3@%uPEs$8oH zn1LfcHYM1$npN>hDR=f5g=XOHeugV_Fed728{0puT0QvDE2h3Jn7K}18P<>^0bmh3-+8q9|()?pk8d;1aiBW z@ZusA=cEH!?vc6lJOPDzz`nZ>E<*__eAOyMLm@({dGY&) zQXmCU=G;ll6U*KJToEY&SVbWO!9s?AKikS@t6v=RWEJHx-nx^HP7owPFRfK<1Yue8 zIlM&_jJIqmY`e4(eoC53Ek9eJl>YTa{_1b1)+-xmV=NU<8&23Y2ocgwF-`I+>Xm0) zNkSU$BZSvJ@5vtm4kx*iS|&bgxn!V}u&78c3EFP$E091rF4# z6&logJKh0O@e z4Xnpo3K)NtSlXqtiUiB*9T8Xm!-o?6P_mR!^ru_dXITH*7H_R!p#|pf?y5xo3=qeoyRS(l)~0 zr502+t@mL~P~a$eBxnd`FtzGPMPMQ6hM_4ps-|~N{dG8g?R4CGCv~mV?M3ei+T9gX z=JR*jHER&)$f{3L3h`bADM1-G1U9^mzpdy^*k$IUT(WM;wIb@sHp$cSF5+==GhPeD ziD`)01^(<%Sesbp5rQ-{F&Bb zwPw>dR=_=VEyV(C?0-X4AN7%3X})IH?|uP`~h8lhSH!IURl6spVTyxqg>P21S3+#ZS=bd;z;Tq|_^iv3N! zyqd&yB;Q2tcbH6wPH1ZImb^J2@U~K$7n>LIBn!j@G{R)laO8*5!n$t{^Uw-0NR*K? zCa3V^l%HE<2clO&TZ(pR0~3R2T1KDSk9Kj zQdL;fXrLM`t-Z3b!DTl4G&NE*y?*JoV>9SSvLKnzLNzKM108=W=pqY?tN~b0N|vBU zjOGMuU=n1DV-|gW=9uC;Mj?N2vVNXEPTk3N;U#nwMbJfcFC?Sw3b5nJgbIAr2yrnc zjdpP@%=mfh`U)ttC(jQ9K@HTPHGouR4fLV(nj8R75?Cq$d<*K}1iB+KUl2XE@w`t4 z{SD5T)1|L5JC*}tbEVU(uzn;i98l&Hn|wRC!NG(*WLsMMXp&$`NT%c%PJ6&H=!8uP zY`1U$cvXiS5@xRY!cCGCr>kgwHO~-MDoy0p+h1TUTjRSav^1n7gEDQX++^SeV?4IL zn`ium*DA`U+@--wNw!YUg8_m2tSKUVwOskro=Wp!5jr!ibem4&*2fDP)Qls4#n$t8 z8@}6M3hT&>GHL~@IW!YS?uRUme_!=nuky~gEb<8ZzW%rcKUJdM8R`PD#b$I$fF%M~c2>kAnxtt#>K6QrP z_$}a%zLISv~@XzV`BEO%=cpVMrU`ztzBlN@S5V*i%w$=M|&%Y z?A>MMMs?z@C?iXzL%X3{77S18sG_OrsZiTHZJr_w^N!u}*tCGX>;rq$03B4qmV|-f z&|KeHfITX;_Np2wU9Tz;(^yr5>FI2mZy2T+ruZh&qLCc(*Tvbi=D_DiiCwd*X@udo zA0vP49%#DkH)Na3(E7JQ8ob=8_0*=bZ~P6K$Eo=~_V-@lu&`NEnAIowaxxAxlHqV? zUs922ON0rU3A=R21?f%Blse~nrH2B3V@z%#2wl4;=3C;p#6+Y;ew)))-6+ZYt zJ6R>*6`**=o(-sD<@5*qK}yG{zJx`*yQY&nrnFwS^C2y@Xjx*&31e2k^`@xM-e_)@ zAThL`1T<*)NAxJ-&Ot-R&smX554qu9e8Fujdef?{-CF^+7r?HEw%~3tr;0j=RvKcK z##(9(QIHNK^O7h?2_EqbP1eGRLScJSB_QfT6O`4R{YnpAY{t}`%?;sRlwNyIN@sQh zICj{FyZM3y;=(CApxKS_cC(){s$XYth zF2y;7UsWa{jAoWnY(6(Un@~f2mZO{U&Olmnqeypa%W+F;lUH|Z+mSZUg($^WZBe;v z!=9DfO}K!WcxbwkH#BspzuJC#ULLqzWq&lEvik0fkkz1tPh!eQTXw$5phv!WTo1x# zK7TDY7^t37k=<3WIdFauX2%b4)Q!q|t#SN>19}^qXboL?vePL2Q2o3a)Tv=41;~8%1Hun^w4paA zqv>c7e~`CpxFI8GH2E-4dPc88_0eg-8_=NI0BGD?&tR5aN{-}dmKKdWwsnd1VhtrS zAS6N>I+m8GAe5RTAxD79O^J*U+4f`(!u{Guxf|bV1K zp~4pd+_Hw|@8B1WxsdO*Nrjxr97X5*E1bwYQph|d{Ef^CA+0pt_fLM3esKDqTnD^V z{czNhab;s2TCGHTlzC4a;g@r(((yAx+|&)hfAa!=(I|C*1AyIf@H}g)Gk<5{kj|xK zLHR=E;=TUk=>GCdCGkm4Ez zB(B5Ykgy1MbJ9I*F4tqlvc>0j*8-!GxYNrBqcWp>?~ZDVCK`6QfK7O z1FPZML1z)>4ct4zcXKRUFRQ`3Nn&Dd{LFTDuO$v+W;viZ^V}GIjI`C8=Y}M!Im!Zo z2jJR*(}96Iz*Lf!);0-8K8z(Dsy1mNJ*9r8eka=z?V`ObVqMSLsoCtKLbr>`Qs7iF zqp@hrr9yT?2TOUL2MpdXMQHnpM7A&z8tYwQgu4Mm(&T&oKFN!2vfHYT`}Y8C9vh!q zI^)P>d3veIl9+MqWHH9=-z17smLxlrscE!{A&S{E%64cE#mod##^tr~6FA70>>gfi zyypi-h*ipomUIQf=7o?lTKGkKWRPmjeOdm85^P6!F29#aE0g(3l_B0fUyPe(4WJvy zt7)9?!{;H*uVeUViUHWH_%4ZEDY`r;rS~JF0dmCefI~MzxHov!8U1*J5|*~25``I!q3dkiNjQohV9+9z-CSwE>9J^vWbK^OSyn@` zC4k^%x@Ci167f@}i|j&|*|`(OjoDPnj;bOSe%tswkmN*0Jkkx==QBQ*Zu`Q60Gm z-l4VJ(1G1pOi!Y~YC39aytXY8%CK(x5ciAfITl3#^u+zz^>HS67M|UmW9TJt`X}YW zpT_iCCIi3)8`KX@Ng!%>rRnnjjx&KT2QDP`$3`J=B5*kTUlBg+@dH}@@HLe^#WEThls11yST`^! zo$(fD`a^H}wyC#K4TtPojjUG?)XO@1Qn=|EsGgMy>3E#DV;Yg&BbAdKb9{8yiihEa z<&+$)PL#jnZA6n4$arf!Bj2lHm46J1*4X+NEJ)G{b}(HQq9G}0B25z^aZF5%*^il?_bCE19B zEpZU;f&j#!rWQISt7tpUbB^zhF# z6Pf5+W9jhEe_o}DTQgs0(k`BCbEOyA(0?t|9tz#jgR_=x>VPap07Us32=6FCI0nH3 z>d$64Jz__Z$gd&+Tj=+Ar(sTM9ajLtGnKi8RTJ*eVq9EP#sFKn;rFUI3r{X7PabT` z83mpv!8gm&ondC_1Jl|eY2t*fXJrf>qU=<)>do5Vsa>~9#bGl`3sgwxgJnXVMZi`( zd8iQQ9`xH6y-r~Sk5$RpdSYS`Ja)_^g;`w8Uk^6?3z^cBeq;H3)qMgqdJuaFipaW? zp=3iuuzU=wPK5eq>}_A!wT(B6-~4h!PD7()bL{>@3!ju;Nt+x}cmK0Cv!V?BtxjaR zA|1g)Y431OLzQBQ&iH(wDd+RkKq{P^c1bEtlnp3+-7pI-;-v9nHK z4c4-B5llFD)1L?>E_5ia!LnpW#^K?2C)M_ZRHNGddRYMf3hGiQcSp_u)y9- z5e`=80&JQ^420)wr6$558MpVI8r293?(sLF?;cU%-UJVjwK|PFKKy4Jm7pKW9Nlwd zM63zbf)2rVu86FYEp$?lsaZ>$+etmI?T>6+#QC>4=<2CQX%KA^|I)s5}nj}y6X{CzcXbX}TQ~7C`il&$l4K&C8MF6u0 zrwpYBrK^s@xfv)09*OA<#dV^;Egz(z8;oVnDOi~k(Z+dQ#ipEvg<(}sa7bSrOW3I1 zu;Hy+qe;Nxx+F1#HLis@020>&mVVV9sxa!CEr$2$Hds`OC7b22pqW=!D)k4qYaR7f z3+-O9R3`DW&4D{|47e}r*OnrX$RE2E)lNxfxUJrvr6Q;*Kir9ynSJaYL@rgC(1c7A z{TGJ))tLh)uwthvqi=J0B*(co(R$Hjp67T4K34>tuM76aj&L>#@J9DGcJvMtCn#mc zY;%$<%k{`!Z;jWqI_NHVZ#Vb)X&A2S&E*4$PD{D?z{x85mJtsSpV*n&$BJ3Hsv3+^ zxohW;cy#-NX>Du$(Krkt(_FSStVz7G?ao&}xqBYr)2;$|?}o_w0*KztJP$QTl@d#N z;NX$K#g3lmJT!bzDzmtbN{IO$QO{{;`_|w?U40Rjop4pnP^(wZJn6Fz7tFia$=;@W zXeCXb_%e)_6f0Ygoh&x$oW)vxe;B@eM7gcA{C7ThO5v_Hz*LX;A0OmP3PPAIom$q^~V&z}}PfQ{&#M z`clw-7A&B`{>k@LrK;Tajfw^HMK+$nl6umBOY@-}?dai#?Sjl(0LZ?zLxj;$S<%u4SEn(tyh(=l0Rla zj467=ciwNiDUq1u|76hpmG@>LbFas1WW?3H-C=!k{neax&U63%kweW3^^ zKzfaHgs;z^1^gn|m}gD-rM6+Ll6kEF@_Q7pKWLuWcs=Fi4tW8GS%B_BdtE{ta&;=5 zU5@I*eo++<&QIzdYgObFl$DYoAM;Yk`s&$*l=7QrQtdN_>TUe;8;13E`hJnQjW}c3 z)4QuJ;MMasp}O3r0ypQ!go5Nt%OiA02ZYt2Q8WrNdafQ!zWIHgu43dQZvJJ3T7~=(1G0wvr&p4L@x<_? z)zS3BFX3(DA^9oT`n=cqVP8E(oRJ?Y@gS^9| zN(FrX`@EHbICZW$wpjuxvspzwk^Iriiu%@IW1=`iW^DUb0Jz0h*2C!el1sSs-eK_4gH?5VdRB3Sro%XTFLqyrW0Tw?)kaP#{SsgC3S0L zM~hSz3813ogluHmZ#9kw6tK8kLQW!S2gU5(B0E5rCLU(&vIN36S)X!~8WOx-+24q_ zbWYh;aGqT6qHFUS<=bq(({`Q^*v;^X7Yg24TPXUi4H)ZcRQp{AaNoK=~*z)I^NLR);S>)NKPP)CYrC6^$r zV?FaKNj6{UJuDnqk=4LhH8boXxOSB_|v z8r=^*IH8GZZ}}|>%`32+?O!J`EVaSwW2ku9%{*d$stkV^NE5n`sSQsb(AKGFpFS5i zDV>UO@N4MpR!uW+Ms@9-j@B0b1i4>|RtwolAxBmHN;g34F%DU=sJIN)_JMkY;98DZ z^76*KvF+RU65aLe5C(IBLfnc6Z!U&y<`P&PzW$uKw`v1v^6>;qcN`SG>dblfUxqLzOrw^+BOvri!R|2o9>x(ZtXEHBcPBUbXb4jqB0kfgl*lN*ZQ&Dg!d8*PqOxX(+oPq(2w zaGoM%Y8PND@ddmt)`6=-+lbL*ZT@X*L{1u@#%knsko5K!-RvV+wK4l9*|oYZXMox~ zu85#28IaS2Rqava>q%iB#Q?R8WB_kHBX<8p5g{H=e1(71(9C(gy!r{=|J{v`LrygJ3YBkF_Yv91Fr^r!x10LajP) z=Azl`r%Bp|u?@@LhOPd);`HNaJ^PfXtp_Yw?nzq+$U*2SQZJvj!EpKDbW%JzO|Pu2OoSzEk2?Mq{edfMlDJ=s581 z53!GvyWdZiM(D@C^>Y9itP}4TPRs45?AH9LAcg-;LZcTAvMLuF0zVw6BF`5Amn{0e zJ5a1vJW436*e%U4^7AceRj);r6&@Q8&vU9Q)f*nO*^Dc8^7xr!a?e95hhSpZQK-v< zV+rp0Qsk1SaothcKtRTo&!l0Q2)n@y%b}JaP7iYqH^Dr`qh&cz(ukI9;qQAIvW3eA z{j5~lg;)p9FBL~1x`nj{l>Wc4+0n-O_GudP+==56&$ypas0oM~8nx@6mb6v8mEzIH=QXb>j3IPahiF4ky^teY3FBFjG1CbJqLl zG3B`ItXZ<6X{T<>&CiiqlKd_kC503Sjhsa{Zcv_?;fU?&_>t39|M*;r?(KXEhz2e} zE~)C5?%-U?VgB8Lv#CKffJ@|)UycKCimW=nzCp@pXyQ$j+KkuMyt&DNwH2ze?dZyVzY8Dzp<{6xBF_W`$#hp&se_d}`- z@!e~W1b$}Dj3|`NeEt&ObWW^sm<+r7-#&=}NKhwjQBs42@2S@%RrSL$=s{UEuB;o> z{8%Q_zkksmBn~1^P=4vCfuWk45pFk$OsCuJ_8^^}%k-}rW0)=i%lOz*Nf6ILzeqyG zw+2yu+%?6+hoqLR;=6*Msc*m0wN1L&IGH;{clBBQOJU&too9Wk!b6|7<9$A5;s)%d z|C^V++t3fMY>u|OUpU95Bbj4R`lNocyswPss7(Wvay31^yx}05jJva_@FYiFC~~9R z&1nv8unL6RV1Cl$N$DcxvJ*L|=r|j8&|3xv?{Q&M z=IP2jv0oXkObwLUU%A(Br)sX#1h;!4-@+tj@_O4_Og+H_qHhc_ZkrT+-LSVC>|&aC zOA7c)ZKLg}^TQNbwb+l|E1WENrQaD*ZHpXzZ|-eR_e)f~R^NY^vm{GRL@sv~Oj>`Q zKM-s9a`0{-lH>2=M(N#xEbUkSeaX$N+Ho5@71cW@kK%d{VJqnv^2>zEcRtchyB#fL z! zu6`(3(wcbyH?LSKg+LYzW)^Oo9}T3o4zwEj4eE+J+rIZBa{>z_sZ}l>cjg4cth>7= zGQG5Vm>f<15$<^G=!3L8-@Bxs>_f}yfSi|$E~L${CVpbO12xGVWv(b;wi0Zz=^sVZ zLb_kO9pWD-MqG+Didr^qP8U7i4EYwR98?k6YMs+Aw^w{<@a|Y(xXX|Ga-;5P1TG8+ z^P1G1FDy2f{+-NueTsXO5jR0=uT|M9E)5tGaR|2>lIf~>GQEUuTpbD;g8~AfX|2v~ zm2^|UW?A~-CP|j--ru#@&8#rte)2IRZ_O3DDU#-75OAdF4tZl%cC$?P2({nM4VTG? zfEJNCDkR;F=>`ps6nyl(z1JA|!71PpWS-BK^F->l+W$RfHk8G-Z?V()`YGTWzrd4! z{nN?tT@V!Xl%~jZ0)8@JxNtf9oiy>JU-`I4C)PrDBzV9NZ{Ey17(M@SIS|JW$y)7D zkMalYFpSlGfxtb1UwD=wXP0R*zb_l7#sq3;l$J;QG+3^Uc@7m-9u!n754MWTQY5eM zwsv{%`mg&|_MBww0Y$PuCk?XPuN(U}0@7jq3D=8H(i)n$Ef(f0AYlqmrJ)WC+W}wV zor>Q)QY!v+lw-tx&~>AAZv%3sP9NggB$JYzvhk&(3=05{pjqI;VgasLgjtuSZ=xD^^}t{B7dBD4*p|& zyZf8mz_>ywQ2EMIp5|J{y_tFvt9|!_nn53pMS_NA_Lkv*|KG?fPz;g8h2QybaozX7 z?6d}ziC6@EzvlNGZ+cju$M>ekpv8wN|4_5p2k2%kN@QmBNo3~q172O+Cq>kco!eRQ z^o5LN?0(kaAYZpYZ?6L3U{;$1?p+_Ku~Ps+&*^fV6mJOWz`Z+9i`$YNmY>&JP@yxy z-oVx^@OYX*ry-mA*p#(KVf##{PMziFL);jjbTZc{eFCrS*KFmn(g)ragQ>5#{~>*R z@)sD=q@l|rR5$%b-BChWuSwf$2xf6EwW>m^#gO7>ww1a2MId)l_%LlxI-SSy$?XMS z@)*(i^tZ9B(+_Qc$!gA%pdKHYthCYF*36UkFH*U4PmlW-Fmj)fdr69B z)-N*)7lsQYX3aaJ7fvZF814ZwE|tJJCDS!G>5mD(O^NFdP27v_2~p5_=>upn8C^5< z_Jf9dWd+1T32_|=9j%vy{~#-4(m+zD-u)L>9k$$9U@E8KD()NTf)0iCUXrVH;E5KA z`c?j$&u+$^$%|oyDp7%H6L^BedmtsFO$9aDvV@%_c5LFV%q zP?3oYhOZdO#>)5fT|t}oC2w7viNkci7xZeNLuw)Loo@dnT0AgO3~ zp+O{s{okv}^Org@?R>ZXn`7G7;eigvzB~U_Db(pt*ImQ*!ld}VDI&Y4TRsZ6_VRQ_ z{T+V)_z}7E0EE`}uh8GN99$oMUGx>r1EuDY^ft4d_YdvG=~U}ZWH}9qHec7iI24p% ze2~*H6$d`e9o|3P=WfM|@I=y)k2UJSWB@ciXzW3OA!GkB)PC6D+NiBfR8#5fl;*~{ z{>7uQ5dc@fUd}P__;ZcDTWQrNczU7PtZ);d5y-3cku_IKu-dVQh3oD*_nghI6`00- z3|m|%dupZ}Y|Y-0eD8DpS0~6NC+e`75^B7Fd@$8&kY!6eUuKg%z%ps`^EjX0pCg&m zQLp?*=)R>*be`-kS?^LTExiP-^BamJQk7+!KfX1A%i40m^5cU<^L3!*He--h2auv~ zW%whmS04FBQ313no!rMa=vym12fir0k)@gtpv;L2)lE2YBvL+!=($Wabadbk5Mh=5 zJdnGTd+tqsv2Y13QwYrcuXFFu3a(2###1&dJ?w9|#9xvbmCKAPMS91x5q!sLigre7 z1?OndiKHvU&JuZZpwD-+B$p>4m?7!nx(|ilKkdk^eq!UsLbD}EbH~&YNwf7FL$Q^{ z9K+p^*Ot;#boI_jUAW_LZ0qEO=}%!f85*{2tSvFzn@nGr{uTDT&EJYmubbn;xtZl+ z&=s5aNX^zg)b_VdUShj?@p^l}-`EpNP_fby@R$nPIp*4Kr&`3xoMwIM#sbf!ShTw# zz@C_H@t?oHYu~-MGghekemx&mxExtD_JhQg0)nK6j$>doVVrRO(||qQPm#9FL#X&w z+X57#DqH8>9#DS*Z@IvlI7sSOM%T{c=b#9`shYyGW5pX z?rVA6LA}Jz$m!yhr97L5AmnX3_v6L#;K_(o{=@ZI!U{$|%Fp4Vt{-;YyJ`P8-ptMv(L-H*Mc7eWT5m37z@Tt{`S#2t4M7k-cHdW!L(Qtc#Te~O*? zii(-OZW~Vt$}O$xjH*~9>eud=4N#x0Ie2u`dJnZ%_Io7Mh@uv?k_=j>3q5@A{B_Ik zx_vCV#-wP62764yR4TwSs*N*sa>wC3gDRI^fn4JbvN~jI=P{#3H{f?T=6iXxCc77Z z0zWS%b{lcKHP!IXTJw!fWt6(LQ0?p>nRNbZqS28iy~{n))dqR2OiA?H^{GggyY3?p zawznW`Ca!#A+vr?uRSp%bps{929W1f1QF6}!SG_6mCqL36w?A0kIaZ(>Te5{p-wj>* zM_&84q~&gHRr>{2e0Qz}<$A6=zd#n<8;kGD-{$U1%Q_@+p96VsOum6;f+|~+@9)0B#^TPK=PzQi zRc|KQ<|Z$$Z!M#CXhi1Lmo`T04lcyTV3kKvmr@Yl^V>g?lMF*u7MK$)8<{@reI`3! zM_Y;|CS%`m!ksm^uDVPc1C}Rkk?mUzL&%bB&LDy3RU>Z+LWoW(d@$MrMv5ND{kHaH z13C76|0Ht5@{?r!5;wSVQ@3`MZrXpf^=^*oiN-a%!&?ILRRcTTM|~v6azJAEu?1;w z7{#?sP5}dF?VJRh#ScNK1la?}cN*n6w)LvUYo_8v7k1k#Pm1qIS|+4VKERwAPXaL5J994= zr8l7wFlP$sYmzZ&w3})ez02L{rHMgxe@Bc*v26Hnnf_E~TXGh%rU@A7Tsh$K@_x~b zhxu+O_0y*NiA^ife%Dtw>4URH`pt%ThPWMyED-69bpHblb;Zi|VA0A#rHM=N)-s4$ z61LmWX||?}r+Sqm82~;0YTufxu=8Q)`=w)Ov+|&xRz)Uv-O9n&&Yw(5+s8FfV>;c= zMUAe}C*y;s@)XD0hkMGFK+<4sFXG_H3iA5>*H2a{J4nI{HtHU3l?%$k(_@l;QmJZ~O) zSQz4IRlR8>y*+jVcGPb~>;jEVwg_LJ=v>k{b3fo^1{_txD*{~G^4ncHc;;NCHPXL2 zYnjSKomBU!^<2+}c(nA^^>_Rz{#oeJDN^38{Z9|iKDG6Y%9YsnLLPRolJ$vx)Nm9t zj3gs=%ZV)Gk$$RnWJeZxfwh#9x6?AYgR@TQU<>*6W%1quQy>7jwC8b~bE@oXhO8e| zyTKF=V%XlE=gZS$1i$+2=j_}o!1!G*{$(>Y3AQpdG z1haFp0_}S; zazWS}z(9O^`BnAKmoL5_FR`4ge&a@KbFSjNlD%Y4aZfSi&=nu5&K>#UK{ceAC!N)# z8v!#!z0gvBuZjpvOwo4AIn0;$(p)q1>(_t4BuZ9cH>t>jmHjo-v;h7_$Qsu8GDkBQ z#RO^m_e@IQnt7XG<#YuZxDa2QJPtw8Mlj1~qLER(t*REUKfY>}C%B>7w_crYKTHle zdhGxq2T)-E;e(hiS7A+IrcI)8WHDvnwJ&qEE=lf`QTb;DNK1t0p?nZY*>lb@7cyH` z7T5o@6@N&WepH3zLTG1jC#vu=#;@Kh$UD+3G2FwXRZv%^Q&^lr8B8?1_^| z(f%iFc#`It;xXa4!70!P|K5k;d|zQR4BkKaK7N`zf#CX(gwyU2{%!G;_?OS`tw{ut zjHHSbj!^b}V>ek*TgTD9UlxK79eMWIf4rM<6S88ldNs@7Qj?<+Yqd`LA9(`rqwt{jk z@_+{Y2n%+!BG58=cc&bUf{agQ4__pho&Pah0GLGi)a>>nctwOy)6nGxN4d*MPK%oD zUr;e|oo4Zm!I@Pyf&WJB$rORb6Uu6O`qN%D&Nxv-hG8BA`kyQ5bb8JniT394CqA7) zbeke2N?fEp^qA$p`Jq>~UB5Zq!NLg1?J(eC!R1Y6#G#dIm=9f)_X53)_}iGkvFW`! zxPz@NK{7iN^tKKr=}}_Oer3acX@h0Bujl*=TmInSzoTL{UFHc8(-*5UjxQs>WPd~! zEeU)nq?0I#+}YbG!UI3CtQnlz9Y0YNqy!wUSeyw}o1jw_uI9;i>W%Nn&inxMNymqJ+JRwV!I6#j_sd@kqDo-|W?H(&EBjLRv(9XdjX*WFp0J;-7Z zn}V{nZp^@G^EaoP9SH|sQm+f7nNfiq?5{dW*tE*azOZ7PO%e61v)i|)P+qBWLI|(mDd}2I(G4lH zXVp?_gnrjkU@O8XAT?3*jGXY$=XxE}zt%dswOD7h5yqSN5ZoT7Q1e6;15KWSG~3ol zPDS|mw)RN#tC&vRn`EB&jsIe)TMe=_P!iP=YZef6jmmGH47PVpT;CaEpGsmg{YwRN z_ql#}pcj(tb>y;*I`|P!NRIsuEbHmyE1zB$f2(mJe3&P?*;?g&NHYuUE;{JM9Q)$# zf>Th9j4+{ITQ(I2p496uy37DTpc9P6n$_35&wm0mvb=BXxAaH#KNIBS1HC`jb+zqx zV-%kYH5pKFR&!fU7dbIhtVyXAh6k;*lI}15QC0w%_+-|Jo^?!?ITcV;jJcXdn0s6T zz-|j~Dj6a_y@peP*08{4t!{V+rE-1-J!uqcT*cm5|9X3&?JXS3b4^_b$^R@noy-fv z%Y0e8I#Eq=`ohbvE4)*pM19j&r;@98pdW))^0N$i*3C+I^D{Uo&MLb%0w9$QW#;!J z1fC{jaU^$j{-jOk4CTx{#ohPnIUW&_vt6%SG`V9rjY3v#U~JZ%6Tq}`gtPw`c~RY` zskL^-*S@n(BOgp)+XhXs0>7T-5PB`zVJjY>!Bb$g3RR$=D|?qSH;>i0#{|NehR5o; z=G60;FlkC&Ys5_xxEJ}{cHr|;EX(w{oNvjn{=KIo-jL=SAp8r->%b^i_J@%g?c2Z& z{rLzjy%s`aV4q67sdSq%G*W+v{dMQ~F&jKLzixS^?Cc~7MttUXGE?SfBa>%VX}Tys zGE-)wUplAV#Ngkyo}AvQD>YRK@8B%|zJus&>Ea8>7Vw<=@bP-@yTjpl=;W0!!z1m1 zpiq|0F0RCTgTGWQUq=6u=_)kqB?F&nF;=EN8K~0yOhZSz?#kJpWs8+er|7Z9axeYZ z{%F-Hw?@7z2K0y>{XA1XaZ@{8=veltx)wQwDah24YVmc}l75BlVx(Gg^Dh-L7ajBm zCLP)<-^sPW^ev>XSdCntlR^6f4x7_{$KLG-8`~jmciI$W8vCEfkFXnUW5@=AoMXjQ z*3$BG{$P&J|AC%eSka%59pJV__qs%B68F!dnL&*<-HQpTW98{2kbW|FW38o zQ181fmI2xKokA}L7s*#Jko8TDO+V#^2(XOzKllW7by{k%u7CWT`-yXA)kw>(oMeTv z6pMo+vd1!0m`N(s&McUuLw_*biLjYde|>L#+Un?SyFd-6OW%|X;_vBaMDI8|A}MzS z5V*9-ylSy;g|O_A0Mksj_EuE2roQt{&0kLcnRqAIxMSL+R8H5Srp0rMFZqXfZ#m(Y zw}Z3FBo_qu#2TVd+ofhb61jK!?H6TGM;bfjA%7A6?&r1vgLG{{V#Av`F`c|q^z2a5%2leiE-$^RdH>;^=<`n~K*$u^mlr7me@TFm{;|qwdOvp zJ7)6j>>Fz(EB_tSvjmUEzjlJM;URY;9{UK||x0o#eu3ewVds z!S6J>mN2agur{r^9f*>1UsaE#Fu=q)dw3YF!hCx0yiwuBFZw2bU9+it-?2lnHJS}h zS~_$>vWp`qPW^#$#f!@P7G0Jqg-yQyUXyFQ9-TQZnFZK67AE#;|KdK$vi^Pd&tFAK z!J1FOjZfh}Q^X63zj|iu6YR!_ByDtfjQ7u>{>C4qqke6{#YF&PZc$q=CpO-owlN0H zduKM*n5S;H_u@A9pNHs<@;{pyD%W46Ie!L}f6wJIp0=0_#2B0IVm=_)s_ypATP_JR}EczPK>pVFNO><%>||0A)HO0i~r zmQZt;Vi1i))FI`9Dv;(^GZiiybb>#eIY zqEYqx!jf3a0lJj!rnm3|*fHfVrV+i55-daDq z%9mYG(n@*A@@^XsYhgv@L=k~Wo=_hrLDPuYyRQLZqo=K5Ih zY;F*yWX{KW@9Xm7<(bL$a@euel?QKGvEQ8VV7p>7lI@y$%QSxxnCutj=B#zhJ=m_$ ztlZ+2%&-JhXlab}a3ktkU*?ko6rG(?a>URNq-g|}+rKvt>RHE@oIimzlu_9IOFT_YQ*S1>;O`}gNi z3hzxT*D`Cc+xu`T(QxhN9D(CHb;hSMNOw~_gt%M8Lf7+UDCmYqkLaY}GOF13l&YAsV9)29@|w8#a^))q zseb1;3e%p#Znt%IbLQ$^ycK4i!h-~wp1l0W$lGU=h6Oa zTEg3<)7!c&Em=6BQb43NocLdkS)uR4PUr2KBxY^UPil?FP`(Otf{q-A{S{^Js|UJA zmHIv}#XB1|6+bVM`po@rJN-J~Q2TQDD+WG#u74to5&B?U*3m%R5xY{Up*n2s4{h|! zou2elpai%8!8ji@>?9}KsX^FPR&8^+Wd{cNEr!5<&4N)4PU!g1~LXfDxb@3QP z1?#s2(FRY3Z{Odjm+F}3-?+$5#MlK;qbee5P4T*0XFZyN){>A^r5E`1-eI@yipMWy zyN0|DA#BOYPOnN|O4VwV=V|LrC2_QTDgDK&M_R_=%L31vote1O*2w==d=+MJ%}XF} zo7SO-acW?<9Ef%SiSDgi(|DZmu%_!O9}-z?5rx=nS!9JIy$)oy^V4hUk;o) zqiATNHC|1A#j#H`KqNgUHP3N7{x=m*CS~+K|1XnFB0=*QqV~vgc-%)- zb5}WOKRR3UufZazXqTTEL(m<$_`=mN!>V+_DmC8{3Z;!CYK;&sB1Dw$P#7W$yef?jz?V{fEjBP1Y-1>1^@SEk zzj_j((w!uaWsF(gX^gmaz$$-A41TDjsCqKMJbV&HzY8)!JgyK|J*jqUE5BCx#E?1> zHQVy3JAJm>neTDkC%W^Wbgx8_^f$F zICn*!_KmJRZ3@Q^a#5Wqg{gHBdso(aLsjnMeDcaD$`~NSD6fv@7}=CN))nZTw88VH z;ox_FKtF4^zdY$|7Ypv;XF)7fRUyESvIs%fU;rkP)G2Y{AbVHHP_k`X+8pN4vH+1 zz56B0tm{ry4}>FLOcC?4yGT!QxRDU8P*khH1UmbkE)^#2#^BQ>GfGHdGW z`c!HV_vg%$pJAxYq&z$HYLj9+46eUYb02?;I7rBGB7Zd;=q_-d>nhtOFxBlc*G<_= ze%6cKzwRw#TP3x4~tCrA{CDYwV*hC}T`ZS#)DNy!_6cyiec|l!*?R;T& zrcGg!?Jfj1K5NvbyP*zZePx_=hH{=xMG{fJ8X&q}#S}*trrwa_i~W}{X45giP@78( zEy_GzW`7#T;^6AdX|%zPqJ+q&YXF~~C_qdn4WK%yhEa5|jb7`)i$SrUistU&gJ5nU zK!BDcpF_YLg#S|Ds>IS;aL6&HOKka} zFq1De(64TbLs$X~eyFX`?&hDM_6=N{QC1c3ftNf6cx0c|r&=ra$6_betRb%v#qly-EZR% z)B71d8;9SXwa{7boZWUz?c@ZF4eKzCO>w*EsJe}Fc8<$4UOeODGi;wBvn(cgwp>r? zesaRMy`1(8S@3ZC0spi9JltN1#_IC~c*xjO<7X`*scqwb#ETGLrhH=V202GRajZ)? zXIBEwS5&zeo*uN7s31B*I{djk6pIlI`r#rGGU}2`)F7&a43r~aA>yCNbvU%OkIFg$}Ua> zX_o`yQy2(b`j$v+vWh(2diI5?s3W#D)iM^3P#e)O{~giMmU5KA`ZfM5WuiwIqPUlju?Kqfmw=Q zq9~lq=&vCn77Ty;#BeFWZ*cGh)B$0X#pqd-HW*n{W|$2^*63Z)a|l$gK}b%_Q1Du> z9^%CYHMqbPgKz$yNL5_*3rgoj!Z+Z1G_l!#Z~1;30#pU)Fk|@xu~qqDXzBtm^df4` z5W$$8V7p#CgvSOmIQ2}x<>wg%IQEQam3V_2T%l!)eu?--~+Qx{>G{uGqZJ~{&rvf-tIfM0zM1!Y`JQ2o|EUV0ue6fB?PbtL(WzKiTf9P^NW%&Q4fw zz=6bKvx_g&!Gt(08GdMe>AC1d>3$fj85vUUU~t(mFZ#tuRPe#DN-);;7Gh+38o_Xpg@9}WR@L3#R?W7NHI21l7@G57 zr)FGZ5M{}t(+LORO4-TaN?FKYmGk9d>1T9e>t~gP)Ne;2RJQ4ZueNhT42F@x$YIf7 z^MEWv2|$(+ z47;K316miC76O%O2)0p?1vgot@%<6Nq_m?VjBbd=MpYM}ZEz=rU~o-_eC2izewpe4 zPP9UIiQXauM{WtPGO6(JO()`H+Zo}h);eMq0YxxsxlRBS#>+U{hF%zHhA4D*?m~oK z>U)I$(Cbx+p->aoSRdcbZx#8E?cG zqU?aLS%bpbhd+d{9Dsj}WWKnpjs;*F_Mv|*PYQlJV~1dwnL}95P=s*9jSzeeB312I zdSIIa0dSKi8Q-6l=l6XHExMtD;Lw5_&`wwg@}f{6q$Lm?yQ5}H`^A>F2d-NID)NOe*>_Yr$(D} zj0xUrU_o#J-B;y-4&YcgtxE)4kPkUS)-*UnlJ4wB-ZVOcV+i&mY??y>s`^Fnn?_PG z7wuHA$ro7AuIGvXDvp97Rt?RFu7(>#zKDOV>jX-mU~JYcn5>}?!Lfh~u0J9G!y&Y% zi4c;iJXbs&{hW%m6mNB^f}v6+H&X zmY!(1S_7S@dJJuQeloc1kP6{{r-JZADIfrM#H-eKZs3FfVVA52wN-UL^r~6Y7mGG4 zxLnmIXsL5iA>WVgLX?hj(KO~|v0&BoSo*UX=w*jCA=9YJkb0E;D)XHJxcvcVmF#W| z;ec{L9H3|rKvWP$#``nO?v=Ob%-=;dPpZ(=2wDGbzd*Yc`x1g4+ZX&Uwg~Y`Nd-)z z1Oy8zDS=h`CJ}r}m{skJxU+Mw@$jLS7>Z)pXpFS)gU4gn5Hhjj2yZ1^m*D5RAypO< ze82f|(lcV}0of4i5Zy!#uzZt<71-QonZ!{Riv6E_Te z!x>nPC&SoYULCmjP@ZSY4bT~L9D>J32@o=)jUi{F46A56UaR0890cahcLbBoOPA=2 z|M+@ts9X{+F!`o^u*D{gUaGpoFp4C3(Q32Pg7I?FLc~YSf>pAE(A;wxgUhnzIm0`3 z2tYei=y=&ItJcM|hMSidPVOR@#~xv5Q8_;m0i)yyVjCK8My>Q|)dl;imW}A@CmY^X zDjT7yKU6s7ZZbsWUW9-d36kKnY{rnQ(P{*z97gN9;A`&@8@#IFYdKB=;FbZ_@b%sE zz&eqdIaE3keBd!336upt!(t@xk|)-U_hyYI&R5odrehsS;8vONAfa^4)woZ>D*}U0RTSH|Ik*9F|k&GQSoU04&zMEdqQ}K zMsjY9Q@Da5T1UMteeemJ1kS2tYW} z%~TbjVY#TH#Y!`y^~tcy5u{E9U&Oh`&eYYxN*=Z-M--woU=@fn#JXDzDn8(-?8+$_c8LK{BMW=LyO0v zANx^H#~$D&ysO5uay2dPP2nsZFg#{S6YDPti?MNO#Mq z?!Sqa#)$ulm*3TvQLr*@D26;ds>y|IQ1$e^IAO0Vf+KCHZeU}uZpbV2eQHe8@TT_K zrWa4XoO-A$>(^|?WFmzO_H35sk4*wXS%)WtLo9bri9_G^KZh=MW~Ws$wmTWp-aPQD z9x(3Y50l=LXm-4P6NPt`@bEssry0%29z!ekfM(E&G;JWnEl?ya6qJf%{v^SY>@J%; zl`H3{p^6U)cGET|9Z-uHU>ZxzX1q^GS8L&Gt9reE^wAo({UhBg;_qqhe&Ta|i68uE z8}p?YER%*wMdG{tA>r9^=ix42EQ?%XnYO>5-)jyAd3<2of-*(iXi3RNo-4(M=iToy z@yllHuqHipy&hPEjU3JC9=E=pOMY@rOgHPlz+>;U(|)@pt2U7mWSpL%JNhul9>lsQ z=Y zrQRu5KiWCJco=&$lg~RtLB+fD>^S0eIo~3e09Cfe?}-7PZftYV`1{v04y0RV>altE zSxkah3$tu-{?x43DlDC&7D)q@vY#$hwgcxDd9&_kqDNRdbC||?v+l^;I_1wLMH@7a zc?YcI_nYL84W8{Aa6WEwI|r%}A8_sjdM;MR-gnR&CyLS60@p*&_p%A~@fW$VW3d$7KHCTkU9611&toM`T=|%|Yta8N*lZ?#v!%wy+DY_$ z2JKj7{=F>Alvc-QbJ{Va$l96xmz#Xnyl)4vXU8T6jC5<(bgH;zoXY33nes%Q->F9C z-6t^FwV&Qw4kFdni~MC1h16lWYBxSfwd_wAi9?toh4DKSgIk}*NU0OMy;Cpl-3D`| z3bW65k_uce?j;7FER|`uaGykgpu_<7G;tf&>p zJ)pX#kw_Y+*+JN3Ca@K!rbf7RF?Lbw6DTr$0kjvn*(P6DD<>gnSGC2l#;Y!n&|Q1(kXHL{FuY`JU5ZaOg&L|cJzJs21WS=V$!jJ4j-S$ zkV6~(X3U+8lkc0&*lwm1)epk%6wdD121Q50*HM;E8Z3T`(UwkQMZN~Z{ehrmXf1nZ z@Fm`#VnJN?C(%UrZ-|W0p#2y6VInI#%5V=jyI#?>(xz`JYN|%-GK%? zB#c(gu%T$S3iml-#Z+MsZgma*b`57*1jyROXwZrvP2Rb}o&9p{%4IHP=mU>n6KL$Y z@sAvAY)gVirKx;7u^n-+A@FtR3Y6+*)K$nAe%;5cwEj?N{kJ8dEs$qY>CCIyGRcyv z+e$3$C5UC@vm;KwF;AJ<_7=HYXMLL~57O1>kCkxRq1rNG+8T((C1dn|uME2Nt#CIQ zVO~HStOs_QPJ{D;Zv58K;EXmRy4!YT*Cxj^V{7j;imSM+Lt1 zAe**FfL-W+hp#nqt7)HgO9l$(Vo31Fn}{#oyr`(j@ap-h`iFD|Fg@WJ8*YeTKc-9_ zodUZ->n2z3-;=C~Iy0uczh~Z|5*ejt=~vG&Gxo;)_G8Y*>ACx!2fVvj_uk{&?Qh1$ zOnR5?o*fAj1YFe}c4$=8H4tNilB@@lkpC>nb z$Jx7Isy9Is9vLlY*U#P^(`^6OUCVy8^Fcws6nR{AcyvD z9SwhgPsY+Z;)5C~w;HhnCN~Df7b=-b4}}VXSG-pOEE`SFh)jBiZ?MfOS49EF&+`1N z&+p8Mbcx8~?BiPFaEWNxB(+28+AAKEuQCRTuylUvGO-`9lCT@HwXxl^_vydZbeDBk zV(H0Of2}O57OXthmpmR_vOfNE?0o!qys}iibWu66WVop5%H*`{^qU{xROgzlOjYVw z3O{e>{4sWr7G!^#|T}ZBJpZeRV~NoLeFN7|(wv#6(t3en3V- zVMr!Kwj*>dKrN8Z8)n~a^}H0Yz>V!cUY>%y*#E z?^IJ%)(J?XUW&c{2uE2JqyCYMsz+~=9b$R@^z`#o5Vp-l%+t;NmWw>SHO+P)e}Jn| znm9Z~v`Sn*H3AlT9GH4V9cq`vR@Q+?n3fcz-`I1I(Ur#KUu zbMM^w7KZtp{uFw2p8@&}=m)I!)xKH1iM(RI>|E^}gf9bxX*mjlrSzoyq&)kRBI*&2 z5ns{p5F-)AknYeZiG;;HY``u3B#0TPZfGIgmmc5@pa9Si;f<=odA32i8AVg*aKlP2 zat+(UxuN&hGRiG>ozO!wu&S`vdg1Fh_KHAAy>;LqH+k5O7KI%a26hnd;ZZ@p^b9IC zPBw8Wbt+X0M+L{B+-zDwjx>i6#YgNrOgDmOI}Z?e2%PjQCGr3n5Vhm-bth>IJYbcM zvjW_SUm8Td9%oMXYSc*4kJ6;dPP38x@J-+83U@ih z+_7gBn|M4`hUlZ#%m=_9V`3J$W;ze7Tr|bbBNF z&$~u4pjsmnkfo1-xh5ndSWRpJEdMNj%1jq+{>~zbIdf%|W`NgE)@WMJ6FFGjY&bn8 zki*by#vqQusJA_-79VrfWVLizqB4@tah;N(LH*se#kXHG7-quAB8332X}OjQllbm6 zOwR9yHkANo0&e=9jW}@t(xbO(i6Q%L%Fra4k;_A~2KcHF*k3bb1wNSj4ur>_q5&@) zbAb*Um!E=O%Y*W}Clr;sy7GU-C-gJsi3X(}U*icVZtnei3whtb+E{G3`6;~PG;&10 z0h1H{Vk_LoIF?&nPLqIoK=B?=awPgvIS383kNbyjpDsjH^2^MZ=*z5YJjsQN6J1qF z_<{-X?z#q4M zG-0e;7$HG_Gz#4K*V|eYXSP{`feBJAW@6C-A#Z492W=8)o6r1Z_dQ-n0X$Dc&~6B0 zgTp_e{U!nHd^8pUpZzM$27qTKsUc^P$o27%fdfbZHufY}(3mb8Ujot;jB`MJ1HtEglM zko+&{I|Cjx=jTyJz#G}8_K`H9WAxL(iBG`q&SoE}n?5=)H$1$z4$0QlD^L6L6xXCP ziLEXz836TqD=J@s88CHmR-YtJDig?~u>^ zL}nK)!5S#@8RvT6qo($;D>JN0sCN5ojLC9gsgq(YwayH<{HOGB40C)8F*@mb`@A4% z_ckyV`bJ=m%ob;%LVP`=*}$wABM{B9-_x+j-|4bV20U6AT4tW*y$LM|k=IGDfAy=bkFtrAfLhIC7tz+ZgI3zZ5K+0qjaP@s9R7ll8yKC936IeV6FSk5&pWi z({$NOt8FtJD=p6KO1~S_5LxJ--*<-X)(kW}OZvi)=0EpSaX;dq)%?NX1ndC;_{GvM zlXmnWgbEsrvESL7G}a^3hjmkC^1WhPsl)YRPq=qgCc1|IxX&st>p@HpY~igR+1`pq z_pu@C2o`$~p0P5u*4V{ZKfq<0zkQNu8US+C$)X6!<-2JFFCx`gZ$x($esyxu-oK_d z!EFriccQsNH&={)0)M2wh-{8EYj119o%Z7Vkg$BFzkVaJV1D-s*TLzeXd>%hbl`Nm z&f?aE5%zUc2r~?k>+z7ugMCWL)#QN6$^f8){|Xky~w;BaST6cbs$>e(aqBsHN)@jk(l4&U)!ykDkS#?)C|a zB%)*t!gM+N{ibys=@zQHc93M_Z_C~?=w=n|b0j97>*?H#L<+D*gTr2x_0Ybv@? zCx(2bW0s7Y48mQ@owqDw2ru=~wzV4&xBG3jYh4t@QJzQ_eJ@ppt!TnbfATviWBjJo zU~EfoM`Gj+z0KJ{~D9v@0_`(!`0W(bTZ>M zQ&5ojtX87^rs11kx}Gi|=g0g+7WcDAU<&iL199)}TwRiefucq#=w9ZvC6`|F#W2Nu zB`-+kbPm5GcfaKt&TCLQTRKkvnJJqp?oR&ihrjOpML{kvbE8go&fT)CKlfS$sY@Hb zJZP&y8FKPvxy*<8;ztj#z*gE@>4d}A{i?XAf8TZJ&IqA>ELz|`teC6~%! zYNEF?KIhV5dO)Gm!ve;d$`${e-0P#Z-{y;7ysLRl+r8h)b~44mdLH>qINx+@&bXL9 z(%GuNuFcdtdcHCYA4u{Z0Sp{c7UiVHN8nb2 zM36B00W%oyA~Kk%QM&1`(7-fI)ac!8S1e!}Mry=v_rIR~k+IBh^%~;n0ewTd5i9TW zt(%CWqXUY)P2-^MtMk=qX%At zNa1@qc`!l@Z73hkhsgTx-=AZJxc^lHKN0vN_X0eLFJ)uBBWN^oQJGoWE|rVE+(DR7&(+6Mklofhy!GiSH|_h zg;h3DdN9?h7L;iq)E_F{)brt9K3M5Uh_4~NpwX(B@WQ<)!HVnmm)hfa58ZaS56`z9PuYuP|Ke}O$7oHSCbZI|6Ds}DkUuVw(OLRG9 zRY`bAHIT)5oEiR&_mK$fnxcu^%k}8dhy z?hO#6+>4hygOGBpI=&$lP8MUp^++%afMZ$;XST$EM#Cge``W%B980YV^xhI4S}v8^ zxLYmth84q`9)f*n38y`hT#x+9`xvAYhOAa)$-DyxeT#6SNO4E1RoGTy^w^y$Na-&T zb>HRe?@H{(4tO2g0FuOS;)s8^))?wQ{ZM%>a_z>J#c&a|t3zwjmvkT5OPQ&s%RmFC zkr;v}%y(@)<_J_45W3c$g=s7Sz%>u}ML`m0T%f~82a<^Sbb%0B8>BW`9CP%UNA89yT`{PaI1btyvP$}$kMupFS1nHA`8$zRs++N zo?|?Q0uM=a9D%*$nR(6@d5D@&_ zemSu;02|h-`A!;un5j3TMuq&s0b^OQRxGGUe@T#A6%sU1YVmv#y8y9d|c>GL&#c z80<@N7>){qEfAnNu-3J9O&en|L0c;TFBs>e`GJkhstT{Q0_x-nBhA=e3AyC zesK_n!q1W*&N(E6;XxQ-1oeRo7H}iV*iyc*T*l2M!iR@L{{7g&j3Ks#5H8xlEGw=8 z03E7AYmzvp8QF^wvuq3DTMUAm3yKd*Fv0x~=GHoampkEsGP+1aI7uk14#rqg1r@HkR<&fb^Qn5^N~Yd4@LS(;`32M{v1B`lYFO!+ZGI> zyR28>9^u=8`;s6OgnoFBz|%|GgY~dA#~!gm(L-|SSbPuv8Uj%Pb1T#%yk4+;KMNBH z5;%vx!(+7eA!s4bLCPb|LCHgsF{Q{smcST#usOv$^rTf8TNOX-f(dd>qpK7MTdm4_ zqz*BZ3$N#F^+kGzDrVb{0}+Zq8?@0#c^C}G^P7}Cq8BY@+wLQNKz$?q<+iON@Se;R z<@J{ldcfW)c0YiU9kHH#1MYQhl?Obu>IvRmPmq1PO(>Yp~kPR5H7 zr@E24kC>er`3dZ@mAr(kqL1B2DBUzN9g-jpn3Q8XgZ$DbwY$H1!zu*R;JmLgzq_tB zB8vZU7j{#GvwDO)+xJ5r*bk9ft_W%GC5uV47B3hxC8d1)i`VHlf z89_T^v=13N4wLeeD|f^l;a4hf&PX3-$j!q&@Phme{&MRd04dD#d9=Si;f?5_^$G;v zC;5sA78(ghf8KwnXB`EO!G5A@y(Td0j9Jn`{#@b13^4u5d~v^C5M{D9truq~iidcp zqm^hV(`7uw9O$nCLhkm4Qi9Fr58!9iK)BC65O}cp0tv!JdM{~!0h9o|b~F)jP*M+< zpVLcn*$oMe@Yl3N7YBsCyZj6Z1)|OyB3>lrBUxnTqgbToBU|K3B6T|kQ3ohP$-$*Z zClMK?7r5QxdGHoV)9~Q{bGU8x9<*-%PPA@KD9a`8{6s(d0wb8F%pJ}mjSKOOr3b#- z9ZGs>1r@$LhH&=BLLz}FM;IP#=Exf5uKigpsJZIyhzIkMms(JyOOH%et#JVy|gl@VQ9k2=1zTXS_uKyNN z9YJxl0_U#QM;yTM5(HL15`s%C-$CmZd2s-99<{;Iq=r#k{yJ(yd=m~8Ye)`bzN9dnK?*v;MQod=L3S$#z_v1kQy!KB;6t3CDgA^;nurufGjKUa zGw`NI+;EYQjEFOcVFdGnC9>bVCF<8Bcet)2clh8VcSOz7KEzG+aFPJgmr$?;6t&-U z0e~dQ@nQ=eTmT?T(!cP5K_%hvA$HJ=et`NL%mD=A9+9ZQtWfA%&Qqb4sGf*GlR=Ft zDH)1#iGC!82+EWsd?3Nw0!9DUc zV;u^$h8n^}Mkb0yPA0MiNEj(Z%7!{q-3)P(xek%*{W-39@)#UV<{0a`|4%qGWex;G zLV2*sUzW?O*z)h2>JmIxSYQw%OmCa~73p_mgz0VVzsUV0%oa$`6GKg+rag#PGX@tj z&&^9ucyAwX?_-P;1p4Xixhmc>Mk2}I$WQ7o4&hL7|rhXvQ=a*f~hyWtR6y5&g@dumy`txWQ;);J0;wxceQLv1EgWyXDJE8uPNm2n&n8aL^ z#k)b!SA?Aq+fZxaDo!FEYvSER1o6XaiSn@8RZO6i1U3(Dg(L00#Ns!+8|vfXm_XcH zlK&1~L*3Cqj5gb{J>)zWg|7rW+FYvrZ+Z|r20*2^4rpzEbMTPcVlyF z857tDbsy?BdO_p4s0@qByw`h+h8@O}9N~2tX5bUPi{oZe2f|-!FmRK1$mNM$^Mkh( z^WnQuZ7hnoWF}P?CGc+ud|CgiDNd>`A=y||mEqm!2t;RQR1L-iR(8_BkUDu-(``&( zmgwiqj7n7ceR~&V9&X)g7-AwjIk6~eV^QWNH#xDyWMffx923~FE)A>5;@@~JNli}Z zWAbntej4hQ*^0|FtcYgVe|M~je}i%B1cM}qdFr(i6(`vj3Gr`SmekXhtmDbiK!QPL z=H-H;zg_TORN+FTI%^UN&N!K?m3$yv@z8xt zU|W7*4%F#-yPQk>Hf=jG`EBhf9oie@{P$;)VdBRULEW~*Feiv=aUXe){b}?+#}aOp zmH7@n>hO`1>4zM?d|24Mo`trH)b1N&|G+KtZSRbk&Anfak|&cJ)7@_uJ(u^?!EJ4u zXRiKTr#0*|qJGO8GtgCISH~T%JH~@aQ1D>KYe$|pDCFES_etoW_iWP=^t5~<>ANj7 z{d67(0JuZWGd8yXZ*vDbey=&xZ*z}*;&17g-I!rvzb>fS!BSWKcR+WVhYLjR&P#ie z*M+Dz&p)_a&yP{#-$uAQH{?;dI(Ot><@3H#`_2V(yY1ZE+&|w3TZD}xatCfQYIf~D zW^`X9zjf|9j%})Phdz~Bc0e{V$_NfhB!4Iu_=<4fE}|BZsO5r0^9pUXa7%heuQ7Es zL*T}_HK;-b&AF8&o_l6h2r^2ipD4}im0sp>hWiX%I8;}jN~WiDy4iK#QVLJ>D>oiG z?$twYL5dzduryq~8fDX)#V0<;dG*C7ACLdM$*ss%28ZX>-Bb#xm0UhQHt*asDLY+@@`neOQkZh0HZNrhD+Zz4h`$YX< z8D&C0eWZH0ZMukO>i__Y&!buancLlYjJ*oOJAbXE4&`wgnsF~gFdR*HzEABs-^I$+iA(QE|2NyHK^Qu zY1pbb-y>i8K*^Sy%Y2mNQoVgiTouM3ymv)NYX<3z`nm!!*(%=7A7g4xiDvflj>;O3 zihb;OK7}kUE)IPB<6&*>cjs|8`)7Pmw_|d0sKmsay*9(EwDk96Nj4j0zF02EGBaCP zJjXH6@S>wBM3VBN7VrG2#$nGpIi1O}Fic1f9{uuI<-{1*U zx|$LqDsVxU;!?Weq$flnM~qo(v2fz#*7|Sh#iUggf-O<6XlUnpHYB@i>?6zN#NSOW zfxB6>axEIhNz(H3`OKnR#U^jQF<^LL+@kf5|NY^oDysT_&-{|#+Zh3;e>+7gWr&iL zTlb?Z4v4g=OL{ny+m0=w>wf&pW`BEaU7@MdBbTmSM`OMyK%3Uks4TW9-xDY+Uu?2G zL9%XGk_eb|hsEPu6KyxR6@a)%baGv!X$lI))p8wPTddw@qh4KcKKraFdQq9-`p~Lm zlr49=m{-_R^_`%P&vX=zu9l;Dq6#>B`KhQ(5@lpo2Fytrwf_7k@uk=IV#KBRpw{38 zXSI9gQS0m!XpHIi?N4^wp0D`gD3pl#K2`mk)py}^C?sLq?c2A3)T&_9?`)ypck*=D zrG2=m1xm{t9UZic%l4U?qWMyqACHbIk2++dvIaY3n->T%J7Nc(hjwMcOe{jOEki_K z|1KO~p2~$WfpRiI*<#|BQfYGfqWnpDIWiKtBDr~@soc9vOiYgF4Ov;*!)d;>_9Kf_ z@_9MAS+Pz2Zu>Y*BtX&N1BZ_q=fTlE(lIYPR?y4%l2NSkQ8jT12R$Y}iKJimGgE4l z(`uT#BE?j&PBK~M=mSdV~8XD6Fm^Zr7+AU?}IO=LetkZVPURfW*xL&8c7f}l_ zj|pj#>zoPB4j|T1*BN5DGt<*lCYe)qT1~TY4BC9&gee`*h2tG-vK=48;PLOne`Seb z?EVxz;zzBq0%w835I75 z6u%rY(Tz!Q2uFHP6Si%=@}WNhLK-HddsZ&%3|H#>o^|z7DisR^vo}tWg+W%`7*3O*Y=nxOi{_)O8NviSO>Wg zgCv2k?oA&A!XGYA{|t6SWj(HSn7LVtg0$r!$Qw%|N%1DE`oCEoC&*g$OpI%G`A*36 zxptcAl@F4a&&kSRvD-UqQZ219;oAL1F(Fe=VwixrbnZJLCSBfTHeID7nWOtnByDPU z$;-2}NsoYBtVQOiaXal zlO4>??BM0S)}3uB9Ph(9d2rz6t^0U%I$0Q7DY7Xjl#`b^MfrPrT4T!I(fd(Jeth>P zH8ahI(a^-goQ+o9Kr0U;$p_i8!Maq)uqo;~sI(iy;8RWNw{PsU#Br)ozXx<28g)7w z8-Au5o9|WN)srkA8lRL3r0-(Jv|1E!vy&{lAxYZ@wX&>SXEQDPi!O5Si`d@u_(eXw zyR1Gm`1x5QWlXKUE0RE2nk5A~jSW$z9gJxKb;d!>jXe88(;jo!_k2t4yrM`$Zja}N zG2#?^b+NT8_QjC&rm6^b|qraZk=Z{rnjtAi&y<7c@Ru z&^tMKaNSJUe3LaWIr*n!^YnSQFzcu?YaoOU$`-Px!(^y6M)qFRD~>d^*^D)jy|<;{ zI{qZ3`Lb$f%`Ba*0keE%qo| zA5@G1mBtVxbQP=>TDoQmSa#bM?rd%?&t~LT(y(4yMrV=csqux#JL_-;r3SWBfra7=;2sfQ+$w>x8~tqPpwNmd|Kz4oKEeNI`^S3 z$!87gUyI+xVx(1^3tI{VO}3ruvC}qf1>62DY2f`r&Z+7$;jH5jZKY9f<)3)p%hRkN z@NJBMjr$7lY-m6~kk1eC!J9m-he6ax$`b8PwrBPYPmmGXHJw46D`rS)eiphe@ zS`t3hbjwwvIMVKzAJ?L)QE9`s3@k2;dK<0(-c8kWed72#%12Sq7E-Sb(82cil8@TG z*KmdItCZ!k6Z2G{e^@j=Lz=Y-rmElE;0We7F&42{oT6yG?kL8njVaqaHLdlNasR`T zu_ROKLo|b&i9%#)E~z3CK;)dv&gGcyVP3&Ol73YsM4bNKp2M*kFWlC_S$WIMh+W%z z!n#AI!%ReFQpLHa>9bEEopHG-7x$kt!SuZClnDTl3jfifq}G6Nq0_{~@O)ee^AdN< zx=F;!#7Br%@jwC@ZGJ%01H~&OmtI8p4*J#oY4Fe~F!}jb<_Q3Us%vw73piJKZj)YDV>)kd&!}^%c|= zK_onAW&HX=AK`wSk0$)RO;@pZLO7W?Q8{;^jmo^s@-LlFh;^^W^p)*FL`$O<#LETsM=hQs_2wr$B@5UG~4H&d3bJ_QxjZRk%+fc zvr9j3H@q?65Tmbjo6J_y$noPa_r&y8YE15zxqL-)d&oI9Kyd4k2NG~5k4(9s$4(73 z8Qur0GYz|py=Ro+v1?ksyxLc*d#aUS%KlTf4(ZCVb53JxH`}^%tr|aUTO~I*@)PH- zS-dw{Vp1NAI(9()A|4#IDCPnEM{nvBpp~PhUtHF0p#JIBpPSrMRTBA(H6cWo>&oePukD?)^uW%0+hHXxE{3_2_qT%?;-`=26CVKdUw@wtkB$ zfu>x}zP$6IYd6*U|rHLWL%-B zrUF!98c!31$(4QUT0a!xZOtb6YK+Tp&f)`KxxwNiD$Tre@=*H;2V4jg&y!K%q@dDt z%vMcEOV=i;Qg6bNot0VJfrysYo?5KPx{t_IhNuayH==QDv@G(@51-TonD3YP@fven zbxF~%Cv!0*VtgiCqPihY#t!07W1z?`m)}#kO)WJ1>{b7>m@F(XOn?)N!j6>(HmhIw zCFX>#ub^MM!v0ubd}~Tki-P|1dBLKmDK_KdpFPthg|g{J=%+Ik6f##Qf>_f}kRNeQ z9G|%)NRkl<$~2IQ{O{Jqo&Nzp;s409ph6$u`kO*G;~ua9Au6V>0n@9?nPQ&!bI9%0-Lz|`XeWC87^f_U{<5z(PC>H^Honf0-21YrErI<#i^=Qw=a(iw8+uCl zl$3ju-oSUP!6u(gOATX`kM4yk&Ap@MwTJ!%em|ym!B`;;d(hDmvkr?{NH$hsb=%GQ zmpca;cL7GDCR5MZVb^w|`CcZgf4$rkh1Yk>4dRM^4kojxFXW z^^~tXYkjzFX$XH%uA$g@w|N-cWkx5USwAon-Nf;31|96otiwgsK{X7gy`8&y6&C!^ zwI?RM5h@U!A^LTD*z^=hf?*FWv`G!Ia)(>oVER&O8Dn>1NId4ga`&@=>OElotH{-? zvNj5d$<}l}aq-JI(GCBvv6>1iS8AwZBDs<3?-{i3jWMOgpyJcdR#TY4-|HNPOe|{y z%`7Obc{ZJ*UIiN^WE;p97bo^CV(v28i}hBxR>nVYSw>Jx*${z&6$u=7yK0f-r4mnQ zc9dan6>WwtYr$IwN~j9REngfvwaL%c%iI#Q&*gPwnpZ1+Zdk34xjdfLL~DG0@<9_c zSC}8*$J7p5Lm5B;77)*E>tGL>JB36oeCjJUEt7Um6;pjpU%Ac6M>oFFxXZ-rK`0f! zXq_9h zwS$7~_*3@<+B^9)_wr*c(ioy9rEbbe2edrnBpcd?O{mU4LI$Xg@Jk6?1BqY(!(R}T zjiZgPH2h1&O&c%1W<=K34SG#0KZiLlg2nv3gNwfvr+Z6y{!JC6i8FlPhfKVLE#2b` zzc)F=$M2({%;o$dQqEFb0W!KM_^I`Jz2&t2eyT7za0;AypiMq+r3Z!4> z`|M}fGCm$x25%g?X>2Raj$PqrO&tgm2(?dqF$G5yTiYhDu$jIH8Y4;|+{$h;T>u zZ@-znt)}$p%$h2&K+i;RO2~7$iH^ch7+d<&St@^mt9ax= zfiMC|FNH6Bi|e+;^e>Yve_P zE;dRj1?QVj7E#5yl~G5OXcwUmD#GmQC8~h1KxOHj%=llXMP<`@^^~G$e{EwLG}4b> zKWZtDd`V{>R%X-NF6K#dmV&IZVv&~@eNI?rT8&!QEyXR#cmEbB-tx;nMU7uHftOX$ zd(mVlP_7uxkm3MpTTCm=)$mfkaC<>9QjA1ME+l<B*c5ZOuq4SnxrJ zqa&mCn?-@e=XAxqHReyHz+d9eBMrR8Tyxr>X*e>};E~qt9ZsJ$0sH}mXQ1RTNm&f+ zedJZJ`K=*qIFMlJm_vkdZ8KBs%_7`n`KuMof3 z!4%__3gGe~Rbf&xt^38TTN`7)!BSALTP&#hSA*JjCbDxD1#09_5be0ya(r|e$D9+Y ztQJl5?}?}1l`2xh&braZQL^)#XdMw=VYuk!%#jqtO)D5C!Bcc}&&IMKd3V0|U?qW) zxt5B?rxl%RwR7CvuWCvL`1TKz-TFY02msz$_7~~FR4+G1B@?=m%2H~Z4{WUs^m~=E zX}?zM^=Hl=uw7g$Wr?##ff7Z2L8h>r<0nO!Pr;J`R4eN zvU;k|KgAs5ICS9?83benkvmni?QuOD5z{xc{Kl9Jg|`^#ME+FR9I=>R^NTBT55+qk=mG38k z&}3}c+fOECnC5O7YU1a(@?QnqeyVCDvZc zY@DOL7};Dg!0qc#_slI#qlp4OJp4pZMA`gV!z`)8qK;D?l@x+JObq-|)4&r&R| z_{*26x7%%?sS;a+RRgAAJk<^eN8HG+NKEz}1T`&Xo{`1|7-zs{`zhYX`{TE zLxDJX5@SepbnbbQrU^31R4B<@MWoagaU^=4<0YDq6RUVD6p!(8o?Lx|OM|3fKh1ir zHYD=%hl8x`n)oFNQb-O-uK#)1ikpDmk7xrJiSZpu1#9sFb(?>!>{Fi`B{{YpzdQEV zFa6W{vr8M*qDIm#7*Y9UU*>YYx+tR zXW?;h_6OZl0~7yYYsWhnDx4XnsRQQ?Cl<|9VNqu2YH%~P9D$}= zw^RWBfwEqQ<6D7jko*LV&(CVRsJT{yp>;X=v#;$;O{wgQ__#e_rZ`MoxLmFLI(zTb z)g-w%VyA_A*9)9{LZ%xY<9U8&Nq#-$7TRrl*FuXSLt%5m{O}M7wDc+}4;$I$nmpT9 zf)@$?O`|&{yrOHNq{0)mbvYBc4$tA`Er@+ES9(}5FQ!tYW0(!PzY`0aMd6AF#KY{GwHDWb|c z)@WrD_(|00#+zP$&USuU&?c=d$0`5*yFoT>)>kzuFB{Jot0ohiT_ZOLOjO>bv+*#+u#s7I zclz0i=m8K7 zyJz>YLt*y1Bw#3-cC2CS$H(q?ly0QSDryRN*@*&K;-X=N2IEg0bL8d}6${cj8!GBL z+&=`>ehOCzlisd*Of%2xjv3$+lHWw9DJVP1FY2{vJjQ4=qZn|Y;JczPHP7JprSG*m zrMoAG8CRNEoC}TUgm&4##Biuov--3gliO0|quY0moK&!zMLXp-Fc2jkoYrG!TKeLy zal<|aJfW*xMTP{XnO*{YnQyl;gJM$yIiEE;Q0V50Mo}fEA%*NxzO-vxU)WkS=GQ%S zipHrlp+wi1CB{$4S1OM9&OtcJ_Po?tyr!xFOvVc)=A}(VjF_{WV~W7eDi?;udA08n zh$x75Tqb;h$Acd#U>~UV_?k$`?tdDq-0e$@z@-DO9UC69~( zHL~n0v`j5l)9ma2zD5vCvku9Hrf}QT{Uu{`8LRoYbn=lCwU*)V>(}vd{ej;bUmG}S zNj!*=p}$ky#fACY@jd6ujEOt8W7_LVC!ZTbKijW1RUdKg#7+wy800bGP5fvy%bma) zZG85FXiZ$6rthtPH6qIRSQR`emJs@t|eUMPI^j+N=tzt3KM1yujERPs#KS3aG`U!i4S0ac8a`B8jN_~Q?c z*=&?GRQ=4;cu&tv8n-zaEwsli$Os$w=(6b5l$fw2d_D)iaKinLZlm&{7pbhV2+cA` zJzE>1z!PLhcJ(VA_MLAxYWpZPp|_u28OEv0Y9eYp#+Y%GM|=9SsAyMoJc+m9KoMm~ zoZ320VLIuAEZaCe&SWs!hdqOGsdhL&L)XakE-o@mnjOTR7xSBAb*5riJ(3gg0 z9B=D*R}&ZQ^nH(J+iHwxaAl6qnQKmZRgQ%%whLBZkjX8XXO$MI$p$^v_ghSfO5&#V z9y7)#@lb13|LXbb^x&KzsPqX<0MgoTKff7 zdEC|hjwGs-q)ONye;Y!xuucXzYXTzCCGH%I<;a^q@YTFCPKXpdljVQh2%g(vEVA`( z1AwocB%_L2jxase_8Wo&{6=PdJ67d2CbQ5T99*V4Uo8Hm*lmyRIhWHN-}=zbz$ry! zN@Nk|q=e>QLBY|+4hwiTar5($O(pm9w>#c;0=o zG2>4gW~=4u_%p6B6qHU7j;f69o>71J=PWqZGr2t_y=d`0a?^ZTViNnCOlj{p)>KPP z;CiJwR8_E&?0*1IK(D_^I3S7ZSbC~dmR*@B+On$b7$EXnIO288pa`A6sB|pT=9$Xw z4skr+M-GggUW;ClR(d*b=e(9`^_tY@gzJG8_;R6Y$^Flup9UE<`-D(T>t2V{rbwg< zb0ip8Am1R&a5#{?VZ^po?&}#T0)s1GrBMdP+t?pDg!3&gX?T#OE|LODWvKO|4mLp)j z%1T+UStN~13wS)iHaePQs`0uYV)W=n7`^yI203~c6}8^k6JpJy{PxIqxT8t@!ZB*q za*b*a?5;yc7G5nNwY`7uLRE8UXDZ9vZ;iof!$XqD+y?&yYww!Zg|O6e!u7@>TC(Ep z@^y%RTdjxg-?RbyxIZkk}P=J`i3qoeAa9^&hn?!s_asy zBlN#!W_!CML3#1pGyZ!tY0Ovc#K*<&rd$wkozeVphwoqEc*7ER=f*_^REQQ)R*$Me z-AD9nC)i~(xCnXTM#xoC2*QwO^N4Tv@#xiE4_nUoJ|1Ziy#TpRFr(L&3sYwm1J%I> zQPq)YJTj4r^~^PzO0%Jzjk%gzCNM;Kr`N5E<6T>x(yDX+LIW0EJA{|1an10|U?evy ztVPm_udo*3rpwf%8xl_r(0d(Dnh>vZP!oD(H#%|pRkpqe z%}arlESuKb6?XNC6s6Z_c6ciUQktV6Dvl@L^aC?Z%yijaMVmG%Ov9rI$kZ%onRb4F5 zXcwW*@%3OJ<+6UaS#1yG*|JA9*7@#Ui@n?M0v$IpuOD_K;+4gtKvyiKF_w%_>vken z_$Y|op8W3KTCd@X7aG;=Fjk6DBlRM!M)fpPPB@Q2v_Xc7T8~z7<@oi(!NkLR)S;S2 z0Zs$%b%$kEd#~ef?>IrZr82jeq?9_((O#DNL-%N0=Z2!B^QNf7egXrl*4|)R8(Z#R z2nMh`>&%(6&fjVVnyXOhx!Kpzrjoy;Z7=tK*X)@oC_DEg<=F2=(cOO6^+psy-DPSr022mksSuUZa&Ur%<1G%Do+P!v_xiH3^uoMl4>^MisE_HF6m)V<$2QMa6mYNO?;^Emq zh&JqM-#uw<{9AP^Lqs7&vrJ`_Ir)C;Q$$%52Ax&3$Tm3cOK2Z9L>#l{+xunom!$!u zy}4i3>*H&iJa1y3fg%wJ!hS*1Wpw-PH+xOmRV%uqPo^I`7_U!;mY=UJu?{o68Ik%i z;@0Ut#E~>(oOprIz)FYl)%2&_!&-XifMckk0wWk1$|KIfXmPW$tC?+=yFhjv65xX> zArZ7X2v4eP8Ub|?LhVBT4|avt4xF-e1!X$Q8p+YK)2&R?x0JS&_Ny`*EQD;=p?yTQ zq{QK)K=O(iT&r6cIZN_FS5v{(7N@ZCf-Rm?qo=zsNk$O5G#Gh{71~mXv^J~JMM@Qm zw+L7bK;mUu^(FQWm#on3I^Lx}fXB3~*P?l$jirLnr&?Cht~|Py86AZuk7PPg6cTFu zP2hSE4_d{?*!<;zAPHn$wf78qAG2EkE){y zFmy45j@jbWpjP=<)$)Ekgj_lMV!9&91Ff$f)Z;Uo6l6uzC7+75A!RgOKjovjG&1X8 ztd}~ADbFy*mCNwr$z`}LhmMlUNVpjvzMfiI_I<*d`r76h6pr1giN?Y`xhBN~pqcf6 zHi)DNXe}s&wQAcidf61y;?c;q40|u%?EFF|togp?#o;dsLtS&98nI?2Wy=Wk^q}VA z&K&lhAwn);eX@Sy+(9Q_Lo?$1q9l&61f`#$*uD{1tF)oKI8(2f z>CjFpCSWPpW&O1$wKHh%O8QuelajX~mu62$Y5g=)-=$_%^yVY}w$37CaLa2NGcBw8wXPdnUJ0O`I1=lH`k=5(dDQ}tU$z*WQv)MTMm59#gXJOLs3 z{m`1~cVnu_C?nxEB?n_UQ(ofTvXoD2@?|%k6Ub{)wLtLH6qyKVi(FPCyPh*Or|lC| zMNAxaR&%1r^qw1oy6leSYKHj#Ifhu%`}eAwGHY4O*qzVpj%qf@-6z+`M6>R{TioxQ z7mDKZav1hAV^<9oMr5&^S>|ak9!r}=R;+Zgl-K1lRbz}#8&m#CSA!s)wi*_oJxJ`b z+vpD25KYfO@+>vWyE}g9+{q-VZ>+qkO1Go8MXYREfvEVx*Yt`x&62Z<4QcObk}@EV z7h#5e!7}9WXJ*FAhK^M?EfWtSE$9X(6itQbt$JxcYLhcZw7={z45yIC93%sR@Puu) zn#AxBk*Qs|V3>D8Dgz3yYC#F5>mGVRy4I^?r(sKZ?T9RT;$^HgDkQbAqzYAKmsFYV(d!Y025k)&FPepmW=3V`IwTvYKi3R=53ZsH*8DcTad>OQ zG-#U`^L-)fP`ocYUE8!9upZ``{hAwtOWo>TtwCPf;%MVFlx$xY?c?5T2Q6d@t<%<7 z>Yeg*mNM1!nnK811fm9r$d9wGbG}H>GSkJr5c!y_d9*x~6h2r6Qu)bmw})&mNq@2-P9p%2$& z#<9c_OA9TP(-g8{g_cxsO_yzviIdGdNVQ=WdcX-Lu+aIv|L$bsfP-=;k4NGR~ z)i&>S*DsMCP|GX66HebQtm&_4H8dm456OHE)6D%02w@T8q4k9*V> z^h71Ycyb}jVWb0r-Kj*p+PzLwujG;w3uP^o&pR4L`;L@aHXQHOl)W=ndQIpe4-Gm@ z_$?v0sL?9mXn%LqN!4ETcu8YRbQ1KNjbh7Gaal$tu1B=j7dkZS&51%In-}aiVT#gE zp-$g#T)5q!^{5V#C>#{oSae*^G5<)w9UFj8E|D-U$ADEgF}B9R7~S7S0y)r@!0HUc&+ z(uBPcxcl6Sq&6UF%Y~k#qmZ|6^ovo;neDKU$ID)@Nh3D9qY9I(aTB@YRohGi?Ji%T z@^%{hz*c3G{EYgaE&H^RC5u$ttmpB5_ts@~jn8tiqGHITA6iNDq!n4cJKPqsPoUl; ze8|(>5ZW>!?&e07ze`C*Rb{Ki;|!GI?N*=N?Vz}CsGSx~BV#0hDpUc%EB1+KA@%9X zuA($bj>gM+*i|^)ZV;Dgx8<0RXyTR%QnyMzqbzrPinWBaFj=Xo0=aMzm)TJ3zQPsR zY}+7=bfDrGD*;p*bzn6j(JoHS&c*v59mK!1f5dx zl%DbCj%e@{rsyD zG;l7B8z{XWjS_izLfH##It>wXl?*+jqnVg}qGB`;%Q{-Il{%^P9xgn3Ga=XNf%=}Djt8xkUA~LUs`$KI2cJ$|nbUZO~ zX=lm)xwM!k<#1by?za1*8h6Q>lXm%lHc=BZY{vQE{shoEX*@i?*&ib=VZZyhNCuU* z%*XEcNpbA|4PKS%$Ts_U-fF5NE2IW~$Q4L0C(AKo$31YF7$PnY7x$m@M{{ZYFKx~_ z>r0&>;@Y4{mKVieUH0^KWnG7k6{50dzsiuN1lfkLe`(KDGmh7-@Lh_Cf$toiyr z`;`8QzVMhp+krgCvDNIf>Fo}Lta-c=tnU{%ad|DlI)fY2!zXMMv*N+dM^wGRj*;+X*@$V*U($ zo79$}`9RC$s*PHYCakQaC7w~1H#?%p%1e=v3Ti&F+}pIYG8;ohl3Y-2cp-`sZ}d#Y zv%xUul)5O8rXT6V(?}wZU@snOouUA9v{Cf=p&4ZtTk)vwo38{^ZEcX=mf%Q6ijy>p zchqE>_GAlLspnu!o8pROAwsWlf=}q|^o7>q?4p^?;pK+T?2f{SdU~pGy5vkhq=bhP=bx440 z&KB`x^Fz}a3CR8-lchcPdEqhI_==~I2j75ha8iPInzpPqvPXhKt6tjb7n;o1gGTpD zWF4>AhTRYvW?I+8{;(*CBO&k1*otRn5yh<&iNv(*q=x4*vS0SV=esY9W|bJ{O<3pP ze0Gyl_YjfD9Anj=Ri)0F$1m=_lqlMf#Isb;)(vhLl_F>tq3$-w11WN8a>s4t`5LKm zF_CP_%bQ*Jp-wkyf-~X9`oiI&jDlCIw0^l|TxEv`#_z=Y?|)}sAP4!Ecw;LM9YeaxELUsW2HBnf*#a+f2;?paI)v4h?0^W&|TV; zPfXC>!-e$xG7a$9!p4N|yg-@V4Tu)Q8I$_7VIpILESAtnzZHr>$~LMTA}be}%(UB$ zJ?Ah85;Y8E-DbptQQm~waoVIJ5Z>(AB~^k&au&2BFcTEK9ff{3+E&;Gu2OXlyQajl zJlsca7SJ%`^TWdBpaohk$TcAPUixO*UrgowQ*4OK?lFtPsk%YTILppba!d%jIF;JG zT@g*fkrIR6mj^%EN7?kqs=nKIE;b4EzIH@XMjB^9uzp3u>n=PBQxE^cF9)v`2Qp9405wiR*5CNjpxsa1xh1k;W$!p$8e!1gbwZm`41W!7%Ly&fn zqzqL>_8u1cq@{*W({a#^)ec`Hjhp5>%?X?wM9Mr}wQnwM3J#8@ew@5__LC>oO*Al8 z@+6ohz^D{xRvaS{S@Vl}e}ahBnv@pQVqD8S(`*Hcrt=6-CF%92ni0DnlVL;_qnRi3 zP5DhnX7(L4eBFso3Jl+&1#Inzi=@Aa80ZO_;f>AA`>=&=UFP}tN$jbhnN62z1v^4? zocD{=L{%({LBTAI(dGop_8+{W%11JjIXY1$=npAM<7oM|A?)E+eC`tjvGb;k&^-jo z$lP(UBu)P#hKCMSr%m9dzPg@Vt8|dfPSB9tZs|0o%L>Kf!$eu7<_`R>rUOg0Pnl=SMGC8(VXtnRL?C;C z5e%D9Ght49Vni_ui4p28*CG`&dVn0DYiLe1E3s$k5~KH%m%Z*W<|G>+OY~{0(N%P~*WQp9V>X$}z`&q+C(Sfx6VOQMj}+m*EpLgI*}yFpmNb zF+0_TQ4?o^UT@zoE{572ClU?1EXSX`U)a_@^0*0|PMeGi%$bvs zgiRq`GT}tB{Th${=Qwwm#nO(5Pt1|6>h#+ED3CQkz4w4b%zANKzN4mbMPj3;bGI%? zbY3^~PrWWM_F4U+P9N|5Kxv`aG8;nL@JKafv!O}S(4n>Wx2sQBp}WO6`%}eUj<&t` zPe-D5?Bnc-qUHcj&DAZ1@f`Q8Op!jQInf6-v*|Je$2Ri1J{lamyM}22eFJTY!}GH( z@^k62NW3ZxH*D7}DT3NL*m`UkKJ4Rl0X1y2TEs}KR&4}TeT{89WLpu#_s5=M>EurlY@-m_SOSC^QyB;+tkR#J~(CHq;tx?36mJ8YO2rgp|TR# zvt@J)nJlqP-++|Qt)<$v9%#Xhn>|vbvmULB#E2g4Fty1#bWu)pMUv;3wZ=$Xspzbjt6!jl`XIPPrN_do{h5ufXLLa_F#A3+vx znttLo-FfVCQ1`d?cta_XM(c3&H|3XT%YCNp^y`9$j$dS^*V5S%o%Iu~^ALbCn^o$Nx~@})ogm!=krfAhC5JZw*5%Rc)(w_;IRZ$}uDKaw zz6dGk?yh0n3S+W;C!KjHXDxqb^hI`0p7EDpXKWX)1hD|Jez7hPI4ZK)%_MMCV@IZy z?tbxBA5V`Xi(=o?`b7F+ebPppHAkcoo!@jAZsV)1NShJII44HGp}`3vn`Xr6jTb;2 ztO?e1BxmMAZ4^lzk}Vfa?m61qa?tX-Q63Hnk@4q{0LOyPeA}VX{n@EM-InW~%@uR? zph?S6)+_gi*9Jv?i%u4GB`7PcdbJbH1NZ;%(16%a4~^js6PiPv%?6vCaxz|bM0RiU z^$_rpRdZW%(Z!wH#SX6_uscEr9r1DJEDp8iN%K-+w0g)DIQs{RK-+r;pU)hsx?DCJa^*vps|`77Ig~veaE*4~(9fb)#!gT}H}OK-`1FbG5ePJ)N1Ay| zNV9oH_*=hxaF1DMsN)F3VM3Y}84yazrk(YMJ!5#tqTLkHJc0Y(FgouxlyzM~F6tvs zZQasbSq{)L%4-;{sf~-n;bPfr6RCHQ_5Fj1pI6W|>eVi?aJIKVj4Ul&rIq1E=en(O!kTb+s0SgCh2mjY+Hq z8}0cT(!x_ShVGAM%!bheHO2YlZk`&-rluT+^HNfI^~APLecsShcdL}0kx!hkdQVyE zS((?aqrwc?z)k{cK|=`Mu#PFIpZ1~A=)&9)=e1`Kl!?aIkA|W!RR8R9Ns2GYog^m`WC;z6(7YnG)od_XD!*= zA*6-;W}^i>sTGoKnx?gAz91l3Eyi&eIy~XpjQRu+);mMxH9Vl-B@DQWKmh1ABbTu~ zo(Ixp%rb_^w?bJ6!iM^Wm={B_EmDdR*4lhA>pG=jA2Q31pVe0}{IThQ_J1@aJ5_1g zS`zF!Lvnp;dp3ezd*|M}9xXWyWy!u_WD`t1uCPKV8NJ#L?Ym+-_H`TyH*0O37Gc?h+mGPm!=7IYZYXu@_7>Ish= zdNNJYC_;Wv&X9}FPjtsMMi9x_MN`S1q@^wE*cXYcN-kp7x%7%l(_AdkN(BkletaQY zzhvlu>MROhDElriCPataHdO2nigf=n z^ucE7?~t4N7R&1jX~NqPX=lgX?{$a!<{LvjBic6)C%Q<0hFXl~h~CG0a*4dbB5QD{ z>=T}A5Tzd?jP4L9n`H`6%$+eweV0~Icg!Rq9W(22d=!l_+ zZ8jo2 z^1kt9PilP=&y_||E8I!(O&-lt^4zZU_%bnrUZral2q?njHUt4jq+M;Z-WGLEysfQX zQNk6>T5wof)y?bhAXYFj@MXn{`ou^i%My7=$(y+7(SW9@nrYIQ$@IamaUsp5np;Gp zmv&UkWV%i>!}m}!KQ0PDTqvXAmkWsdRGta~83NTMcR3qqGcE2Jq= z-52GsMT#aDJ*d$|FW41(Eff4?8Hiba=rD~#!@igqs6l8aA^|j%m@FJ3tBa=!E%1rS ztNjn-c@XBhmeTDo(>wZV<}gh7N)T;(7nY3kBdvJURL8{3SNDXVLag)|6tdGK^`Ux8 zN)C*T{9=V)ogm;GU-5kM{aMySI2wtqV4RTY>fr~7Tu*FotlQFfr`oliWW2w=?P|s8 zik5wm%aJe`zwi#7!s+{*MO{+c(A1NW-s~_(^0-&HJ~lO!9nHlfLPuQ5XC(=Sgf+u$ z=V!82v-goBbQhE<*#U(XX*4q70-D*b*y)HU_cpuK$vD%+)P>2Eu{eoo+S*f1SRZc; zoSH4i*~%%0(Odmy(JXIi(T;OQh8D>_TSAiwNt1Yxrrcv<&8bm3D9|r4u#Qpo64hO@ zW;(R`g|`A~*xxm6vNkTDJlGp)sV7^YN?R*@f<5Ji4j%kLX~A?bZTl#cUZ5@8J&FiT zw(h!Q@s44%)zz*D;#KVbBJn0Ay4G%TM7F~t zQUA_N{D9$0Kq*L%FGZ^{+RcD+qsJ1Cz-$@h%Ji7f^4f?DZGgCe(LfZ`v6M7IG6|Sz z@$Ol)3f#PsyMZ4G_3SQ@?qc!dCTUph(sn96$fKq$T9DFZtxc2Upr}cmahlV9qfEnaTCK0q37Z%?PLXD;SFC{u+GG!e2I*7bT4G<> zQYY_kGcQ-(hq3{J?J@lo!S1iNL?c95QuqI{_wIpl9oK#E>;j8@09arbf(e*_cxj3z zV1gjPHzm^&2!bRm5~Ki94~sImz%EEccrQSSvQ=Xjq!Tq(DmPLSrEVj)abh=C8@5to zC3X`hQKKYQBezx)wRR&lNuwlIVkfdKzrXW4XXf6ycP~K7vA@4UE`E0&=gxc1oH_Hj zE>jUVUJ)O;I5U29QoHbXDXG==1Oh0OihpC zMhdmKAkW*D2(YbF&w)sq(nFvK?nXv7R-8Qd?u~Yd_!NiqT9vcRuH<9<#zl|jdRBZD zM*E4n4yF;;G%>kQG-kQEl#Rk7xU=oVsv%7$%qbK1(6!kX>^Th0x*xq^5rwz!*{l0D3qPEHw1>a}g`-<9;H^zujR@k&< zwNFltOipnMq)~bjfp7wSj}cA-7-QISMA+R&_6F{&`CB^2YaNM#NNWYE8W~Frf7v+TZk;;`dPP1R4AkLPFW(!O?Vp}_0ZscDBg0j z9QcwZ&l=n2THybzW21#Xc zU%B#4G7#!Yo#oK%_>vo+nci25QSK&km&D!d>blHbIKnq$yAJO4fiez@a>~+EDQ_u< zH!WKi2f0_TDsybkx0bE9&|jz|FpJdk889~Gs27MyzSTf2U#!f``ezpwmh{rJSwA%T z3$x6X&+BQO<)w!t445Zp;V^iTWMnaFE=qEY>x4mMbdHVoXb63YxCZv!oH|c3{@lW( z?y2EEBHk=%lWvEwPIyMh9b)pfhIsGj`Mc+U^>NQ8ebQ{;*7{bTQ^9YQPpIbk{y5l= zV>96*cIt3irbfrvkeha+KmiWV&Mw;f1cL2PcOR}O#oL!8b;R0WE?Q>)Mi`uxGiC$1uBD3(JD!qSaVNvheLB!0R^~FCY z7Oabb_+!{b+-{>M16q4Ca!iZ&(o!(|YPA`aH3Ax(IdvY2=tcYBnzXr4FMR`y@flm7 ziNH8alf}NpV+EMBur)ft&NG$;a-|xU&tI!SXw~!;+)@bgMK8GGhLzbo>)|RjbNmjM zxX)kIbhfsh?aYfrKh5@Hzz*dY8~97|Y~n9%4=K3A>$^SSxdi9R3s0AV0hpZ$TU$uVX`YCeZUH@>wr_Y@!d zoHyPyA>|1Sp03&q7V|;dSrG6=>@dkq>@e|F>@eW_Pr4OrMj_^+Wp<|!HX%k#o7lFa zaoP3-%WN$Z*{=tjf+xV?HsXEJ)e6hK=C>lqaG&wYAmr;7)|);DWX9)kpKXy-zB2LR z^Bul?=4SlaHq%po&V#NTnz7)@+B6Z$xxro?FXSherro5uVk5h_U%5GWQG%JA z5d-llc}#Jn+$Q7+1j-$_en``=++slN7i8Pb3y)9q;3F%NjaOPFK+*=UB z-l=pQloc~`Lc}<4!AsK6+=wwH*TR4mxx%a!VS&z@J&f z)PT|;gFOtaJf<9Rwj@b>_>$c&0PN3slB}S|Yk8U-J||`hCr*;!V_#qltEIPsmDkaX z1?wipte0DmIy|7d#Ak?R##x-QS3XR=*!PrkXiH=Icrc{}4graeKc;K%k%JY5?I|kB zVG;`_GO1>5A8beTw^fj?!hP&NJ9m-ete7~OnZn5VT%HIfCa0!GWrBL{O&2wNzZN#_mD6Fu>mR0!5K}aZ7^3x0?7$Ji?bdDE-DdQ(QmWd=f&Xe_YkZ7-C!>~ z>*S^AxxK(w^|G|%;xuksf_ic*zzSE*1Q!JrM2PO>47 z1%GXxvdoK9+MqueW7~*bYU|jfiLBy=O5U#K_t7^{icjzo-s6+^>kU{l1sYc-ChvC- zPipIwX9OYdKC>uoyLSawfPQ3Y!bh*|m`|#u8BKX8cTwLaaS`9O#O5DDIa30)A&bW9 z)U0Pd!dJI@Cl$nX%r$vz*Su?q#sQJ>?B~P+9MOVs!&YCBN%X!tokso8>O2lmm;q0V7WEPJTE1si| z04J$k2Wx(In1mK`!Ka>ZCzI4CB%_O>-xDL0F?~hz!2z8o*Qz(Y>#bj&`-nc|i-YLw zV12Z96dPug8EfRFSrfMTSQt3{I1L~(vr9z|ZzfL}nOxATU9wn79{Hu|>5KaISY;Jk2Z<#|G4g7pnp-ULXH+gK z`*VeIs?;`*%o2MSJG0j@_wJJ%U+!styvI11Gs3yNdk3huy$0uFAg2U;MnZguv(u!G z4=&>36#o3=%%bOiM1Nb@>?6=Y;S}YeW85{d<|PJeO%2N;>^683+5jWz* z-eeI5-vAMf@0%k7iJ$+1cH zmo4O{7sbZfGi-K*rD$6Mmv_4EbH)&0cfS3H#!Ysa5qDf*vC%je!<|LO*V}>QDnfFV z551mP;C7}UcpWUzDuJh?5>pU-v6B!yR0OKL(* zaO{&D!y-{llWCf%C>5<^ng;LsLg+*Y<7A#za~#8@8q?{zz;s2OAGH~j7l>wxT##ST z&CPF)@=t%RFXw(ku&!ppkI?PG!ai8^Apw<*qP;Rgw4 zVC{6RU4L#U2f|Zxjc@P2TG<5Kg8OFgYNfF18+`?)UF3eTI-Rr+NoSyc#So{8aa(Mf zAYbY2ptzB!Rc){8Rz38$gQ&XT(wyU#2R=1QXE&6}gp6>R$YS zuIn7v`gX2`Y0Ys#u|(!>rIx}%l2VmchyHP#+QW#tO&z;xh$e&)dZWm6(-g}g{mv=< zhKe1hFjc)*=ExVh#HEbTe)8&*Q)n(aum_HFs?7*P|-(dYJj%v~d27 zw$Di(wR4&SOV37&6u#)jvEeFZxMh%h`?$Z%D(UG9OeR&ZT0(|)ck$Y9bZPsmXrAFL3@l{&r!+2 zHbkkOV&0(B*b3JXE};cZo$J%Nn$I1Y10AF1y<8`tJgswaPR(%2R4a0PKbIM5%Su=4 zaW1tGpG{ISvs|W2dh~+%qE|bcC08~FA0gT~`ajFPhGSpvr;u`*;BpK4jkxj^`Lz#e zzKNQsXc_TIu3^<6&jRHZp{Rx#&WUh=akA%itxR(aDlT?aJK@%xY7p*xQRy(7rrCXx zL(*>bV_c%zmXwxE;nnAvU+bExonWbp+k3sui&UnlQ!r)1Xt-e2C#5{;nUJ6RL6e!% zZN_skX?0zi?bN!iwKHDG8If!3xKNj%SMehEK$YxQN2wFr)M9c7KQO)n8t~I zvL7OIKaUxGRQoC}c2#?r-0mdvAqwp-dh**zcXWx5@K~dg14=?v@q^??E)Ad=Qg<x1>oG&ybev-xQ()S&IPBt9G z+}?MB!kc2bX-v0Jhua%^_eGW}B}Fn-a7@RYO=8rx6k zwr^7Acq!XH!u{kBNuiJ}9#l7}HR)?T=|?5ayQTjh2ljhLtTy2AJgdNM0rR#+ zR{~pPxp;=#j^mr3f#c6=2}0`JN=4O8^oNvrIZ+wI(>h2l+JkgA+r6fPa>K4w;9y6n z#d9v!`OEhRg+Ixos^5K((~1zneRe|H5B1qYGFh;tjp%ZbQDw;E#+e}%;Lo*I>rJ|| z)Qa%DvR3n6KQ)rn2l!BEw0TXY(w#W-t7{5M(>zsUc)E98HY z{sWR>MU1^~cBbL+S;veC8~x*wLoH&6V!)^|B;(w=aQ>h+1;?q7cLOza+HOHj*G|vv zYJ)wNUHiM-@|J)1ICr#J@;J#;N(e@nmfo&xwbTKMNT#jw2a2TrU$0VRTl;@M3%rXg zOcp3K2&YTjEYX+{+DXm0Ah_L1z7REMS+GUyJ!&syb|2Zs)P52YdpYZ9fP1NlP@!!P z%SShh!!Ql-&~s8x6iDRRJm4zl(Cp_p9>b32$i#x?0n@Z(T8?RdPEQepazckNqo*@@ z`|WLZ9IL(QQtuANC5$gDWJgb?h!O35GjH9;-Ip6_lPCyL`sca4Ao`wBXQ<51xNn@H zp#pBwooshKZEW>QeOL<=dU95^m6+4*+zn1ckgDpUKMc&<)jKF9sPS(8?~r{v4X9|o zs)~k&subDSEe_g^%eFNVfBPNS5t+Biz>4uZ-M55}iRT!A=u z8>eW5g~TH)vX5~&P;NI=zR}0s=?)Ph*H`+BBBf8M6Nj}D#|T`rzH}C~_$|J++Sm+s zGn(;gMexpG&E~oHnB0ZFQ#DGZZl#IRD`M~MjH8r~VM;%%g<6AtBI+K}xdihXV3rbm z%kSsDwK-TegKQJ}6C4*&O^#UQaNH_|5oN37D+Pk0Z*nPvQGxh_DUWRdRa|8HM;X(c z<}s$^BPS|3#d%%xrmuQEe}P4pwb}&Qdu9Fl6UlF9#pKPT zZ`FL=e8-!71LfuQD^-;w!A&M>hse*gbcfXmC#a>45|dj2rC zSQ#o+J>KbOF6HPcBPOz#`oY%-E?dYJsUrRm12+U62G<`P5%@@g(d}?z!OmxCs&WB`7rnVW8^>Lrc`Yf#qzKck?BbIyGhVCA93e#ihUos^-%l5BF40_ z#m}>ks=b$`lzmXu)Eo0QO1B;F4i@+CqfqyfX^Dh(UUEuMj9Yvjg#LT z#Zu%qG##g6zle|Z=UJ*+;QXrkMW)z8K9r_)!MyFG_;yigNXYkc8pXVgZ4qr76+bsG zOVn$Od6ay}UVn~a-9c$Ud8s&T_tG2Z^b!l1>yb(+&7M`uxrg$3pRNl{X_XU|eJ00h z=ps*_5kJZcbt$HC@}c-Mr>RXH=1})g>m8sxN=@y7blGq(OQd6lx^|k|92SLC=6-rh z?AzESk`bG5d7hB8+ccj0BxA&F6FYouVuvp$RL{+*nOUv{`0ppvUMg{~lvZzzz0`N@ zQtG7|;2LVS-$w4B4iCCcife;E1iOCr_-uPuO$Vj7Hs{ub$}F*;=MqUSaT@k&rK_vr zu}Wg6&$f$YS+75i$}(_BSy34@h@x0Zzn2xbQV$q^&?_F`etJIied^Io=UK`<$ElLq z!&?hR?b{$JxnTU(g{5LAwGclYrKF*tm++-kKvg}U zeA$!wN9er{)fsSu0;p4|!G7)s)2>?3%pHuBfn|vzn+*3BH3Vd$bJp^J>c3h@!R5JG zmYPt9=h%&A9d|gs<XQrVVCdT#Kg?CMIhO>`xikZw7K%S(WL?F?V8hjJ2l_;SMN&6N7HlqjY#e zd6=gt#~~Kfj_b7+N3X+7>GWa%JkJaX`+{Wp4ROG%=&H@$u9?Zeq|IT0lv&HRYfpF2 zo1!K*Fd}stKD~2z7mL*9f|5N7=ehR$UBpZ{3sTN|*ACM!AXyEps-D*_hx9b@6l=EZ za=(TC7g^^w>XpvAKCOQm<%zaT8;KEgLd?T@0Yu(g$pzvvn98WK1y7=^_c4&z304f8 zr9Vnj@)jcuwx84jwCJ^E3Ol6jY9mC-Lt1b?#*=~*oGK&ss;XOP%5Vz{o~L+PfT^mb zupqW}ib5D=J+Mp|29=1v!z?ZYv}_quzsD(jyrI^cwWCqa>8P?+nVQVRWt69MeMMLt zU9@dC8vMsyf;+(-LU0J~?(Xi;3GVLhF2M=bxVt+9_r@I_ck)K}4r)^08C30BXMel) zT4yiX;kJ|NEUc({>MMDBih4MgsJY*F#f7S*?+d)?&%=NF!bT3C$tJ>bAjnn9A@5UM&}g;1HPWTBde7XPjj7|D^l%?n&e_`Dqo-5T8JzPs+74lj zkZp)4f0$YM@ISQ^80Gjon52I^N1ZhYG%dx#mK!_id@_WVzC)VN~as+46x- z+Ro*I$WPB^ z-jXsUKA3-`?$osCDL76gb#aLI^~5=ZYV3FMFPxOtxi^`Ozqd;3)mGpz*Dr^usqWan z{S7H?)$M$X%L&lTh^|fLUvkjP<%f`x`y1cCms78F^As;I)a#(xZ-aW?PU_pIQu1+l z7w$=<8bv-xq!1j^cJEn^WUPqx7wL^;kV}Fy^q?vhX$SAiht1O;W8lQ_t=M-vG-aJg zzLEEO279}!KCCKb^J`%-Cji*`UHB7<`IfwGvSeist3B*SXEY z2OAZqHjCTBl(P7NGRX*|7}kMjB6_OzwPF$~wI4=F`rB95>aiIo{n{=ju{Ac>_=V&h zMOvsJX_i5Udz^_0W$)DXS36zRbEgEMTOu+{0gD1u#$&A?j|fT3O?wp~^nOnC;M+f} z`xjdJhi!b#K7mP#ybY!;Gx~}RsdMX%4*E7D6UEla91%o@W34ArX?ttfKdi3tnHehO zjNJA#w#$D(2p&}2V6FL&YMTq-4Ox|1W0KmH2;eLg9{m`0uS56CnvNIbWHb5oy9GXu9 zsr+|6ch)R_v_i6aCgI!8;D+3Y9)`+FS&XzVy6uU|Wfw>&@H&_w6^^ z^Oj-fFhU!dn%P^q97(7*XpZ&tL}Oz@M8}rdye#WKz7O6kwZ1h1f!YR%G{T~{QMNf= zrgL4zdPPx_e-kAwURd&=5*rlZC?X_XAJ|T#QZOgkb#1%ojV@KP$&42bYWw_ZlF@rk z?J9j+ygtqA_s4NbIeYW)g^v5^vF7HI>`30@}YHEWirHd*iY1D7pEiu)`Qhco={te3tE z_l4t9L~A(4(Fya!$pW@R0kB`HC^Va6GfLvD#I;s2( zLcvYaAIHv!6fR>>x=K%!shNG{SpdCM#8MR<8cq1!=v(p0KSx96Nq*kn?P`nMeCOZi z;7T428|6)PZ~nkijm=vpTFHqZ4i%1s5t%gd?#-G~60V^%e6^ZTp|+S9ocN=+G)54? zl-^!RN7&EOx<7X3aA*EnvUHkd-{1!1>MrwzE**cZ7src+@HYw41_ur8;yt5m(pe}p z7-qk$9X;{yV4Vgr{A@Ex$Hzp%&iGL)j{l&AV4_1+-N1K;({0*BuVGiZmv-2VHHN8YD}pJ@891wM)Ei48!3w;(mcB-F~)`e z?B)N1duyL>T+F~HE$yA^Ae0F7bg4ork6IF%!^8QU2-LURw1pDwA*#vCbmXnG$3>_f zgEOG+GydRR6VM|O%eVHn+qE$zdaT26N1|U;~<5mw;v7HcuyC5Y1VJ=)Z4SbHQsexO-3R7T1}=& zoN`OTeN0S@9A7F)|J-&I*w@S?^M0Xt&&A+i_oEt#5a02AS-+H%rbBghp?g8QbUC4> ze336#`I5g{*(O`8{2^PmylFCh{zX39lz!5A>1C33;YI%Y=hegsBj3A_TQ|vAj{e#A zD=n@OaM1UfMacJJ;Jde@x2}uT8A_;BtJZY^M+Er|Vp!}mn5g*~(OuOlND<5EBrD>s zt1rnl5#aRVVDr|Ad!6!O%BcV8xD)pgbd*Vd`({4DRR4No9yzQXyhwUo--&1LE;e~g zo^8}^XDz|dQL9d+fAz!=im|LMU7LE8`6HsuJp)bPD~Veou0;#Mc3*QZ2@>|b$!L|! zloZdYMu3K0>u7t!2SiZ+-VAF_KsTb53Z>u(ae@(fA{Wu^f$IxwONbX?@EJt#K)Fqq zwtTcbdtN_MV}MlOAJ>(iP=(j5Mi6o0W)>~y5VnPB4Al{Hj&qNny(;<6oFTE|E+(Zy zPSdcymh>9y^kQEwQS!JNC}e$}EgV-Z^hNrpv{9lwf@ z1LIMhyHm+x+Doa@VMGE6lf&udY94O1`Za)@UMKgwnWB87i7YeP&x{oC{^-Ps@Jy@O zCB(Am+aoC1nmKiQzU?=G8}>ujtkk%02v~@vffT>wMoIg3l z|N7l{io<&4%2Z1D<#lgi2eAWWu&A{R0N@rE0Z9jxg=-1lAKR242+&iMbVL~u2 zqt>xg^~#pZohr|9b8XR>Tyt36j=~?}nj9|MFU`k+T{uP7mo&L_F>0J=`B<05!pEr< zMj}u09*f>>N-e=x7_lzHIufwwTjh3Qh99n4+5YTb)$MV$spePL+9)-H8z$4v2Yi1X z6%)PD_fDTiWH8W0`bPQw(s|<*J=C|^WA+0~dxjedRJ~A6uE;Rz53p_R?1Qwvd!~w|VhbiKIdPs?`ljw{79R!9;nY zIX06Zx3V4B{GQYa*~FLFEsN%``Zess?=a8_-Rsbq`cWWs>Ji1=iMry%wS0l~-duOy zOw;(J>R4$fnpZrZ@km$H{;C7>Tt4;Ka+F5JJk!$)my%)p{0UM0go0tJD!0xiI}6Y5c*zgwC9%} z>x}J2`vRQIb6zbz0^n2VBa`=U9bM-S_&b7s>b-PKM@Da9-u#ZOP@ey?sy(*)aqm9l zb5zytWtyiH-LL8xgxqcFy}%r4F|p`Q+K_Wx)zHSH{C5 zjbZlNaMl_^ZQ|r;i+aB6(|5zyvb)Cu>lOv(tx+Q{ni>il`>l>McmAdNplWt6`Q=C3@r>No)SI*>(y_4|va2JY?%y7z{Y8$ied)-a< z$v&N2dIi2T6&+4+xw#JXW%v!3GbqJ|5g3Y*a>OIyNVrziQV|dF=-v`56#Z?+!Z(XH zs1ulw)QfSnNM-Z5y-ML$kzJY%B)*e3F1Y+FGlkSeF@8*%gVRmx$wY^MOY*TpceT3F zRMcDOe?#TeG#AKIsl_{fN6&e*|F9}MENpqiKWUE`g0%@Px<%aDtg1_uw7>K!8bg;w zYWn(jk=d0g*%bGsiJhONA#j{4t%wXUa z!1mIzml`{%=n;D7>%D%XA2Q0M-{&3=_u~f6-#b;K%?2zuX0((%WcC%IG@FJ-s%_wF zGBsY;J83Pf)mK;}wsAEyGM%Yg{`8HumR@Y^O)@qQc%{UZjvwk+_|cG@yTsQ8{{de+ zy*6U)@PgPGaMa{!V$Je4rBqg+c(E_5=N|8XR++T0SXt@b?xnk4J^zSSG2M~kyqKJQ z^+_@n+I%{Ip%x%)z{p;qF%ccTG-%?W(i$PNc(=pSLJ+Ap z@EDD!LZW4(z0--7{QHdTs!PnU#oKivtD1W2KrUM15pwY@*N}8EQl->2ip}arsjz%? zu*$rngx}BXXy0D1v9-y7%j~UKTOYzd`3)y@cRz2J3c5+&TyNWsE+s$6o|RSA#4EJ3 z)DNpCQ7u|r9#YtK{%yss6T1gGLdLM_sk;K#=9wjw#xGSipVmh=FqT;`KHHemrcctH zkP%rlwalbd|K65oW((}WWIxi7OJun>7BAowR`dLKOdj*js0_e1^1eb~-<= z&%0oLS(Ze_qcXesqx_O%<@>(RyI=2t#BrAW)Fw$Z5zCnr(@ML(>Y4famn^K7%%`wc zjY7#JTJwYH-OR~0E)BsgQydu_7927Z2V$vWkE7m@cAe&`7OTi z)0G9{wWb<`l|N@LH&031^qMDjR!`4pNfOJXIzS)-~Vhc3$I?n zPBAo5H4itoc3if|9^5=N9N}Jd;I--q4GD5%-6)2Q4yvHD;KHn0xy|CRfA=vej&HxPeA!#BH*B+qu$-!9iH>_ZL=R8AoxgjYkHJXNr-YkEhRHj% z8@!^epETIVIY_fYwN*Z%G9IXmn+@^IG4@aDJ8$jI(i!bI3QDeFB^n zN1WBycbUHvFqvagHX^IO)Xtlz%`cWX(i?QzeJQ=du?gzFyCIf!XF+ieGqP`o9$yeE zKyH0_c5^P^Xu&O|pY47-ad^D0zdO0L?`jU7tEoRDbhc0%kdx!CZYDA_ply&rvO~?x zs0=|cc&j{+fffJrPd~J9G;45>*VzSi=#(M{X5~C*PHF8G5&g1LG5LG-)sT5YVbucP zK#SH06>lZWE%9D`K~6XC5rwXA+)MIW?;;W|ml4U$f>iMqtGXwVQI~s=)4L#uqxm(u)PT&UudPABXNB=*Xyi&MUlcS$d+|2Unr(<1|!a;6PikaX!O zTT(}0cZOUE#@)nvia)*2Z6TwPZ9`z~2A=l8Xf_(v%hnYY{QW0i3(Ip4Z&eK?Vy&dj z=5@uktb=kv0Q^B>+R|5QWrB`)8hXf09FEbpD39IvEgN#Qtfmg{|Ow;rp=qVb0xUi(#c4Nu~=D>0em(yrf=xwL_|1#n9 zPNA7O` z&zKEJqbeAkZzoLT3%&h`>6D$9RGU$9E;3rjzh$Ze$kpZ}exWFG&3Q0xnKpoMghNhMks2(;l1_AU37Tui){L8Y}<|EK4!yqA@X-r zRrxlD&ZMy{m)kjOpsxQH*j+PoAd%#Td$2fqjz3h5-*9>Ax3*Y0r|%XL6vyss_Em`WG0#T7eq69S=G(Yiy2ywY1MdImR12LL zg-3V$w{9gK*gfgl8}kiB#_X^wG}&Y0Tii6+cJ?o>wezF^QI~895oJ6#C$ZyyJEo4$ zS19MkXa9D7SKDi`lbGBpu^pkBx`I&{mrSU!?V9Wc98H9ykBOuVhrTtOF_Gs#v^h7Y zqpXqs!rx)lewEY|A~Ba1@V#1|3r>HWm@OK2gMa&4i%WV#mno_$&&E%>vo_Xm(T}*W z$mmS~2p?#GZ}w@D;e$_Fe>%1FoBJZGVUF%qv*AIhKT!%+qu9fg`vKhy?eLZ$VAw) zqev-lm8;t5xrD{VhatB0oYPA?753Iu-!4JUE! zN{fK8S@TpzAkkh9O+ss%hJss76PH!M51G4aak?9{C+|+(Z$#I38`1E*^4+c{iDz7E z4}q(>%Rg2(eBD=7G1gekCV!&QULGhmDmT>g7dtLXTwwg0a<;vHsZKc136^<9J5F&C z2@c@YzIK)w@o;#n>=W-&dLc_ric(4(?aFjYUS4{*L5Xhg9^B*i{Ua?8nsP?c+<(h{ z=SWLJc+0DI`0HW;r_&cB|IA`6l&@g{AwHK`4O~CCo2j4t7P0$`M{T`;VxxjrT;zKG z`18Wc&py)wt*(`Hu`)dW!PNfTL!*gaM`ybMRTYt*^^( z`@p5$AO~OZI$GC-XLN5|PiezX>Xdw%Z>TjFr?u;{Wwf-w&Gu?hx$`nV6Z=WaVZ!Cp z?m*&ZlgG5W6SYprS9hqAuU6vHId?iPx>nN0{y^0)lv9}PA+tcgZ?QyU>c)tQyZ7E{ zWTokgKkwMk^rREXZ*HEo>U(#OeI>gTY=uImRs8@<&$F0^Cx$peD8_~&Ggz@}Bc{_3rE zt7?VV7~GAdwq5Dc`D%|oPtOr7-U}_W%XX0dhh|>mJeOkn6nIs)dH8O>TNu`0J`JT+ zjp)t3C02iw=iA}F+Zw{D`*mfEQ>N{STC2zDFiAa;1EM?cqSaPR!_o zi8+XuG{~yQmlmC-lQN%@NHi6c5W9DO8h@RY(6=dxy|>*~Ion3W{vDTSOC5Oh&|G?OV?CQlKGX9a$DEe~+tOVyVDl+>H=NSu4JbA#0+rV9q1CP>6F+gFU#%0&jBB_20tXQnk@U8D{49kiK<8h3;) zu=6+@2s3Gn&xOwP95@RKKF*N?`aV^s*(iOZLgSh{0pLsFsy%)TXQSYCK8HnUQ3?F5 zcL6K*Ud((C5M@xO_aX13nwN3q#EYNF{cpa<+TT6QDi z1CAe(C&3lXp6}-GZcX!qd^)3bKWrapJOA?c=VSTqcy{I6xDxi!%B}zWGg%0kNaPA` zf6@Mh{dbrTTSL@!6-&hbACk?QcGCOG&O+InNp>#53+shpF8;=(Sm9pu=1ECYS!Zpt z6v|7tZBcX09kcatgvEz;BgN}}K5q@(hi~~XsdD!scW5-x@=51z>Cn=xm^HC0Rh`Y> z`Mr|ShnlC8gzEcX+Uw1EWv!aW8G=>KeJJkElREIrl2zq)e)1S7m1;({UOcmVdO&r>dR*0h>iE&3 z%t|DEV^0!CMe2JpGBYL=;{%;}7&-On+op|sJE!rB>uG~GK_bKL1>_jyCst_0q;I0_Dv{9v-Dz)>V}25$q>@_u)Ue`?F~5 zzbMpAm%K^jnS@^p=_tBo_A?S2R)jdHxL1RTQ~4$s>#oz{awo5tc5XsZQv+6g*JiTP zSRcCA)b<@sIKt}{7Q*yy<#%W-B1XFc-IUi#n}nu^4c+t0i|}Pt4|qI)p%2IQL(C8A zE(r{t*0R}1I(mqkG>p3g1sK`cz8OBf|5|yPPO@1US}~fdf+245as>z(YMWHHCnV#Q zolm;mDU@<|_b-_xb}wMi;bhRY&V7*ozdmelwo*}FvlxY}LShcTpX?%&lP%?|ox znNRPha51@#PpxFamFJIlwE>E7KJ3CW7HUW;nXz-skjWW}PSRFE>gjG1!VL>fA-77n zXS61|r?qIuh-b^L@JCeeyX2bNYk5%w`QZ3yqN?3n6XT|!-KeL#}GG+=zcvP_m|6wL(Iz_}CySqEJwRRWdFvsp5ydQpZA4 zSaDiJ(c0Qku&a)a8ww|G1a>u7vSQiA_^5`7lQp`6B0^~)=W%O=Jf@irO6T{>f!&34 zo!PP}se_bN&jLZaS?P3{77evZDRQ~HTzS>vpG-8f;hr1~uS(WOZm0`99~3?)EpJ$5 zpIUNHw+!2BSw7B;C~b1HuvxvFQtBMNCxSyI<#)$~QJxKXD>>CAQ;ja!39{@x`5*oC zGWp6IMTzPAhXtxcWjXg1u8p0D(o__s32X9IA+sKhf{WjaM|YY^kJ2S>s)~^pnt`)0 zGuF-()S_;L*v@<|35cl)eh7l;zQ*(QW#4C{!%Kvs4M(&Kry175@<=9C@38{>h*l)v zi#ZlmY!sDx#j;2osSFT5lx^f(%%3phz2}`1F=U~VNehL7)r09vzN_4+vX-601P9)y z1~mz$@MeA|pDa+QI4h2prWZuarpLhc#LR&&<>onsY;cEidP9z zy%|#|SuP=`(z{MHo=Mr!?YP)b_n$W#6Jut?oAxi?EKk z$P9G)UQYX~XQQBAG1jUzJ=M?GCt8{P*>_KYjO;1q01{o(92q8&wCq}=10l3Uv96mt zCjzG&%PHn=sXv{XqKpI*-Y!p6c&#ZT|49nYB|Zy3&4Y+Lf(A30gwrSau9{srT*_H| ztnxae`80iW2=e{I6B6|NgMX*GcBXB+64z2(h{lc=ud$`dCk9(}B{6Nxg@kC1D$a;u zD&ZUJ=OgCtQ0piEROT0dk#aWd|D)V5#GZN~q9X4U);3-Y)vAVc_m*P&q_VOfD`ulT zy{4o6?d;o4c%zt2dA4b)!5CuzCpy(N?cs5K4~7xnYj9;sET0QPg-upjgv`+`ZuV`}B_ z6fvlu!DnRF()qGY9D|7@DA8Cl3Bi#GboY&DYQ!l#aB$a4af0B;$1?19xevnHSz$p}GGIO4PqoUDIDl+aGY$ zIL77fylXuFw8?69Yl|O!G?_pB3t_k;o5_`OWZWZDgRt6fxeJ`k$-@QK%|z15 z3jZuy7c`ufd{d;#NF8y*jI&}J#g%@k2Ih(jhs`8rc+$f{zbSJV4{pau{P)Z7(*m1$ zu|T8iYqvJ`gub_~zgu*C#i`ov9pZ-xoy-d1I9HBM96v`&g`vGCN>;MGq#qvT7ytC3blgy&f7X^PshLbgF7D%mbE)bM+2M;DJ@g54 zQZj9v@;#r#v1{OkaoBJF8w3;Ce8?~!ryk2mLJB{Gy=Wh`rj_9sX4XA8h{C)%9FD-x zWb-2^Or3I_Qsta7E@4l{0JcPF3gf2_c69JwmQ=p2tlPCHddkUiv6BDUEG_TpzHf(Z z#`UQ~^iWiM>(rcTv4YLu6Cd|;Z3)qV+I&@)dF#dL^ZBfez>$)JS2fOW!QNtFdsl^P zOU0P0Lf7C`0^4KCoOzBhX@dS`Rc|I00x7<RAbCW)4fYa8;S_Ct;Zx-IeA&9e*KoGU~c(a>o{EU zw|3rne+G>ObB*Kk?B%YikGi}OQC7(4A0P!?L?Tgc{*QhCrwr9e8%kEp4??mSNx87U z0Ew@4L3k3?XV(# zMT)1<`^ad8u{5oA0zZV@1});ZyxD-vt0WY;1iLOI9gCVJ!wGCDZIq?h2!+xr1pk0V zyAL$|K2Hg(uR*N7VLp8r2mXeM#QoKU884WZ@R!mwtdQT2X)*hZci0llC@5S%%;0?3zdI z9&Dz_6Q24qiJ@gkC<6NPo5F37f+#s=H5E8-6bo_q>x&gEQo95HOli^upW|s%N^u$L zzh-^GrQwy`k7et#lXafuHXqI09ml0ZOMv6fL%RxF!Y=+rnf}vRigeV_@MyMI=~(nu z7LUDQ5Uq!MU|?eK*%SFSMKCa{Y1;$iay7jq&9739H$3AJrm7vHrG%COD}inyLy{ zoU!#&<1B-IgKFMtWlu{V1zz3>sRtG6Q^oO)t81B`#38W z#&v)C4|lS-d%m1mxJdjzw&F4!i%~S1Z%dRj}Z_F-ii4L(#Gl6LX zUMKeHCh5E)2(`#k?12a#*efJmGgCL7*}``0P)~BrhuRRRvFBu zV^gNgeu;bkA-7LWJIHqY^8WsW`SXWM2HVv{DeuPAH~$djSP!i&2xVn|P0`a;6vsIO zcnn>FxgmKfj3gT7Csx0iQlQ>so?cSzH`zi%Ooy*PS@LF+pAofm>9g5Z^!R!<9?L~>n6R8MxIUT7a zpoCN|WEAgq-3sgnI3CRy$RmFL8%YsfBU(~6<@+VIBOb7RE`>p>H^nI9c!h zhYM=tHMOgLu7GBE{sX+r6XzeUQ9Q6^`NDmYV|i%FJhF+MzC zTh&(~V%(VFw6a`Eh<0=c$HTGv;TQTV{9q?c$Zo}WDjtIuL)9lhVgB9QUkHouiqaAoPoDVZ4Cyb(vWc^IN##f5GdD1GDzOn?yJOnW%>l z#luFWJ28xCMuX`ifvqp%ob#_#p?8@Y+W(wx;CLaf%2>Ia^WU`EvC)4xYSHpVH^0GR z&LK&MnWet0iZ%Iqeb>Gxiw+fd7_PA$udxkT8kMN|+e3Zr6qt`^kVhIz!Gd>hEwG7G zdv!MZlEKcfww!aIo;7Hgu6MlG!!|1BDnP)tH|l z-$?%nkPPws{$X%Tu_X-mGMtoCYK1H@Kh}cI{$0bmkmdos0*P6RBvU_`bc#{mER|&} zR<8>=HCg1T$IPsbDkoxA_&`=lzT_6}t&C0@C63oay0ez$w?7j$y*ZOse0SL zdF%Usb7`9&RJltYIUD5&Wj6?QPmSz7z80OXFCNHNvnZCdiO*7XFHRbs6g5em)Gcv; zRddaxRnsiF6)SONOetDX%HYRB7*M^-wVtZc4JnE<-=|EsLJX3Ln$`WBdenLT?8(N& z6umaMx>WwO3=-jsIn$FRWHgkR`-2xXJQhqyJKeAH%tJ;Q@K3#jo*>V zS}5Tq@%lV+Lcy=Cvi&r|EXuPwK+lMBqBl=)Se;u^=?(mNn~$tb6oX%r8YV%`Yv z9}VyKw)bqd0+mj_5=2{GB^4x+sqK$i%i(yWMZbw=avpM^G%qhr9fht|kPREdS11_d zIs=dopY~i;Ir)}#*T#WuU}f-IFh_Pqj9Ef-sdAY7fV#jUup(NkdR&mKvJf`edv?a{ zl~1ZnPfM#ha;fNP!0$gbGRTpJk6|g?jtBWHz zp(kTr;(Fh2iazKur(`~q+p=Vb3+2}k`dTRJLx|Mk6<(fo$lchsNP9TuWlZfvAhsQl zGUPn@wP~QCWGaUf<5mmvPAle!@n8yLRO=}nGVn2FTH;9cwH}70cz}JsmU1A6$uC9Y z$G`DKVI(C&dpgFT9zpQ}A$2LsoTVC?N(7t;v-4P#V=;yji7ZCZ#6>vc56yq$y8eGB z?-hd~?x7BeeXHa{am_8E~_9`Pyr_vqQt>`<%LY z)83Nx@~R*RIj<%0hx}R-y1qscUg7v)Kjm8#zAI+&eTv=mws?C;SP_0YA6dO8^nXas zZF?aMxKV!I&%A=-9X;dpWTMe z=S%>U0ix0PKOi3mi1lziUplB z#M(p(PqdJgXV5W{m60$o0#9@vuOj-Z5pwk4HeMgoV4W>89~qlibp9$H#^AIiatmHy zn&Ea_g~*QyCX8^23i5?`%_3@ySW5B{DSBnX^2m9~+4vAC6H3exi45{3@eB%w@T$m0 zF>MNm=&IO8wEz?&Ut$Ofm=NRu)dl;=_4%@wP+jnkLfbZF^R>`jNRM!zxAa!TQR;g*BiqR6$Vs8C*3fw*xR*01GxXc_K|-35)gpq zNetlxF9Ejz9l%HGZJqxKDD)%qwh!nMn%t65={q(6rJE0~4A>8}q*##tj;M%K20afw z3xfMjK?Xexl>t}+W&j<4RnUz9ZJ+~e6?`Lb6}SY=1t0=TfY$(-0B!&m^d{;u)DgfH zY7@AOcm!n&?F!ut?G5Mz5reWpdY}!EAgB}M2YLe$0=a>k2s{8!+--Bfvw<7wHd!92 zCK;(w#bug`fRy0T9 zZSrj(_yuqYFYx7&280Fx_gBb**bHGE5ghR$BH&nPe<;X*+qqEw7?7{vK2R>yD?6A1 zga-Z2yIl&5g(87|MFLL&{Ba;W+lPP;3fvz$Pg$M@PP#B1{%QlB0vHF0Z^X!5X9{dsCO)g1xOhFRTyjl(1(4c+O7ozpggi| zbAq=3?>G=_um&&y{?P|~3aSNmp?+cx1rxeSnbUnjPo5n4-}%-GbDcs?0`@1c z1jr830uvdM)B$LraDcKPB+v`s0h$?#1kiy7@dpQj0-zoNhWLt5Nk9gWENBdb2IWr# z!32c@KCmE(AT(fInAV#LC;-kA24V#Mj5f!%64(S30DQy;PeGBuzY=X5KnX!TYJfgt z?**0we!xK-fZc#cylq@yH_Ri?HYVuvE0}?4fC^CWg4@CXe^^IY2r2Lb0fMz{1rC6F zrQcQoSpd4>9^JsDz+B)fF4zI!j|tHNI{^I&A^ac<;0HFO9drojhJW+}lLCa`JxL&2 zfPgQaK#-s6!Ur)#7+?VC`0|(w5{7zZ-KGM6K)pJEae)Rh3ts};RbcX`ocogz+1p~5(pna=d7apf5(d@lrk|;45$Y9 zDN|wcKX8cyPy*?`Gv%QwqDes${9jm^hO>m%MOy|q0tkT)(6&(PfMsM)enX@@=xGE` zcteIfq&k#olx5T-;4PFpz#YmR=nj1kxQDt2-b35NtiyQHYy-CSK$*Z6z%u|I_y!UM z0l`LKbg&YbYw~1b0P)nzS`- zv?VQI9Tv}toRGpHl2KBILoPy{&ejraoDeZ9&`?xhhOMVGBTMhCB`#c+LV6nGYq)3Z z^yk}#pfa9;cA9R-vR{4OH$g2%`N>HvrW+}vKMqb#M$WcYf2Q|;;tpBhmQWA<&00f3 zf(X@Bw!?q4XT2Af4-^OY{z~ti{rAJZVvM(qgNu{b-)84u`HBw`JN)4N#l$(uR%fZl z$E03xj^9f|yvp%O{<`Z|FHbA$llfj{C#NThjre`En&g_D-hNdh-}v#I(^zV+^x<;L zjjP^UO{07V-ws7a31iOlm1`9>&hz7nj58tc!2(WJ@Aj zo+wXqNfNeySnhg`8$cE#3e=9RdE&qXxU%&VYA?A8UH=nxW+3!7AB{SIU7>$&{Tcx}u6@V>o>iWZ0FA~qA&E&4yoGG>u-nz3cZK1f|friif65d=q&YDru z!#hkBTs!kfi};^oQDYwcK&GcAo(ffsAxSG`UlL^T z_~8RZE?atVe-SiZr0+A}R7h2F=x>T8# z7x6#-SGpe$x~W88b^X((1U8i~DIHVBvr2X+#udcORBkYT77qjZO9p8P91d_cR~5aP zS3~;E?WN~vWu%Bwd;53TZ7+RbY+RiEi*AWnY{`8G)~M~{o8n`%6V7E6iV8a-#S3g> zsjx{SMOpGwD=UeDyYXmt{=jg3+wMqaCG&}Y_U6cVeulx2_!WnMz#n-oIpb<_z}Wpt znbIErzE4w#r9&NyMIJ+d*e&5cESxV3dPrZ2_sMpT>q~G3(aB#po##-xV8k?;mhDeK zl!Vm8SPW@|liji9|NPNWL&0&|YhAyVEZZsB<2XJ{T&BK*X%2=crLYvAswVS%5;RfH z!7ReLdvZ$Y`?b`&dzrGOiEi|p3G&np`wCQvBi?G5cKQEo_CDya=bCYBp9b3EQz)s# z2DG)q@Ipl}n52cS;)6&vyV2pti9L^k-P7b zoJ{PC^sxt=@RwpJzNpa_(K9#gD_kAix*}yI9MK(9=0a7eP=2vwH%riFO9r4O6+f*L zHA4zD3;&{z#W??=}6BQ9XoUm#@pb!+w9`m;|%w1Th!ZOlx)@gcxQzfwEfnS`m_|LCmrHmvw}> z`Lx7TS0diShciocy!nFJv-=90cYop1>K810x@N+)xvmc;Y*~y-g-Lvm!pObDDZIn0 zjPokC&u_jtrtx9L{GBPUx1|nacs=NlXTZMoD8nktTk{mY6MW{mKSi)kHI%-l(Es_G z?yaomXHqefbvzJKf3K>ISR_vpZN>bnHe>fcXXhQxtOPng_V{h$x2-0Ri@xHswJ{c; z-;!M&Pgfp09J{a*f*Me5kF`OQh?N^1&lvrHVr>bK0TqIJS*2!|zR!5$U zpYl4U$Z}BGmD!kT=MquXs`BF&;$k_GSreZt5L*9RaSIt2YWg#&xEk|Q*JQ{zY&SV3 z3qXf>nKkIfr;>vdZ^l40H^JwSf{7l|s!Xlz`utWSrhl9t8(y`PUIxia?T{~+3gSq| zu_p>E>y0M&jg-&2w3RMznoXB2RV!uM9*<`Dm-0G?Qo`EA{$Y8yQjVWl!0vvLJ3A+{ zl%6ATfV0#DTfwstaT)agc)G?QNxG&x+A(%)+n(96ZQHhO+qP}*c*nMF+n)aBd4GJ-5gA>T zmG@*;cf_r#n{`fdyOMl1o)G_&1xF`{la8ir)jw@e@rVJ`ulNPuKXS-nb~wa3NTnpw zEeuQJ9HU}Le~pQpQkCr4ra%{+CWF}|@lRy(N!K{^-ifqye^0=8H^-HEugXUA(Cz+J z$dq;5BcCh)4?K-H~G=hLtxXZcFj9vn1L3N5lN^6LfgvAgTR= zVP4HJ@rP=~zQ}r^4Y+WprXP^AqWPa3FvobOQ_FtD5w&C6*i&h4?Co)8Mc z=M_e6EW&lp$jC{_uu=*c_mz)2*MAm&T#3nBCp_X78l_^zHE0UUP|)KBvOzO<$7}Ds znh(PUXj*nVc#tw)b(4*-JoV{OZ>7^0uz8?tt`My>m7Z>A17b`kr@h<tc!e z5MPQ-Zb3MvNGn}R6nsRVHoE*;|62{1zca~Rk$E`YyANU@7pFQz#%AG@Yn!;kg>{*6 zV&tQ5cUyIwMCQX|Z}dLH*ulSp9P|jrDG5$rz{nGKTIhcZlUv+13>s$hh%Xo3r+#V? z&GvI)xY@PB8^?9Pi8(cwn{a{Gp~O2h0VM+$zSI#^Sa6>(<&~HdkX1nx8X^BT2G zrF)>IG+xI#{}?_)u1~+_w03`@PK6p~DYnN#%IYgC_{IU{?`8MqWcY^jiM_FDn5L!n z8X%ikOG=0}!q-s8J0|9BK%}-GW;iSXg>}V0CRY%Qy8ag29|VJz5Zs?RgbedNJKwe0P*wo+}Y^6&aG?{dTfe%W`W@G zVWVtObqgkODU(o9-KUm{OggiubP|l5-+C>N@@IC_0=r_{9fj;T{eA384H zIrTgW?6dvB2dQ$uY@;2|bA{s2MG&dy3_Yta{BOo}P{3R^Q%Ww!hbG5^5{Jb?_KS-@ zO_B?H;DltiS&6tTx{cZr5R4j-A8^>(qnkF5F>$xYauXe<1RPO}LE0M+5mU4AB*LAU z2#Cv4DJ9kZ{N|WA#_araoZGx6MdKvFJ4M&SBwB1Dt9v~k1U?K3tG_NCg7akBGEv9Y z$$R~6A&4i*WnA8O#<^@}z_1@gDWCg*DslE#T77|OU_|xqgkrrsecsWyo>7NB5NrsM zb-s_6PR>*GY^ix$I+jdQnVli17Z_dm_rlVP``8u8;Rvb9Fj@5FxEN{G1EmQxrJP3; z26I@_NfyzqH2LbDb*75gtvpR`19!O095;x_f^I?{>QKx!a!e~f{REIt>JiGeL=E+R zHOjmO>_;-foIp#$=>!orY>T-@BS%K)OC}_gjeYF?;-3ucf`$OXK7{*-C)6$RGo!~R3v>qd(~)6-#dRnmeHD+`Hc7SnP3vR*xNB^Ri4t^71g3G)*% z?4(=otmi@e&pl*<3Q}JK?Q?M~e@wi*=mTXe4U&o3HR?<`$T0C+M&BM32r5EEi%#)D z^MlUA)z#6J6LYiQ?6+0>yNo$0WmTNYf!~Uc=rJz*LsF$|>8bc+g8@VEDYe(~SBy-` z3wqH!_{2&+g##1@T+v8qzH*6ra9>LeSI`;zk7>od>zVL9XC;yAWExt3LRZF=hl=&| zy@3lP_(TGqgTjM7cITAC%4CAf@VVreWSOU#i3sHtT2#vAo90i}K8Z%YnHCm* zW||(*CEUMyrJ(Ft&bODsr| z*;n?zl#(J?kY{hh#JBU=8z1~}I(bjPB_?-RIazW0uegFY+!)%-{H9iPh||2QQXHL?hMQ+LNEG7@s zq2`1LHq_e}#NVh^QWnmmYl*OHt0*);qO*y3`%*<9*u zLQlTjr1pFJ@^Xtka{BNhe}2B+>NfJe>B0SQd%9k2`f1VLtlie0>EY>geZF36GqSrG z%-uph;6XOx8hPk+O)}BrU0L8_WXs*?28l`h}hOKUd!6p>h$a4 zzq`S{*lKTc;}fa>p}$;Rt@Y;ZtzyXC*~r@Ht|RADI9=Q6B<5r6ahmzgZP@;d)j9Bj z5$^V~Hnb~<-`P=GP5B8|IlWrjT9ATA_IkO*$x2^M!`_)|vN8l*ZykJ$c)7*hVC1c; zU=%rDt!3=AIf>1z<_g;C^|ZxrwAY#4jQUj+D}KIQt+oZ~wxW<2wUuWt3ZJW46>H2wO5mwyr=u*2dQ6gC8#H;2!3>|_=u9vPw5uKEua^sr4Fcc_6xXIY= z{_Q%eBPB1ng`>cp%c*By9*2fTUIrs;U}~Z1oikR*%%z&0Q1p4g=07+1sjoey274CP}j+e@o4iDDavgzB`OK-2uM}=jj zo=%-^_l=628rU+z*5;3 zkck)toSIlYXl3zp$%g#PfI4FdpUY8>Zox$(x_PjYo~wyNs;;gJ7cQGeH|QJ~krn4^ z!mP`H$!%@K_h!hk@5MrnycC{+Mi8L_slB0NoJO2n9|wE-x}DNc68wR}yIrcYm3-+G z!dw7{Aa3&@e>Kn>oT;}4fAD&}Jc|%GW0LWZRs6L4jel^6Zf5b4t;fUn*9UtaTbj|@ z)WE<%RtHloXj0ym_g)CPZJ{?$ePvb?&suH?LzxwggJq`WD15`6Y?{8UHC|7(Oz0nK z3rc#YU$qMj)T3bO945)qzr6HfVCRt@CShsYy}y;;lP+=VAzH}h%m|k?3muXhA)?l_ z^=eI{Vw;6?_&Nk98wMLBaRlZXKs2wLqBv^*gh$wusg0^QW_bImhab=~F3gVBIyNW< zcR-|AZX1!51UgjUttyA@#5PBBuMyWc zh-m#`tW-MBMex&@*lHhGWJYBogbmSRlYAP@g{X0ld6u8^cTbstGbo+45_nFqlsxVk z?Waqm02(!6%H$nJq%83wC8(Tl!H!E1$1K7q5j2D8eZ>F)ZDK%^mqbgAcM(eL4wfpn z@SY@ja*-J~Q4ohm79O1{<4dqQY;760;B(OlMFlKO2~*T*CK=x8KKw0II9w)G9i1k+ zD?w1<*x*d6F`6_O ztm%nPN?X#D)(-uh@qE#VsrV_r(TLb@Sp%)UGJ{ISh=Wq)rlAk0q%emx1l9^^Yf70x zxCEMqG3kqK6Uc>HDc-eRnMf?E?DtFkbPBgd_mBqxL%$=4$)PK+uQAw8?0*ZJ!65)^Y(#J&{zKd@gEy1n{wl~ zswq^1Ak_(zlVi{_QO|`NeG4=VmX9Bm@~*!o8yN#;>V-Y01k@mSxzf(mBv!bkCfTZF z;9%jNll>iy!FfTt+n2hu?yf_P!3K^k%}ZA8jMT@WN#N(hdEl8K6e7*)$xzf3d%5`I0l^@CW7zufsXn7aD1TTGLg)GW8dn!K1p zblo?#0|ZN&t{msI2&g_PpY8-Zl9t@e6(Y}+sQR82fs2zoV-$6SQFL4BKw8JHXAZj+ z7uS;}&X-_tS|PVHn~2qRpK5+L(K@g^vB)rlw%lxI3r$}zNzvHSKO-}&`@~aN$u7Il zGHi`w#sC#B-TugazXoHdxbrb(bp966Gmhx)al!Kct*;QqC=&(dPs)x^U8)$OI}XzX z6eVB3MiOSMPG4j|j76#`2(lw(lsm-%ow_#c{^W#7=o)ccABY4i576Im=QPx2XoopG zhn};IP+jmXJWuRf(ZZpsm%FB5OyX_0IQDSNH7l5sh4ls2oKtBnsQ4|AMM}h|o^b!$ zAl&v`_mrC2Ue+N=o+XzfSzECk6Ll$2S0bZx@2MFomsn;unRMS5U!SAuh}tV%i4dbB zel2V4NWxVh3|L)#F3NkRJtYCS(=D#|*oC&xwJmgZ)tnGv^!L8?YJw%`gwrpjGV#B& zQoQBO89C7;MStQ-4PvmH&&sx`$4+~UWHgEJi=bqIHcL~zOLr6&l-1UYY#-;~P7!E} zLcw9|o2W3sIi0(z$MxMyJyNJPFz+=9zUx6f&>mdDO>LS;m$7;7Afy{cINgRgm7b{6 z&Zuzu8}L#z*j1<8hd-_|9Alr9If`4xTV9-IRv}g|8XpqNl^dB&)Ku-&;G$HP3#B@~ z>3QyMB_T99&qLXO;g`TlM&C5r%G>9dl;wM}r5Wg?TB1=NoAs0EeiNT`82R9FL7PTU z5UAzLD)sMuYI#o}9c#d}g3(m`=Aunt8Qk>(rNdSgv^?I!v!j9EymyY57Q|mwK1XYz zBUEd1p-6LiEf|%s3{J6JtkXuvX!IQtt*WkR)k)mr4hEThr{KS6MLW9A?4eU;&O&g9 zx3++|ie@erzIbni%U$5)Kh+8Cxev}8HGjYS;$yd%Y^S2@u{Pr#;GE_l8l$IiUukVNTeNNv3-Sa`@83QVGhGPZg z>FuN_9>qenRot}{s604?Y3c~5%cE=*hSTpCq`@3gg*0+Tv}hzP!a(rvG)==*E!`BK zELqiTXQ(G8Kc`x0&)rNR${<~Lm7UALIM`?ib0`l}^*49cLn;+1up%9%O*?9Oo`?*I z38xU56Ap|qP4Pq|ZXe9~gw<#2({ zu*TNj4k)fugCT_(v(3)yd2q78n?}2`PsZwtruG7Xu@RzjRvq+9Uag5rG3u*!-m8)$ z+BvzYk#kn|@W~7THXGKo!Qhc4;-K>sD0vEb!H`;yvj&S;V;l9&eFm-2iMjwpcl5f& zT}S-_)t2QsIc#&JG-iyj9!CdxUnbS`is^*E%7G2}s;C6w*rK zX6_^r|E}AJ(uS#_7=S9WP0HW1cV~%yjrDd;Gv|K=56;^MREMF z^b-2psA@-h@J7DISeqN`)%uBNe4FRy9mJwnV2TAdX}rg#;0?uw-APWRBL+<9ma>E) zkw4Fik&wIZcXTB!a_ja#=a9P9vniSd#^o-0fe~ZS_abp}OWIkY-mzl7L(+ug37#dH0d%%u2kw7s zc(cLf6szIty&21hgDACmg|mj|f)th^5z*Mu%-0> zjRt?R{i;K};>6XQLT|=`k0FGnVZoI8lR(6uS&)2J3yC2cjzM2h= zmTo-uC#%p|*>sS{b-b?P_TMhfc|S@nw%y;JF0Q-0=e?qE)pUE^R`P27zN0g4J{~W6 zd++4pc6=V_@h81^r_l4-O_uc7wp_2BWZFWi_cnZ!c~6qedfq4Ga$c|Lz2Cj)5jMXP z@MS(HDLW7H+V|Vp`5yKsZ1O(hNc~;~ce;1pH~4zquRnb6hHGB7Jc^tE4I9_Je0%n!2#dPLLATS z#|dEec6?^qoO}O7E>HLSEv|E=*ZsPZw)b+wZ^~}Q{cUci&Q<14|Wl z)?LSEVr=;8&p(1v$7;5i+|LcP_*`CIkBxP@zkM!Z%nH%1*Ec<{9`2SWo_(rZbdS1P zbyEByWjr6$wCp_KpPi>)4;41pdf&5b*lqrDZ~)G+=c^vtiqW}U2AGRpVGd*H|`~(gyGwHJR))ayJ^r63@+GZ$DAAkRK z{ukvFc@CV@`{|!D;j@vhcZF=Ymcq?4amZifFE6mCF63sAx3lWrlLS|;SHWGWqH3eL zTEffM$BZ9rE(uwR8je0qYpc7@w4=UNUplNjsGphsVbKQtbgJ0jf(#6CcK zQ~5``R>FY((VdXTFom5X^NACM8P->CsKfgrPFLO`y@FZ?iW}L-px9sE=*e1fzT`hl zwO4qzbYh*U#J=?7>cUJSc$`*lIOBZKcQpMA1Rqig-}tjPaR*K)SNQ|1`w4FbY%uv zMu)D7YoKICH^Te|Q3M=;0p-%?VH-cMi>TW%Ra$PmZ4UVs3v(>|-UrIUUr?va3Oj+1L8p{m0!a zS-^jqK04nAlZ3OVvE*MX)hc+K36&JA1qYgO=*)0ee3MSJ^#n0@`LCKv%kTkxDyu1M zG>1iz#14eZMl>(v^e96F<}V=Wre9go@iS&tVu z#N~pnvSr%$Q8^`K&L{Etgxd*~P!I%zmgDtVI94-ps8fcgVN=;r3`JZHjN{MzqM4J< zjLmjw=tI|-X=nu2hu|4=lek9J*~Q5Q&ki01xG88(4^J6p+e8)#5ij@BCOrL7m?BFk zT$C=7$T$<(=u^VlQ_n>4t0RSKNX|XB#lnpobl+0bWX)yF!txkVp(R@xo*X^-bb(ubQN`Oc7Bq$hT|M z*5&-r39W1338o?kX>0;J$_zKyBVz^9ECnqL8csH0p$kJ}9#b)_kF=#2I4aypZt61K zyV6d5v8cf%4F02wjqyseqWh}*;(3T^gsX&VN!1wDHBExQFNIht`tRz2Vx0WFK5}a{AjSByc1$T0c7}zv17NhX&<< zS3%c$63Y%F>gIwcS~@#g0P9HuE$>v_q~QRI23I9&%AripM!a!9Fjjip2=^SCaM^=e zGkiA@Z{Sb^YiavNcD%h#nk5M5`bug1r#m$SlIt&G2-?toqb~GvJMS|!(6gE_{@|783ce#Q z;;(qNH2rtfnfaiA{D;M%pek-2{M3a@L<+x|P#qTZ+`6Lp2jpr9kAaLzxTV+tdSkEq z)4&b?!tZQjfNYI(%9z6-IL!=p6}5s$t0TF^uv*pmuhHg8SF#0bRkKdaHBC#ii`un{ z-TqCKTOSI`19K6DZiC#0!RuP(snqW9OLDTm2BE3o7ZHfNh?$Z!6Zm0?12 z(v~>3#V+H0-rGAL>nNsu;s&qVv}^B`e?V-VqG_=6-=;mo@h;IH z>K>nRSb^fHNYFl53+XUi@230|MV_FCukaQp{RsHff)L!rF0-~JZ8!A5pwXUB{WXiv z&-HKM%L|0z+`;IX1`qp${tzs&PpAwvT;Jp1XL+p?!}X7~Kn>gBsh_0~+z0NV-Gw@g zsLYP7iT>JpSzjYMsaj5IxPpmNV`Z+7zaH`0nY6`Bx5m6d$T5nW5I|Y~w*Mq<`J5WU zyg=EYOI7E6oGgwzmzyQb5G{0^ODh~S@$K|`^6*Z+?}o#i7%?r5a}Kg5yC^M~3q`%6 zrlZFivylV!$pN71HJ7Y))`du@TU9n8Q(2d2ptr`WyNg_&#xyaPNT@HK(mERvf_&0( z>6w^rI1n#F*Qv|q_^%s~Thw3bJA324f(E?Gzw1UjsM1?fMO1gy_m*e7I6Q!(+Yz99 zOtWU(lHb_^S{gE4n!^%mE`^MT@QgLfRD*2gEKQ=F7VbCOcx|S7rDY!GmVV^p^&U~{ z>9+fHlzh#v#86xRh(bG{#PruU+;*ZyET6CDdq$AfJ4xN>s@|B|Bzv}T^h$Ci&uAqu z8f%`97R%TXb<(f>4ar8MzMMLA(y-&g>Ta3hlO|zqq&Iu`kov5}>;96pyO?X+d77xk z?Q`R%*x{e67%f3()oo1P;oe{AOVe#e!VfdoBkCUGm7gTCKy@&7^myUX>Hg(V)Mfre zx~!q{%d5Ry+Y@zsLrc&r!Qv!f+vn&8nxcYTRd8AHYpBb&B&%t`wMy6XZD@<1A-zJ~ ziL~2qg?Vu$jP1n~`aOjjZH{}bc>alN@=dxuZ<~b<{s}=n%W^Dthn_97($%_Fp4HQf z8TX=EGsETT{75c~4Mcenrq}YLqSGQ=*KX4Yp_4vZ<08?uM8`&T@oG|>wQ<|3SUI(m zV`-Y~%%@R++Tt=Me?|Un>jZCIO`JT?WQz767EjDKEpO-c>BZ5#&IK;*GQNdTuukb@ z>nqwa3W_&>>&QSu)lTP+C0DIBw&kIWL;E*yCr+a#h{qEda7se!tippg90l5^pge5v z@|x17RakKg2~#{J=cv+T)%M9%x9c`)tXgnOgy{C_%uToK@Wx{@(dw@pNv)Pe+r!Ne zS2kl>@tD=aw6O&ko`J3cdShCqml^a$(Vvb-!_BLF<#7q{h28jp$}+POPq@GOQ`i~_ z%Sg(NrRSzsc(YjvA~W8>)k?(M8zDX%iwCD_LrvGyN!kLvxYzooY`TV10qLhxdPcsh zUzk|<)WWo3*lu#yGti!B>t0DRI zb9bt5Kq+fgfSy#)@$8ES)UB5F3aWvpb9O)~ABcf(rCqPhC#ar8=T*0wzSF9^V zrW*pgjH(*!id0}w<5~h|k4~#>K9Snb^hCvM8o6E5CmO{m$d>#sK^Iav{I3F;2dszw zS#;JE&=9zVw{}ci4tIO>AZuE1wF(rrrQywykPr9A#T8OfM>*7{b$4EW;wKeORuJr3 zK?1U)OZu^wUBjgz_vQ8UIL1qMsgmEJM~`dQ|hgmxg^l zPg+slL$&+A??FMmKL$HVmFa9MBTXjHV52qv4823laV_$gL?_?GJ9TMWW(8U`02OuF zWQdU&*IbT1rAApw3Du_vH5(N)#zj~3XTo`hR11s2PtWa{Lfus@(2#Ndr9AnY^*1I` zXc?3DFWQ%mRR?_!lq&Wp0kfS|)%9?NZk>d-r&o<-0%tw{&1=w_3b?_XDlNo}=v^$R zC`>mlyYZB31_%N4*V*Wm8A4RtNPa9l>Z1bY@U~Qu`gk+Paz-Q>=fD+HruZN-cFCoD z*7Pbu!`1`UCtPlGgRISc@#TufHKoA(SVB|^+K_kaJ&9=C%%_y$Z zF&B#t+<&VdrB|iPiwhqW8l0-a9;(FM{3ER|vz=uVmJVpC@6ox`W%enub_$>;RjRkJ z6y3C;B%Jd(w^=XrE#kH z=g|TuY!6_fIqghd;mt-Yc^6X+kWgf)&XsSL`?=({LZdVYx@Pe)*n|e_0DV}uQO#Vs z!)L3mY6XI~IIczTxA-TDXfFZ$8-DO*SG%*Vx7)H+Ox2*7iLCg&*i#;Cmbj8$;+>7k zqZ#$>MZvPvc!DdOJgoXf`Y`ru>(VV|DG9G5#cm-h<|wxcD?G7x0*v#X&F}anex~~u ziFVtuSxGJK-W^-L3=fPbDqxJNEkK zWuWCH4hA}UaHEX6jqzAUR|`FbJWq(a6wmrWvn3yWn+f+X`J@p}U$DH+eyx)ogL)0alKIj&RQnxu!v+g8T(OURsr2`QAx=uuB zYQgOb$!%4>oP{K%4bZW&kmLDhf^EIh8HihWUwDm&H+jMP0gKEk-0f|fsvO$HHUXKO z*LcR5;FCyL<4qy$QRMNZdjiuolUeGWOlu?25lK8>+HnyD=H+sMs|EGGVQt(B{V7?r z4=PrwteMcp>-OHP0hUJIdrj%`@vfpnaG$ew!C7{!Dq^#@P5GQ=E{(C|G!ShE z!rdgXaZYtAz9zASn753a$pXeQ))INTI*gJ)3WB=bk%M|vNgoTy^n@jdMil&TGs3N; zw27M@kvGix!a&xSja{Arlv8*3FMB+ueZ=|1BI4EiRe|I||L5IhEg$bbeN%M{kA}1yL{H%#bp;BOm8kBh{FR9r z%|)yr2GC`xt7;cV^bRZT?HCyBh`UX5UgL=J086Qd1h6g+WFVs|+cP0qaGpBc*qL*c zg4jvlmR%O?f^!578Eqlw<`MYA{g<_r?SS}8=hg ztTR*_)eAyuHp!MgF^o%!iV<{dm#-|bMPC;5mKb~q%ezU|L{1BdsTl}%Ny9vwO{Wcs zGu-T4`@9tQm)8of?xx8r_uI?(sl+@K{fxqCVGw8QJ(>-^9oQa0iL?mw7DRNEyHTTVlR{fQOn2{>5|Srh2(dl_!`bu|2!p8f1cd7WUMGN zT8)II(~sI6-&sK(9vG;Pw1brKj^SeR_79=DP5T(fEZK_kZ8Xe7Or-6{oIbXMy=MlJ ziR}VW`I0D;xSOQ(84fG#Xl1*e9=o?n$p~-dwhFb5R84Q;P9taLz`25I$5`^IOGxls z>mN3pw7}$5f}Y*NUQ<8c8yJ0VQWcAZplAA0UV%|aCVY;lZXfz%EYFiE0wQ2o=Rc?d zqBW44Ee_d?FPaBNRjuM$TBg~hk2R{lR|LO}h@Th|RO4>_r`hlCKt;Z454jcOo0}1tqi9$JFqu|(;1xK(3adWJ#J^w+J(Rp! zAv~4jcs&}&AUB7CPVkLGdhwmMDd2Jz^;(XhFufU&i@{mVPot(-eVYr4Mf&^8VPam6 zJs3aqkc^>wbvv<*yZTKV7-2Wk!CxHEqPoV^_c~wxecztoQFaW`WqCVcE0CBH*;$ej z-6%>xAw1K4&G>39!lB8ZXQ&nnZ=`IuX-LJ)S?bw^6sQm=9YUUJ@HvmDuw)9I`1p?M zL7IAcXcB6vo~R(*^BKpCL*1K{4dfMtsQkDl{U)!Zy@%{_mbll54;5!0yPn;xE zdN^~v$Yt;NxWnFyivm?W#;w&cewS|#atX^KO0;!Z zWdG`FPdT~YS&Td|HdY;4z>L{4PD#*=yfh}3Oeun4DaxE`Iiu7%XQK#;grrbgk|-UcC3eE_CCC1o^Xj^3^Ta;(czPN^NJ=Sy~PhCoq)-}ATmQ=c3vyc*Hb{-F*Y;lK`N?kAPjyzKM%#LL_5+}l4Oh>8% z_q>T&Wd%!a=t2|O09M+HDEGS33dSzZrFFSwNOPm36RE+SD0N*$Y#%0Emc0J*Pwm2- z^P&J}SnCjHRuR`-8|kua9v7oz!?ZhRNN-Q1BDa8qH1*jG)q7LscXa{Z#hF}lijz?P z1|hxhzDt9#4s4!;!gOR&N6nm$@K{F;qq&3EU&_edIeTUo2*PvAxYpwHbt5grsD#Sa z5zeAnE9gX*cs1s4edziQ55^L!*T1NK2uFL)?Rg;GLI)^Hq zff+Ai$^~?|C9u)q|z&8@>M7WczXAh6Ml_1w+K(%70uTOoFkNI^T__dAY-Dz WTfxxOK+PZ~uQJe-w8<0Sp-FOE9A@|Kwq?b^3pLJ(q%a%Pj>D}fQ>ij`=r_6JpH zAxS4*2!;fzER~{z8A-))5W*b3BYZU0zA&lzw*st?6+4#faxkyp7||B(9SasHXu=^& z?U0dV;jZ$Zgnf|F&_cJZ>RSeT3}_Q)c_k;EO1R@3Su~THd9i56QLGRSp|_0+63E(= zQe`S&sp$2CSD~rl9h>Za=)6!GO)dq;jwm?C4wzDq*?8GdtuuPWlvG)f@^U%R(kMd9zyx(C(rbXIn8?f|5m3a&Qy$Qd>8Of5kP| zm*zz9E!OD!m1Bah>XZQ~NR7!0sG5>7sgPNew3NUu^CMEll!M7w)Fu6rk|$_VNYy0G z#l<>_w~Cfs!q9}J%Ha|Mfr*>G62sCJj7irFmXZi`B?xKWE5D@AK*+@WSuDzp6&rs0 zN`~Ym-X$f%fu)d{k0U}_+9QWbh7`<)$ZkH%D|b*(Rmmr3Xyc^t#!BjwZz+jWu_j8! z6nlp?C{xj-fE8s|&MJe?Dt8b_;_&7Yd2}l4OR@u%CGILCWfKL|D^u~O(B&&O1}atT zCWBC^f>s*yr@)qro1mmXE2`AzDiV@_|IkLK%mY=;hp3E&M=B31S1_o6GoZ3pDX3tT zQ^6_!qV~+UR~as65>>5;S7B;&B&u#=saK)0KGJd~Zb|&ER?JgV@`n4;s6&D@D2b{^ ziBR%Xw2V$Mc8muJP6=*Ilt;^B?Uxi)mw=RtsP9f>RHceOV#%*2Nlw9QRdfV0J6l$j z7#(jznU_SjASI;TxouEo%9O;Hao8D9IyG3zgh(!b4ar4*YSvjvbn`R3?r2l~8s`Gltp$DRAbn~p|C)V-f3&?_yZy9V z?7(VFyOQ|!ef;s%I-@RfPo>Uq9Y_nKzjP#3>#3n!N&D#LG2BZ)bSwPRlu#cfe|0Mg z(QgsnrZB7~_N6JZd`hCbm;m|q738aV&Qh};-qYfHmw@X@>_&OP_9pJBA$=+$SuIVs z#9))iV?go3OQDC6=2TBYplmfCZ;bGCex%-xr{!wg#=W&0f8!Yzg>p_#fte(Nyvk|}X7vP*C;vPqC6PK|Y+W#zWFUk}~-Y}mPf z{j154I^AqP9o{lq3*l)GZ2G_*!W;QPl+c5$g|SgrXkA(m^VRZZ|1!^48h>2xT$+)+ zdd{1Q#V*h&0Pe7wG@frj?T7lq-m)0Ru(pf#=n%qLo;Zmk%J-o$A*Al#H^KPj2 zlE+;98>2WVryC>-6rbkW{KHG)@@YQHVf(HiXuaT2sAKyMMmW!j2cC0LnnxL|_3b_@ z%Z>}0H-DGJ-?`=dNLg^8Bw*HgrWCwdd*IBrA!Pgh=KFRK{j6uu>=(QCeem@x$F{*Y zX6H9--K+2o*7WtWr;cS~=d{hQW9{3*_oG*J>AR>o`iCu|XI}B#;1$QIDdf5~6_GkOxv|l!;$S1j_kG zyrlzykM(>oKQ@oSV1H2JFWEt6VO_<0WmQLPc}FSkex`4@)o`8%?wgseGsqU>$Yiz$ zO|8aX(~FBgKDc@=QxzS@c>9@d;a1;y9yzyWx-E~kiOX#knlrI0?@Q%R=iW7P2xpUN z05#}8gC;6-f2pwaM35`Z4N-qR`s^2v74H>K)y8&oI4AeSF0U}YXI9i1Rn=;!tXx)J z{H?6g%!4n{15CZM`LS@QO|)pnCI#C?X?qE?s3_%>60^uGu;?u0d9~YQU6x1(TgnJy zlL>Z{71kgdAdnYMN7RQQ_wgaNdJwI%C`|s60ht1y0?L7Gj;p!RCI6dUy8$XbV1}_W9O#F&XxszyT-GkCdXHmc-kpx4qWQet~^SO#8uG7Px+W z<^W1?xuNhn#&N$*bAWRYxz!*#_Gcc;{M2*TMmRh6C%~|I=kmsun0IFv;D5bgyoHc< zVo2=U(Fd66Uuipl&Fw<8V|WEji|3gR?pO_OzD zn*fLhmCc0HGrsZ}6=yvk@`!c~?E-4%zAM0IJVZZ*g8)JOX?}HmP8EoJ1G|8P+atc2 zT}q6*_&&gk=sPU&H@axo!mgjvVk=++*0<5C_PbZ==Q}#aU5e-%Le%;*pV6Qk)9Vex zJT0+r2qFUZCm(Xl6@ZSIcVxF$;pfN!QSYEWfQ`b&_eu0CQxE_~w4(xH1>-Kg4*>DA zvn=M7W@><~uhIq(7X7MO^hqva^I?a5mjw4MhkbVJ-8COB2KTM^0|d|}_6_Xwt17nv z&@=95!F}V0uRr_EhSxE?-muS4ee2o{a>0JD{1@IDbD3KOi2L#HFz(mt6yD?iprm2jCF%&g=rLelpQB9%RS-+(G@x9*@{JvJYTFymfiwBI;e$ z2e>J0{n{}YwAjQ)f@lMLM88^yzR5+bKlkp0)3d(bFwV<(=$Z^_!F})iB-*%UllL|6AWfcU>eazx+vUIFy~p|SsWzz*UMWUqNKek=eG`5&a+ ze=fKGK>|d7s_2#ZF@S>q()Irz0`~sZ6QGywzidqY7beBX1^|5hH~7nc;9fD019v}X z8gcw_Ur!pQ3CGGFBS1O{yXH zl77y%W_kN~v<3Fzle+<$eK~!+2J!*O?%XZB96rVZ`^eczJo#{T3-RwH;h%eQ^_);c z`CU2g`onk6Ky2RfGw6gY5KO%Ut_$pdvHJ6ZjtBX|WFov1n6saX_rPiXdIu?oeFrUvccwk1nN7++%9jh;27YHXr#n@h zUCYP!XA8WB(1G;CWr2FclZQEFoJE=?=l99i^EVCp#%jiW)S2a+O%w1E0KjJgzr)Cr zpHj+0IwO<=z4M$3&xQ${1o*;ofr-vqJwUxUI0eN&X)vInXK7Uqiy zkO%R?Hww@Png-Z{mk7)RE(i92VS#i*XTo>jEdsxb%|g%a_=5}dg606d|31~8b;_U0 zhY(2f{|3v9z?*C??I#B&lqQlU`h@SlA<&MoXYHpa`XmyBC&9Ke+lG`pgVfMZ}1nSU&L)1 zWSo#YPX7zBH(x(4q#MB}UjGdtH{6~D>hVs6yE3P`@F+a}1UpO2p4D^mY2NOXcO+`TKvPDEGYPpJMpg3UmCnEpDVPpbZj z-@2ieW0%B_)Rfh4EivkLii^2Fs}nIM*+OF`iLBSEf#%R$dUWd4}~Q34vX4f!bM zaOEIaaY)<0BK`4zX+gH2&VO|il>T39S05Bb8O9d`)HBJF)DmgCG;4s})pHKfE%Q8yqkCLcHigsJkR@kf6w#&cUPls_qT4oW+WzFJ_$Nk%s|HY|LTm9 zB_qdzmp6TN`rGv#0q;lMU&(ooE3-G3Y!D80X6eoH{5rm^zGw55-sbk|^IMtzhFJcC z&swU^-)2^CIXbReWzb&Uv42-%b6e-8-`;LLldaWT;=I;YkG?7K`u*1FGupa#9^QDo z(HFR|y{+opzC$L>wm19VJ?ed@A&r*&sjLm0L-Ko(gtx{GKQOSh}gbWl|ue zIR10(?^_P9I5FFmvhVvNse22}Dhct)L9pS#;rrf>Z=dQ|bD`%}&y>>(d^VdR&^QP0 zD3#o758T?l{*FH3xi3!n+uQR_6zp%j)F+(Xn|N`$vZM+AEt3Dr^&f~EtKdIJ{_M}1 zoO;7&zWKcC*hTJMx23jAD=&<#pVgl<%bzf#eEikz2VR=qe5TL5s6cm;%x-?8|L;7{ z{dk|mm%3WGHCcIfm+x|sx=HC>_3O+Q)fG z=S)|i?_PQB7W3LBo2Jz~vnQ}TFu@y$D=rulCqcy5jt|@Cm*(^v*2f}2t zBU4~b-a(O0^y6vBi(8X|0i!Q{Umh`-YaDj88gM+#GDc|zCX=FoAz6xMDveT?U`^Lb z%_f5wyf_jYg&2m=?^c;uMJkJ8%F-;PDJB1D8f@1;9D@5dp!O zh-D2=N37g#H|ACZ9m{314E)u?g{9<5;2_dzh8GBi1Y!RX1RtE{F-Q{wv$V3DgAm{? zOl^Q#=t=!RTBRlfMP`y5AOw~(6>$V<2L`yR$Rlx@0zAplP61M8nv+w6S%83291U4S zVL-IdQ(Cex2pVcA0%-~oLtAOUnV?aX9m|0`8?+oUV+iktNsZ|+odF-XHQ0d1&2khU z!ir(S9?-cg!vGRyj9YTc40y!QU?+H?5N;+6No9LX7S}u=q@k~bw;TSD1}4Mg8S*rA zuFEdCIACOeOW+858d~hCu+wA#@RYGOz!()76;_2-r6wqaS_u>?eIZS9EYDg6bTQ3P zteZzIWvCjHV>-w$Cevdu6Eu$_902BQLzS4yfJbFx2x@vzR;J;l;eFv7ybhLyI3~l= zSPEAuK>o_hJWjwb$3)>i5^)Fpg>?GAbwq}8N*BbOpm=hCm4H;Dxiv7=P)%{b&P&BD z5|bBW8Ks2N3CSfy0pZmQ6{Xhnuu?II4BGH3X(yiw*DFQw5koL8-U-N2g0Q3jga@I8 z8aVa9{6>dz1jCC(_OK2pJ6zPm#SZniQP86>8`VrB+!n!N<6teK#RMlc^eD3@? zmU+3QqXZhH2oGur3OOb=9U1KMDQefVeK80kjtS9S7%3MOf{VM&hk!{)EHW;5JgjDS zFL)nYETn*FctSyy@f3trK^LKH27DyOA;`;spd0{$+aHa~@_n7X zZXAM?!Efq{O4BY7C8cOrs>3k8SL$KZD>U5UX)6B5sV z_muzmpeHw|_*YN+(vqfa+X|_wO+cm%%c*%1g4pQ_oB@JTg%4p8Dl$5sb=4_Y%!pnZ z_rylL$VT)sD1zZf{m^9kO5z{=!5>=0VEEzfbZB_VqWF=TYjHt*f@mgz@8gid?-s+o GNB#lQbXG + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/packages/MySql.Data.6.9.9/content/web.config.transform b/MTC_Adapter/packages/MySql.Data.6.9.9/content/web.config.transform new file mode 100644 index 0000000..f627a62 --- /dev/null +++ b/MTC_Adapter/packages/MySql.Data.6.9.9/content/web.config.transform @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/packages/MySql.Data.6.9.9/lib/net40/MySql.Data.dll b/MTC_Adapter/packages/MySql.Data.6.9.9/lib/net40/MySql.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9f344a56c8e0843163d5900a064dee7cfd45a11 GIT binary patch literal 424448 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 ViTPi-i2p~53)#raM*Xb^egUto=2ZXy literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/MySql.Data.6.9.9/lib/net45/MySql.Data.dll b/MTC_Adapter/packages/MySql.Data.6.9.9/lib/net45/MySql.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..9abfb6b54996d1fc400606a3b152aef37805f447 GIT binary patch literal 424448 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 pDXgia)SJSy)yddlk!Z2{Z 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 K*NytO9(V@jJZ|3r literal 0 HcmV?d00001 From 1336a9f6f9d143937470b6be6e9e77ff727d5a37 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 16:11:12 +0200 Subject: [PATCH 11/29] ok gestione open/clone connessione a DB + refresh testi --- MTC_Adapter/MTC-ADB/App.config | 45 ++-- MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 3 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 261 +++++++++++------------ MTC_Adapter/MTC-ADB/MainForm.cs | 151 +++++++++++-- MTC_Adapter/MTC-ADB/MainForm.resx | 25 +++ 5 files changed, 315 insertions(+), 170 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 9bfa4c1..e06753c 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -6,28 +6,39 @@ - - - + + + - - - - + + + + - - - - - - - - - + + + + + + + + + + + + + + + - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 97596d6..aab1f06 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -34,6 +34,9 @@ 4 + + ..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll + ..\packages\NLog.4.4.4\lib\net45\NLog.dll diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index c6e0bc8..83af4b8 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -29,14 +29,15 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.label1 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.lblStatus = new System.Windows.Forms.Label(); - this.lblServer = new System.Windows.Forms.Label(); - this.lblServerTgt = new System.Windows.Forms.Label(); - this.btnStart = new System.Windows.Forms.Button(); + this.label5 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); + this.lblNumData = new System.Windows.Forms.Label(); + this.btnOpenDump = new System.Windows.Forms.Button(); + this.lblLastData = new System.Windows.Forms.Label(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.lblApp = new System.Windows.Forms.ToolStripStatusLabel(); this.lblVers = new System.Windows.Forms.ToolStripStatusLabel(); @@ -46,14 +47,13 @@ this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this.label6 = new System.Windows.Forms.Label(); - this.textBox1 = new System.Windows.Forms.TextBox(); + this.lblServer = new System.Windows.Forms.Label(); + this.btnStart = new System.Windows.Forms.Button(); + this.btnConnect = new System.Windows.Forms.Button(); + this.lblStatus = new System.Windows.Forms.Label(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); - this.gather = new System.Windows.Forms.Timer(this.components); this.trayMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.gather = new System.Windows.Forms.Timer(this.components); this.groupBox1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); this.statusStrip1.SuspendLayout(); @@ -68,7 +68,7 @@ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label1.Location = new System.Drawing.Point(0, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(390, 24); + this.label1.Size = new System.Drawing.Size(478, 24); this.label1.TabIndex = 0; this.label1.Text = "MTConnect Adapter SavEnergy"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -81,7 +81,7 @@ this.groupBox1.Controls.Add(this.tableLayoutPanel1); this.groupBox1.Location = new System.Drawing.Point(4, 119); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(380, 78); + this.groupBox1.Size = new System.Drawing.Size(468, 93); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Data Available"; @@ -91,76 +91,76 @@ this.tableLayoutPanel1.ColumnCount = 3; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); - this.tableLayoutPanel1.Controls.Add(this.lblStatus, 1, 0); - this.tableLayoutPanel1.Controls.Add(this.lblServer, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.lblServerTgt, 0, 1); - this.tableLayoutPanel1.Controls.Add(this.btnStart, 2, 0); - this.tableLayoutPanel1.Controls.Add(this.label2, 1, 1); - this.tableLayoutPanel1.Controls.Add(this.textBox1, 2, 1); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 81F)); + this.tableLayoutPanel1.Controls.Add(this.label5, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.lblNumData, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.btnOpenDump, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.lblLastData, 1, 1); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 16); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 2; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(374, 59); + this.tableLayoutPanel1.Size = new System.Drawing.Size(462, 74); this.tableLayoutPanel1.TabIndex = 2; // - // lblStatus + // label5 // - this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblStatus.Location = new System.Drawing.Point(142, 0); - this.lblStatus.Name = "lblStatus"; - this.lblStatus.Size = new System.Drawing.Size(148, 29); - this.lblStatus.TabIndex = 1; - this.lblStatus.Text = "Last Data"; - this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // lblServer - // - this.lblServer.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblServer.Location = new System.Drawing.Point(3, 0); - this.lblServer.Name = "lblServer"; - this.lblServer.Size = new System.Drawing.Size(133, 29); - this.lblServer.TabIndex = 0; - this.lblServer.Text = "Data Available"; - this.lblServer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // lblServerTgt - // - this.lblServerTgt.AutoSize = true; - this.lblServerTgt.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblServerTgt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblServerTgt.Location = new System.Drawing.Point(3, 29); - this.lblServerTgt.Name = "lblServerTgt"; - this.lblServerTgt.Size = new System.Drawing.Size(133, 30); - this.lblServerTgt.TabIndex = 2; - this.lblServerTgt.Text = "#"; - this.lblServerTgt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // btnStart - // - this.btnStart.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnStart.Location = new System.Drawing.Point(296, 3); - this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(75, 23); - this.btnStart.TabIndex = 3; - this.btnStart.Text = "force reload"; - this.btnStart.UseVisualStyleBackColor = true; + this.label5.Dock = System.Windows.Forms.DockStyle.Fill; + this.label5.Location = new System.Drawing.Point(183, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(194, 37); + this.label5.TabIndex = 1; + this.label5.Text = "Last Data"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // label2 // - this.label2.AutoSize = true; this.label2.Dock = System.Windows.Forms.DockStyle.Fill; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(142, 29); + this.label2.Location = new System.Drawing.Point(3, 0); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(148, 30); - this.label2.TabIndex = 5; - this.label2.Text = "../../.. ..:..:.."; + this.label2.Size = new System.Drawing.Size(174, 37); + this.label2.TabIndex = 0; + this.label2.Text = "Data Available"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // + // lblNumData + // + this.lblNumData.AutoSize = true; + this.lblNumData.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblNumData.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblNumData.Location = new System.Drawing.Point(3, 37); + this.lblNumData.Name = "lblNumData"; + this.lblNumData.Size = new System.Drawing.Size(174, 37); + this.lblNumData.TabIndex = 2; + this.lblNumData.Text = "#"; + this.lblNumData.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // btnOpenDump + // + this.btnOpenDump.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnOpenDump.Location = new System.Drawing.Point(383, 3); + this.btnOpenDump.Name = "btnOpenDump"; + this.btnOpenDump.Size = new System.Drawing.Size(76, 31); + this.btnOpenDump.TabIndex = 3; + this.btnOpenDump.Text = "dump"; + this.btnOpenDump.UseVisualStyleBackColor = true; + this.btnOpenDump.Click += new System.EventHandler(this.dump_Click); + // + // lblLastData + // + this.lblLastData.AutoSize = true; + this.lblLastData.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblLastData.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblLastData.Location = new System.Drawing.Point(183, 37); + this.lblLastData.Name = "lblLastData"; + this.lblLastData.Size = new System.Drawing.Size(194, 37); + this.lblLastData.TabIndex = 5; + this.lblLastData.Text = "../../.. ..:..:.."; + this.lblLastData.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // statusStrip1 // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -170,7 +170,7 @@ this.toolStripStatusLabel1}); this.statusStrip1.Location = new System.Drawing.Point(0, 256); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(390, 25); + this.statusStrip1.Size = new System.Drawing.Size(478, 25); this.statusStrip1.TabIndex = 2; this.statusStrip1.Text = "statusStrip1"; // @@ -208,9 +208,9 @@ | System.Windows.Forms.AnchorStyles.Right))); this.groupBox2.AutoSize = true; this.groupBox2.Controls.Add(this.tableLayoutPanel2); - this.groupBox2.Location = new System.Drawing.Point(4, 45); + this.groupBox2.Location = new System.Drawing.Point(4, 27); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(380, 71); + this.groupBox2.Size = new System.Drawing.Size(468, 89); this.groupBox2.TabIndex = 3; this.groupBox2.TabStop = false; this.groupBox2.Text = "DB"; @@ -220,28 +220,28 @@ this.tableLayoutPanel2.ColumnCount = 3; this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); - this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 81F)); this.tableLayoutPanel2.Controls.Add(this.label3, 1, 0); this.tableLayoutPanel2.Controls.Add(this.label4, 0, 0); - this.tableLayoutPanel2.Controls.Add(this.label5, 0, 1); - this.tableLayoutPanel2.Controls.Add(this.button1, 2, 0); - this.tableLayoutPanel2.Controls.Add(this.button2, 2, 1); - this.tableLayoutPanel2.Controls.Add(this.label6, 1, 1); + this.tableLayoutPanel2.Controls.Add(this.lblServer, 0, 1); + this.tableLayoutPanel2.Controls.Add(this.btnStart, 2, 0); + this.tableLayoutPanel2.Controls.Add(this.btnConnect, 2, 1); + this.tableLayoutPanel2.Controls.Add(this.lblStatus, 1, 1); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 16); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.RowCount = 2; this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel2.Size = new System.Drawing.Size(374, 52); + this.tableLayoutPanel2.Size = new System.Drawing.Size(462, 70); this.tableLayoutPanel2.TabIndex = 2; // // label3 // this.label3.Dock = System.Windows.Forms.DockStyle.Fill; - this.label3.Location = new System.Drawing.Point(142, 0); + this.label3.Location = new System.Drawing.Point(183, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(148, 26); + this.label3.Size = new System.Drawing.Size(194, 35); this.label3.TabIndex = 1; this.label3.Text = "Status"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -251,62 +251,57 @@ this.label4.Dock = System.Windows.Forms.DockStyle.Fill; this.label4.Location = new System.Drawing.Point(3, 0); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(133, 26); + this.label4.Size = new System.Drawing.Size(174, 35); this.label4.TabIndex = 0; this.label4.Text = "Server"; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // label5 + // lblServer // - this.label5.AutoSize = true; - this.label5.Dock = System.Windows.Forms.DockStyle.Fill; - this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label5.Location = new System.Drawing.Point(3, 26); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(133, 26); - this.label5.TabIndex = 2; - this.label5.Text = "none"; - this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lblServer.AutoSize = true; + this.lblServer.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblServer.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblServer.ForeColor = System.Drawing.Color.DimGray; + this.lblServer.Location = new System.Drawing.Point(3, 35); + this.lblServer.Name = "lblServer"; + this.lblServer.Size = new System.Drawing.Size(174, 35); + this.lblServer.TabIndex = 2; + this.lblServer.Text = "none"; + this.lblServer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // button1 + // btnStart // - this.button1.Dock = System.Windows.Forms.DockStyle.Fill; - this.button1.Location = new System.Drawing.Point(296, 3); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(75, 20); - this.button1.TabIndex = 3; - this.button1.Text = "start"; - this.button1.UseVisualStyleBackColor = true; + this.btnStart.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnStart.Location = new System.Drawing.Point(383, 3); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(76, 29); + this.btnStart.TabIndex = 3; + this.btnStart.Text = "ADP start"; + this.btnStart.UseVisualStyleBackColor = true; // - // button2 + // btnConnect // - this.button2.Dock = System.Windows.Forms.DockStyle.Fill; - this.button2.Location = new System.Drawing.Point(296, 29); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(75, 20); - this.button2.TabIndex = 4; - this.button2.Text = "connect"; - this.button2.UseVisualStyleBackColor = true; + this.btnConnect.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnConnect.Location = new System.Drawing.Point(383, 38); + this.btnConnect.Name = "btnConnect"; + this.btnConnect.Size = new System.Drawing.Size(76, 29); + this.btnConnect.TabIndex = 4; + this.btnConnect.Text = "connect"; + this.btnConnect.UseVisualStyleBackColor = true; + this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click); // - // label6 + // lblStatus // - this.label6.AutoSize = true; - this.label6.Dock = System.Windows.Forms.DockStyle.Fill; - this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label6.Location = new System.Drawing.Point(142, 26); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(148, 26); - this.label6.TabIndex = 5; - this.label6.Text = "offline"; - this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // textBox1 - // - this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox1.Location = new System.Drawing.Point(296, 32); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(75, 20); - this.textBox1.TabIndex = 6; + this.lblStatus.AutoSize = true; + this.lblStatus.BackColor = System.Drawing.Color.DimGray; + this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblStatus.Location = new System.Drawing.Point(183, 35); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(194, 35); + this.lblStatus.TabIndex = 5; + this.lblStatus.Text = "offline"; + this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // notifyIcon1 // @@ -325,11 +320,12 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(390, 281); + this.ClientSize = new System.Drawing.Size(478, 281); this.Controls.Add(this.groupBox2); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.groupBox1); this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.Name = "MainForm"; this.ShowInTaskbar = false; @@ -355,12 +351,12 @@ private System.Windows.Forms.Label label1; private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.Label lblStatus; - private System.Windows.Forms.Label lblServer; - private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; - private System.Windows.Forms.Label lblServerTgt; - private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label2; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label lblNumData; + private System.Windows.Forms.Button btnOpenDump; + private System.Windows.Forms.Label lblLastData; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.ToolStripStatusLabel lblApp; private System.Windows.Forms.ToolStripStatusLabel lblVers; @@ -370,11 +366,10 @@ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.Button button2; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Label lblServer; + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.Button btnConnect; + private System.Windows.Forms.Label lblStatus; private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.Timer gather; private System.Windows.Forms.ContextMenuStrip trayMenu; diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 21326f0..b9c67e3 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -17,6 +17,7 @@ using System.Collections; using System.Configuration; using System.Diagnostics; using System.IO; +using System.Data.Common; namespace MTC_ADB { @@ -36,6 +37,30 @@ namespace MTC_ADB /// ultimo tentativo riavvio... ///

protected DateTime lastStartTry; + /// + /// Tipo server DB + /// + protected string ServerType = "ND"; + /// + /// Indirizzo server DB + /// + protected string ServerAddress = ""; + /// + /// Nome DB + /// + protected string DbName = ""; + /// + /// User connessione + /// + protected string DbUser = ""; + /// + /// Pwd connessione + /// + protected string DbPwd = ""; + /// + /// Oggetto connessione al DB + /// + protected DbConnection DbConn; /// /// oggetto logging @@ -52,7 +77,7 @@ namespace MTC_ADB private void myInit() { - lblStatus.Text = "Loading"; + label5.Text = "Loading"; lastStartTry = DateTime.Now; // fix icon! @@ -83,25 +108,13 @@ namespace MTC_ADB lg = LogManager.GetCurrentClassLogger(); displayTaskAndWait("Starting MainForm"); + createDbConn(); + loadServerConf(); - // se abilitato autoload conf leggo file corretto... - if (utils.CRB("autoLoadConf")) - { - //loadXmlFile(defConfFilePath); - lg.Info("XML LOADED"); - //loadPersistLayer(defPersLayerFile); - lg.Info("PersLayerFile READ"); - //agObj.loadPersData(); - lg.Info("PersLayerFile LOADED"); - } - else - { - //// definisco e avvio tipo adapter generico - //tipoScelto = tipoAdapter.ND; - //adpConf = new AdapterConf(); - //loadAdapterType(); - displayTaskAndWait("Waiting for config file selection"); - } + //loadPersistLayer(defPersLayerFile); + lg.Info("PersLayerFile READ"); + //agObj.loadPersData(); + lg.Info("PersLayerFile LOADED"); // Start timer periodico gather.Interval = utils.CRI("timerIntMs"); @@ -124,6 +137,67 @@ namespace MTC_ADB displayTaskAndWait("Main Form OK"); } + /// + /// Inizializzazione oggetti connessione al DB... + /// + private void createDbConn() + { + DbProviderFactory factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient"); + DbConn = factory.CreateConnection(); + } + + /// + /// Lettura conf DB + /// + private void loadServerConf() + { + ServerType = utils.CRS("ServerType"); + ServerAddress = utils.CRS("ServerAddress"); + DbName = utils.CRS("DbName"); + DbUser = utils.CRS("DbUser"); + DbPwd = utils.CRS("DbPwd"); + lblServer.Text = string.Format("{0} | {1}", ServerType, ServerAddress); + DbConn.ConnectionString = string.Format("SERVER={0};database={1};uid={2};password={3}", ServerAddress, DbName, DbUser, DbPwd); + // provo a connettermi... + lblStatus.Text = "...CONNECTING..."; + lblStatus.BackColor = Color.Goldenrod; + displayTaskAndWait("Server Conf READ"); + try + { + Thread.Sleep(startTimerMs * 2); + DbConn.Open(); + Thread.Sleep(startTimerMs * 2); + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); + } + checkConnected(); + } + + private void checkConnected() + { + if (DbConn.State == System.Data.ConnectionState.Open) + { + lblStatus.Text = "CONNECTED"; + lblStatus.BackColor = Color.ForestGreen; + lblStatus.ForeColor = Color.Yellow; + btnConnect.Text = "close"; + lblServer.ForeColor = Color.Black; + displayTaskAndWait("DB Server CONNECTED"); + } + else + { + lblStatus.Text = "offline"; + lblStatus.BackColor = Color.DimGray; + lblStatus.ForeColor = Color.White; + btnConnect.Text = "open"; + lblServer.ForeColor = Color.DimGray; + lblServer.Text = string.Format("???{0}???", ServerType, ServerAddress); + displayTaskAndWait("ERROR connectimg to DB Server"); + } + } + /// /// Verifica finale a fine show... /// @@ -145,8 +219,12 @@ namespace MTC_ADB /// public void displayTaskAndWait(string txt2show) { - lblStatus.Text = txt2show; + toolStripStatusLabel1.Text = txt2show; lg.Info(txt2show); + // aggiorno componenti principali... + toolStripStatusLabel1.Invalidate(); + lblServer.Refresh(); + lblStatus.Refresh(); Thread.Sleep(startTimerMs); } @@ -736,6 +814,11 @@ namespace MTC_ADB /// determina se tentare di riconnettersi private void fermaTutto(bool stopTimer, bool tryRestart) { + Thread.Sleep(startTimerMs * 2); + // CHIUDO! + DbConn.Close(); + checkConnected(); + displayTaskAndWait("Arrested!"); #if false agObj.stopAdapter(tryRestart); // salvo! @@ -753,5 +836,33 @@ namespace MTC_ADB } #endif } + /// + /// toggle connessione... + /// + /// + /// + private void btnConnect_Click(object sender, EventArgs e) + { + // blocco button + btnConnect.Enabled = false; + btnConnect.Refresh(); + // processo + if (DbConn.State == System.Data.ConnectionState.Open) + { + lblStatus.Text = "...CLOSING..."; + lblStatus.BackColor = Color.Goldenrod; + displayTaskAndWait("Closing Connection"); + // CHIUDO! + fermaTutto(true, false); + } + else + { + // APRO! + loadServerConf(); + } + // sblocco button... + btnConnect.Enabled = true; + btnConnect.Refresh(); + } } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.resx b/MTC_Adapter/MTC-ADB/MainForm.resx index a504968..d7e06e9 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.resx +++ b/MTC_Adapter/MTC-ADB/MainForm.resx @@ -129,4 +129,29 @@ 246, 17 + + + + AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIy + MgA2NjYCKikqCikpKQQXFxcAAAALAQAAQwEAABIAAAAVAAAAIAEAAAMAAAAWAAICBAEUEAkBCwsxAAoH + AAAcGxsWCQkJgwcHB8EHBweeEBAQM9yvS4/ar1KVw6BSI96zVF/asFWYvpxRJuG7ZV/et2Chy6dWRua2 + TQDbqTo9W0UYvhUPBfQPDw6vCAgI5QcHB8fhr0Lp369G786kSkbhsUrF4bFL/82kSmnkuFug5LdX/9Ss + Vm/ovGAA1K5cYIVzUv9hWU3WTktHGx8fH0QXFxde2KE16dahOe3MnUBs2KM669qmPv/NnDuk2KlJptup + Rv/LnkNy4rRXAM+pW2GPfmH/fHVt1GxpZxiYmJg/Xl5eW8eQMenGkDPswI44pciSNerJlzzLxJE228iZ + RsbMmT//vpA8cdyqTgDQpFJinYNY/3FpZPRfX1+aQUFB2R8fH8OzfCrotYAx/LiHPPOzfi/GtoY6cLqI + Pfm/kUv6uYc5/66AOHLNmkkAwZNJY7uSUv+KdlnpNzc4wQsMDJ8ODg4zoGoo6KFqKP+ibCn/nmwslKZ2 + OCymczXmqHU2/6h1N/+fczqRn3NAgqh7Q7qsfUD/mmQj5IRQFKWFVyJVrkcAAJNfM9eVYjfulmQ76o9h + OVWhdksImWhAtJZkO++YaEDql2tFmp5vSN2aakLviVAi7YNHFu6ESBfzhVAkfaM/AACsiHIsm25TMYpW + Ny+CTzEMAAAAAJxwVSGKVjYwmm1SLpBjRh+XaUwqjlw9MIFJJjGDTCkxg0spMYFOLxeQSh4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA//8AAP//AAD//wAA//EAAABgAAAAQAAAAEAAAABAAAAAQAAAAEAAAAABAAAAAQAACAEAAP// + AAD//wAA//8AAA== + + \ No newline at end of file From 0d1ea0245a3b06098c2aee3cf6a39b8d705450be Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 17:38:57 +0200 Subject: [PATCH 12/29] continuo modifica mainForm --- MTC_Adapter/MTC-ADB/App.config | 2 + MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat | Bin 628 -> 9 bytes MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 6 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 3 +- MTC_Adapter/MTC-ADB/MainForm.cs | 351 ++++++++++--------- MTC_Adapter/MTC-ADB/dump/build.bat | 1 + MTC_Adapter/MTC-ADB/dump/dump.c | 184 ++++++++++ MTC_Adapter/MTC_Adapter/MainForm.cs | 1 + 8 files changed, 381 insertions(+), 167 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/dump/build.bat create mode 100644 MTC_Adapter/MTC-ADB/dump/dump.c diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index e06753c..bc8228d 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -14,6 +14,8 @@ + + diff --git a/MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat b/MTC_Adapter/MTC-ADB/DATA/DAT/PersistData.dat index ea7fd6225384719fc161dea78ccf7e487bb4ab57..6bab6dc850fcc7664a09c61bedf2116236f36171 100644 GIT binary patch literal 9 QcmeZq3=WC+bg?o301asZivR!s literal 628 QcmZQz7zLvtK;IAm00MLX0RR91 diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index aab1f06..9933cbe 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -66,6 +66,10 @@ + + + Always + Always @@ -87,6 +91,8 @@ Always + + Designer diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index 83af4b8..1d53aa1 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -276,8 +276,9 @@ this.btnStart.Name = "btnStart"; this.btnStart.Size = new System.Drawing.Size(76, 29); this.btnStart.TabIndex = 3; - this.btnStart.Text = "ADP start"; + this.btnStart.Text = "ADP START"; this.btnStart.UseVisualStyleBackColor = true; + this.btnStart.Click += new System.EventHandler(this.btnStart_Click); // // btnConnect // diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index b9c67e3..cb97daf 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -61,6 +61,30 @@ namespace MTC_ADB /// Oggetto connessione al DB /// protected DbConnection DbConn; + /// + /// testo della query da eseguire... + /// + protected string query = ""; + /// + /// ultimo ID letto + /// + protected int lastId = 0; + /// + /// determina se si debba tentare di riavviare la connessione a monte dell'adapter... + /// + protected bool adpTryRestart = false; + /// + /// semaforo adapter running + /// + protected bool adpRunning = false; + /// + /// semaforo salvataggio file + /// + protected bool adpSaving; + /// + /// Vettore di dati di persistenza (es ultimo ID letto) + /// + Dictionary persistenceLayer; /// /// oggetto logging @@ -74,22 +98,11 @@ namespace MTC_ADB InitializeComponent(); myInit(); } - + /// + /// inizializzazione specifica + /// private void myInit() { - label5.Text = "Loading"; - lastStartTry = DateTime.Now; - - // fix icon! - Icon = Icon.ExtractAssociatedIcon(defIconFilePath); - notifyIcon1.Icon = Icon.ExtractAssociatedIcon(defIconFilePath); - - // fix versione! - lblApp.Text = string.Format("{0}", ConfigurationManager.AppSettings.Get("appName")); - lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version); - - startTimerMs = utils.CRI("startTimerMs"); - #if DEBUG // Setup the logging view for Sentinel - http://sentinel.codeplex.com var sentinalTarget = new NLogViewerTarget() @@ -103,17 +116,33 @@ namespace MTC_ADB LogManager.Configuration.LoggingRules.Add(sentinalRule); #endif + // avvio logger... LogManager.ReconfigExistingLoggers(); - lg = LogManager.GetCurrentClassLogger(); + // inizio + setDefaults(); + displayTaskAndWait("Starting..."); + lastStartTry = DateTime.Now; + advProgBar(); + + // fix icon! + Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + notifyIcon1.Icon = Icon.ExtractAssociatedIcon(defIconFilePath); + + // fix versione! + lblApp.Text = string.Format("{0}", ConfigurationManager.AppSettings.Get("appName")); + lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version); + + startTimerMs = utils.CRI("startTimerMs"); + advProgBar(); + displayTaskAndWait("Starting MainForm"); createDbConn(); - loadServerConf(); + advProgBar(); - //loadPersistLayer(defPersLayerFile); - lg.Info("PersLayerFile READ"); - //agObj.loadPersData(); + loadPersistLayer(defPersLayerFile); + displayTaskAndWait("PersLayerFile READ"); lg.Info("PersLayerFile LOADED"); // Start timer periodico @@ -136,6 +165,13 @@ namespace MTC_ADB } displayTaskAndWait("Main Form OK"); + + // SE abilitato provo ad avviare... + if (utils.CRB("autoStartOnLoad")) + { + avviaAdapter(); + } + checkStarted(); } /// /// Inizializzazione oggetti connessione al DB... @@ -174,7 +210,9 @@ namespace MTC_ADB } checkConnected(); } - + /// + /// Verifica se il server sia connesso... + /// private void checkConnected() { if (DbConn.State == System.Data.ConnectionState.Open) @@ -184,6 +222,19 @@ namespace MTC_ADB lblStatus.ForeColor = Color.Yellow; btnConnect.Text = "close"; lblServer.ForeColor = Color.Black; + // recupero conteggio degli eventi... + query = "SELECT COUNT(id) AS num FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); + advProgBar(); + DbCommand qrycmd = DbConn.CreateCommand(); + qrycmd.CommandText = query; + qrycmd.Connection = DbConn; + DbDataReader reader = qrycmd.ExecuteReader(); + advProgBar(); + while (reader.Read()) + { + // aggiorno dati su labels... + lblNumData.Text = string.Format("{0} new data", reader["num"]); + } displayTaskAndWait("DB Server CONNECTED"); } else @@ -194,9 +245,30 @@ namespace MTC_ADB btnConnect.Text = "open"; lblServer.ForeColor = Color.DimGray; lblServer.Text = string.Format("???{0}???", ServerType, ServerAddress); + lblNumData.Text = "#"; displayTaskAndWait("ERROR connectimg to DB Server"); } } + /// + /// Verifica se l'adapter sia partito... + /// + private void checkStarted() + { + if (adpRunning) + { + + btnStart.Text = "ADP STOP"; + btnStart.ForeColor = Color.DarkRed; + displayTaskAndWait("ADP STARTED"); + } + else + { + + btnStart.Text = "ADP START"; + btnStart.ForeColor = Color.ForestGreen; + displayTaskAndWait("ADP STOPPED"); + } + } /// /// Verifica finale a fine show... @@ -225,9 +297,10 @@ namespace MTC_ADB toolStripStatusLabel1.Invalidate(); lblServer.Refresh(); lblStatus.Refresh(); + lblNumData.Refresh(); + advProgBar(); Thread.Sleep(startTimerMs); } - /// /// crea menù tray x applicazione /// @@ -245,8 +318,8 @@ namespace MTC_ADB { trayMenu.Items.Add("Close MTC-ADB"); } + advProgBar(); } - /// /// doppio click su tray icon /// @@ -331,14 +404,6 @@ namespace MTC_ADB } - - protected string defConfFilePath - { - get - { - return string.Format(@"{0}\{1}", utils.confDir, utils.CRS("defaultConfFile")); - } - } /// /// File persistenza generale /// @@ -356,69 +421,13 @@ namespace MTC_ADB return string.Format(@"{0}\MTCA.ico", utils.resxDir); } } - - /// - /// carica adapter richiesto - /// - private void loadAdapterType() - { -#if false - switch (tipoScelto) - { - case tipoAdapter.DEMO: - agObj = new AdapterDemo(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], true); - EnableTab(tabCtrlMain.TabPages[2], true); - start.Enabled = true; - break; - case tipoAdapter.ESAGV: - agObj = new AdapterESA(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], true); - EnableTab(tabCtrlMain.TabPages[2], false); - start.Enabled = true; - break; - case tipoAdapter.FANUC: - agObj = new AdapterFanuc(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], true); - EnableTab(tabCtrlMain.TabPages[2], false); - start.Enabled = true; - break; - case tipoAdapter.OSAI: - agObj = new AdapterOsai(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], true); - EnableTab(tabCtrlMain.TabPages[2], false); - start.Enabled = true; - break; - case tipoAdapter.SIEMENS: - agObj = new AdapterSiemens(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], true); - EnableTab(tabCtrlMain.TabPages[2], false); - start.Enabled = true; - break; - case tipoAdapter.ND: - default: - agObj = new AdapterDemo(this, adpConf); - EnableTab(tabCtrlMain.TabPages[1], false); - EnableTab(tabCtrlMain.TabPages[2], false); - start.Enabled = false; - break; - } - lblCurrAdapt.Text = string.Format("Adapter loaded: {0}", tipoScelto.ToString().ToUpper()); - - // carico i default values su interfaccia - setDefaults(); - - displayTaskAndWait(string.Format("Caricata conf per adapter {0}", tipoScelto)); -#endif - } - /// /// impostazione valori defaults /// private void setDefaults() { MainProgrBar.Minimum = 0; - MainProgrBar.Maximum = 1000; + MainProgrBar.Maximum = 100; MainProgrBar.Value = 0; MainProgrBar.Step = 1; } @@ -431,18 +440,32 @@ namespace MTC_ADB private void start_Click(object sender, EventArgs e) { avviaAdapter(); -#if false - agObj.loadPersData(); -#endif // salvo che ho avviato adapter - lg.Info("Completato LOAD Adapter"); + displayTaskAndWait("Completato LOAD Adapter"); } public void avviaAdapter() { + // avvio adapter vero e proprio... + adpRunning = true; displayTaskAndWait("Adapter starting"); + // disconnetto DB + closeDbConn(); + + // inizio con la connessione al DB + loadServerConf(); + advProgBar(); + + // SE abilitato provo ad avviare... + if (utils.CRB("openDumpOnStart")) + { + apriDumpAgent(); + } + + #if false + int porta = Convert.ToInt32(port.Text); agObj.startAdapter(porta); displayTaskAndWait("Adapter started!"); @@ -468,6 +491,7 @@ namespace MTC_ADB // forzo check allarmi.. agObj.forceAlarmCheck(); #endif + } /// @@ -492,13 +516,12 @@ namespace MTC_ADB private void gather_Tick(object sender, EventArgs e) { -#if false // eseguo cicli attivi SOLO se adapter è in EFFETTIVO running... - if (agObj.adpRunning) + if (adpRunning) { // inizio a riportare che sto eseguendo.. advProgBar(); - if (agObj.connectionOk) + if (DbConn.State== System.Data.ConnectionState.Open) { // check esecuzione FastTask checkFastTask(); @@ -512,11 +535,10 @@ namespace MTC_ADB else { double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; - if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) + if (adpTryRestart && currWait > utils.CRI("waitRecMSec")) { lastStartTry = DateTime.Now; - agObj.tryConnect(); - agObj.loadPersData(); + avviaAdapter(); } } // se è arrivato a MAX resetto... @@ -529,14 +551,12 @@ namespace MTC_ADB { // verifico SE debba tentare il riavvio, ovvero NON running ma tryReconn e non ho riprovato x oltre waitRecMSec double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; - if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) + if (adpTryRestart && currWait > utils.CRI("waitRecMSec")) { lastStartTry = DateTime.Now; avviaAdapter(); - agObj.loadPersData(); } } -#endif } public void resetProgBar() @@ -588,6 +608,9 @@ namespace MTC_ADB return string.Format(@"{0}\{1:yyyy}\{1:yyyy-MM-dd}.mtc", utils.dataDatDir, DateTime.Now); } } + + protected string Query { get => query; set => query = value; } + /// /// file persistenza generale data attuale ANTICIPATA di xx giorni /// @@ -640,6 +663,8 @@ namespace MTC_ADB try { MainProgrBar.PerformStep(); + if (MainProgrBar.Value >= MainProgrBar.Maximum) resetProgBar(); + MainProgrBar.Invalidate(); } catch { } @@ -663,11 +688,12 @@ namespace MTC_ADB #endif } - private void message_Leave(object sender, EventArgs e) - { - } - // apro eseguibile dump + /// + /// apro eseguibile dump + /// + /// + /// private void dump_Click(object sender, EventArgs e) { apriDumpAgent(); @@ -688,64 +714,23 @@ namespace MTC_ADB } } - - /// - /// Carica file XML della configurazione richiesta - /// - /// - private void loadXmlFile(string XmlConfFile) - { -#if false - displayTaskAndWait(string.Format("Loading XML: {0}", XmlConfFile)); - - // Read the configuration object from a file - adpConf = AdapterConf.Deserialize(XmlConfFile); - - // indico quale sia il tipo di adapter - tipoScelto = adpConf.TipoAdapt; - loadAdapterType(); - // carico file XML in web browser... - wbXmlConf.DocumentText = AdapterConf.rawXml(XmlConfFile); - displayTaskAndWait("XML loaded"); - - // avvio macchina con adapter specificato... - if (utils.CRB("autoStartOnLoad")) - { - displayTaskAndWait("Auto Starting..."); - // avvio! - avviaAdapter(); - displayTaskAndWait("Auto Started!"); - } -#endif - } - /// - /// salva su file l'oggetto AdapterConf - /// - /// - public void saveXmlFile(string XmlConfFile) - { -#if false - AdapterConf.Serialize(XmlConfFile, agObj.currAdpConf); -#endif - } /// /// Salva su file l'oggetto di persistenza dati /// /// public void savePersistLayer(string filePath) { -#if false // in primis check semaforo salvataggio... - if (!agObj.adpSaving) + if (!adpSaving) { // alzo semaforo salvataggio - agObj.adpSaving = true; + adpSaving = true; // se HO dei dati... - if (agObj.persistenceLayer != null) + if (persistenceLayer != null) { try { - utils.WritePlain(agObj.persistenceLayer, filePath); + utils.WritePlain(persistenceLayer, filePath); } catch (Exception exc) { @@ -757,9 +742,8 @@ namespace MTC_ADB lg.Info("persistenceLayer null, non salvato..."); } // abbasso semaforo salvataggio - agObj.adpSaving = false; - } -#endif + adpSaving = false; + } } /// /// Carica da file l'oggetto di persistenza dati @@ -767,13 +751,12 @@ namespace MTC_ADB /// public void loadPersistLayer(string filePath) { -#if false // inizializzo prima di leggere... - agObj.persistenceLayer = new Dictionary(); - agObj.persistenceLayer = utils.ReadPlain(filePath); + persistenceLayer = new Dictionary(); + persistenceLayer = utils.ReadPlain(filePath); // 2017.03.23 check problema files corrotti... - if (agObj.persistenceLayer.Count == 0) + if (persistenceLayer.Count == 0) { // se avesse letto un valore NON coerente (senza righe) PROVA a leggere a ritroso vecchi files... da histPersLayerFile e precedenti... int numDD = 0; @@ -792,9 +775,8 @@ namespace MTC_ADB numDD++; } // se sono uscito PROVO a passare il file storico letto buono (oppure vuoto...) - agObj.persistenceLayer = lastRead; - } -#endif + persistenceLayer = lastRead; + } } @@ -806,6 +788,7 @@ namespace MTC_ADB private void closeAdapter() { fermaTutto(true, false); + closeDbConn(); } /// /// Ferma tutti i componenti adapter + update buttons @@ -814,11 +797,6 @@ namespace MTC_ADB /// determina se tentare di riconnettersi private void fermaTutto(bool stopTimer, bool tryRestart) { - Thread.Sleep(startTimerMs * 2); - // CHIUDO! - DbConn.Close(); - checkConnected(); - displayTaskAndWait("Arrested!"); #if false agObj.stopAdapter(tryRestart); // salvo! @@ -835,6 +813,19 @@ namespace MTC_ADB agObj.tryDisconnect(); } #endif + displayTaskAndWait("Adapter Stopped"); + } + /// + /// Ferma componente DB + /// + private void closeDbConn() + { + Thread.Sleep(startTimerMs * 2); + // CHIUDO! + DbConn.Close(); + advProgBar(); + checkConnected(); + displayTaskAndWait("DB disconnected!"); } /// /// toggle connessione... @@ -846,14 +837,15 @@ namespace MTC_ADB // blocco button btnConnect.Enabled = false; btnConnect.Refresh(); + advProgBar(); // processo if (DbConn.State == System.Data.ConnectionState.Open) { lblStatus.Text = "...CLOSING..."; lblStatus.BackColor = Color.Goldenrod; - displayTaskAndWait("Closing Connection"); + displayTaskAndWait("Closing DB Connection"); // CHIUDO! - fermaTutto(true, false); + closeDbConn(); } else { @@ -863,6 +855,33 @@ namespace MTC_ADB // sblocco button... btnConnect.Enabled = true; btnConnect.Refresh(); + advProgBar(); + } + + private void btnStart_Click(object sender, EventArgs e) + { + // blocco button + btnStart.Enabled = false; + btnStart.Refresh(); + advProgBar(); + // processo + if (adpRunning) + { + adpRunning = false; + displayTaskAndWait("Stopping Adapter"); + // CHIUDO! + fermaTutto(true, false); + } + else + { + adpRunning = true; + displayTaskAndWait("Adapter Started"); + } + checkStarted(); + // sblocco button... + btnStart.Enabled = true; + btnStart.Refresh(); + advProgBar(); } } } diff --git a/MTC_Adapter/MTC-ADB/dump/build.bat b/MTC_Adapter/MTC-ADB/dump/build.bat new file mode 100644 index 0000000..afc9d95 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/dump/build.bat @@ -0,0 +1 @@ +cl dump.c ws2_32.lib \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/dump/dump.c b/MTC_Adapter/MTC-ADB/dump/dump.c new file mode 100644 index 0000000..cad2cef --- /dev/null +++ b/MTC_Adapter/MTC-ADB/dump/dump.c @@ -0,0 +1,184 @@ +#include +#ifdef _WIN32 +#include +#else +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#include +#include + +#define PORT 7878 +#define HOST "localhost" +#define BUFFER_SIZE 1024 + +#ifndef _WIN32 +#define SOCKET int +#define closesocket close +#endif + +void cleanup_and_exit(int ret) +{ +#ifdef _WIN32 + WSACleanup(); +#endif + exit(ret); +} + +void usage() +{ + fprintf(stderr, "Usage: dump [-t timeout] [host] [port] [file]\n host defaults to localhost\n port defaults to 7878\n file defaults to stdout\n"); + exit(0); +} + +int main(int argc, char **argv) +{ + char hostname[100]; + SOCKET sd; + struct sockaddr_in pin; + struct hostent *hp; + char buffer[BUFFER_SIZE]; + int port; + FILE *file; + char dump = 0; + char **argvp = argv; + time_t start = 0; + int remaining = 1, timeout = 0, nfds; + struct fd_set fds; + struct timeval tv, *tvp = 0; + +#ifdef _WIN32 + WSADATA wsaData; + if (WSAStartup(MAKEWORD(2,0), &wsaData) != 0) { + fprintf(stderr, "WSAStartup failed\n"); + cleanup_and_exit(1); + } +#endif + + if (argc > 1) { + if (strcmp(argv[1], "-h") == 0) { + usage(); + } else if (strcmp(argv[1], "-t") == 0) { + if (argc < 3) { + fprintf(stderr, "Missing timeout argument\n"); + usage(); + } + timeout = atoi(argv[2]); + argc -= 2; + argvp += 2; + } + } + + strcpy(hostname,HOST); + if (argc > 1) { + strcpy(hostname,argvp[1]); + } + + port = PORT; + if (argc > 2) { + port = atoi(argvp[2]); + } + + file = stdout; + if (argc > 3) { + file = fopen(argvp[3], "w"); + if (file == NULL) { + perror("fopen"); + fprintf(stderr, "Cannot open file %s\n", argv[3]); + exit(1); + } + dump = 1; + } + + /* go find out about the desired host machine */ + if ((hp = gethostbyname(hostname)) == (void*) 0) { + perror("gethostbyname"); + cleanup_and_exit(1); + } + + /* fill in the socket structure with host information */ + memset(&pin, 0, sizeof(pin)); + pin.sin_family = AF_INET; + memcpy(&pin.sin_addr.s_addr, hp->h_addr, hp->h_length); + pin.sin_port = htons(port); + + /* grab an Internet domain socket */ + if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { + perror("socket"); + cleanup_and_exit(1); + } + + /* connect to PORT on HOST */ + if (connect(sd,(struct sockaddr *) &pin, sizeof(pin)) == -1) { + perror("connect"); + cleanup_and_exit(1); + } + + if (dump) { + printf("Connected to %s port %d\n", hostname, port); + } + + /* wait for a message to come back from the server */ + if (timeout > 0) { + start = time(0); + remaining = timeout; + tv.tv_usec = 0; + tvp = &tv; + } +#ifdef _WIN32 + nfds = 1; +#else + nfds = sd + 1; +#endif + while (remaining > 0) { + int n; + + FD_ZERO(&fds); + FD_SET(sd, &fds); + tv.tv_sec = remaining; + n = select(nfds, &fds, (fd_set*) 0, (fd_set*) 0, tvp); + if (n < 0) { + closesocket(sd); + perror("recv"); + cleanup_and_exit(1); + } else if (n > 0) { + int count = recv(sd, buffer, BUFFER_SIZE, 0); + if (count == -1) { + closesocket(sd); + perror("recv"); + cleanup_and_exit(1); + } + if (count == 0) + break; + fwrite(buffer, 1, count, file); + if (dump) { + fputc('.', stdout); + fflush(stdout); + } + fflush(file); + } + + if (timeout > 0) { + time_t now = time(0); + remaining -= (int) (now - start); + start = now; + } + } + + if (dump) printf("\nFinished\n"); + + fclose(file); + closesocket(sd); +#ifdef _WIN32 + WSACleanup(); +#endif + + return 0; +} diff --git a/MTC_Adapter/MTC_Adapter/MainForm.cs b/MTC_Adapter/MTC_Adapter/MainForm.cs index dfc98fa..c84731b 100644 --- a/MTC_Adapter/MTC_Adapter/MainForm.cs +++ b/MTC_Adapter/MTC_Adapter/MainForm.cs @@ -680,6 +680,7 @@ namespace MTC_Adapter try { MainProgrBar.PerformStep(); + MainProgrBar.Invalidate(); } catch { } From 5b06ae397ee39e12bac6360623a219f09e87677d Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 18:02:21 +0200 Subject: [PATCH 13/29] iniziata integrazione AdapterGeneric (NON compila!!!) --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 1414 ++++++++++++++++++++++ MTC_Adapter/MTC-ADB/App.config | 5 +- MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 5 + MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 1 + MTC_Adapter/MTC-ADB/MainForm.cs | 54 +- MTC_Adapter/MTC-ADB/dump/dump.c | 2 +- 6 files changed, 1454 insertions(+), 27 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/AdapterGeneric.cs diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs new file mode 100644 index 0000000..6aaa4f3 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -0,0 +1,1414 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using NLog; +using MTC; + +namespace MTC_ADB +{ + using MTConnect; + using System.Configuration; + using System.Diagnostics; + using System.Globalization; + using System.IO; + using System.Threading; + using System.Windows.Forms; + + + public class AdapterGeneric + { + /// + /// wrapper di log + /// + public static Logger lg; + /// + /// valore booleano di check se sia in fase di COMUNICAZIONE ATTIVA con il DB + /// + protected bool adpCommAct; + /// + /// valore booleano di check se sia stato AVVIATO l'adapter (Running) + /// + public bool adpRunning = false; + /// + /// valore booleano di check se l'adapter STIA SALVANDO + /// + public bool adpSaving = false; + /// + /// valore booleano (richiesta di riavvio automatico) + /// + public bool adpTryRestart; + /// + /// porta x adapter (x restart) + /// + protected int adpPortNum; + /// + /// DataOra ultimo avvio adapter x watchdog + /// + protected DateTime adpStartRun; + /// + /// Data/ora ultimo avvio adapter + /// + public DateTime dtAvvioAdp = DateTime.Now; + /// + /// Data/ora ultimo spegnimento adapter + /// + public DateTime dtStopAdp = DateTime.Now; + /// + /// vettore gestione cronometraggi + /// + public DateTime inizio; + + /// + /// adapter globale + /// + public Adapter mAdapter = new Adapter(); + /// + /// Form chiamante + /// + protected MainForm parentForm; + + #region Events + + /// + /// D.D1.AVAIL - disponibilità + /// + public Event mAvail = new Event("AVAIL"); + + /// + /// Orologio + /// + public Sample mClock = new Sample("CLOCK"); + + /// + /// Stato protezioni (0/1, off/on) + /// + public Event mPowerVal = new Event("POWER_VALUE_01"); + + #endregion + + #region Messages + + public MTConnect.Message mMessage = new MTConnect.Message("MESSAGE"); + + #endregion + + + public event EventHandler eh_refreshed; + + /// + /// inizializzo l'oggetto + /// + /// + /// + public AdapterGeneric(MainForm caller) + { + lg = LogManager.GetCurrentClassLogger(); + lg.Info("Avvio AdapterGeneric"); + + + // salvo al form chiamante + parentForm = caller; + + // item disponibilità + mAdapter.AddDataItem(mAvail); + mAvail.Value = "AVAILABLE"; + mMessage.Value = ""; + + + // status, clock, emergency stop + mAdapter.AddDataItem(mClock); + mAdapter.AddDataItem(mPowerVal); + + + // messaggi ulteriori + mAdapter.AddDataItem(mMessage); + + + // concluso! + lg.Info("Istanziata classe AdapterGeneric"); + } + /// + /// Caricamento altri file necessari epr adapter all'avvio + /// + protected virtual void loadOtherFile() + { + + } + + #region metodi adapter + + public void loadPersData() + { + // nuova lettura valori da file persistenza... + contOreMaccOn = getStoredValDouble("ACC_TIME"); + contOreMaccLav = getStoredValDouble("ACC_TIME_WORK"); + + for (int i = 0; i < currAdpConf.nUnOp; i++) + { + contGiriElettrom[i] = getStoredValUInt(string.Format("UnOp_{0:00}_AccTime", i + 1)); + currNumCambiUt[i] = getStoredValUInt(string.Format("UnOp_{0:00}_NumCU", i + 1)); + } + + for (int i = 0; i < currAdpConf.nAxis; i++) + { + contDistMovAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_DistDone", i + 1)); + contNumInvAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_InvDDone", i + 1)); + contAccTimeAssi[i] = getStoredValDouble(string.Format("Axis_{0:00}_AccTime", i + 1)); + } + + for (int i = 0; i < currAdpConf.nVacuumPump; i++) + { + currVacPumpWrkTime[i] = getStoredValUInt(string.Format("VacPump_{0:00}_WrkTime", i + 1)); + } + + for (int i = 0; i < currAdpConf.nVacuumAct; i++) + { + currVacActCount[i] = getStoredValUInt(string.Format("VacAct_{0:00}_Count", i + 1)); + } + + for (int i = 0; i < currAdpConf.nLubro; i++) + { + currLubroCount[i] = getStoredValUInt(string.Format("Lubro_{0:00}_Count", i + 1)); + } + } + + /// + /// Avvia l'adapter sulla porta richiesta + /// + /// + public virtual void startAdapter(int port) + { + lg.Info("Starting adapter..."); + adpRunning = true; + dtAvvioAdp = DateTime.Now; + // inizializzo vettori di utility.. + loadAllarmi(); + loadSubMode(); + loadOtherFile(); + + // salvo porta! + mAdapter.Port = port; + adpPortNum = port; + // avvio! + mAdapter.Start(); + + // setto status a ON + mStatus.Value = "ON"; + + // resetto running flag... + adpCommAct = false; + + // carico valori da adapter x i conteggi + contOreMaccOn = currAdpConf.ContOreMaccOn; + contOreMaccLav = currAdpConf.ContOreMaccLav; + contGiriElettrom = new uint[currAdpConf.nUnOp]; + istGiriElettrom = new uint[currAdpConf.nUnOp]; + currNumCambiUt = new uint[currAdpConf.nUnOp]; + istNumCambiUt = new uint[currAdpConf.nUnOp]; + for (int i = 0; i < currAdpConf.nUnOp; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.UnOp[i].dataRefList; + // punto all'item + DataRefItem riContRpm = listaDR.Find(x => x.Key == string.Format("UnOp_{0:00}_AccTime", i + 1)); + DataRefItem riContNumCU = listaDR.Find(x => x.Key == string.Format("UnOp_{0:00}_NumCU", i + 1)); + // recupero valore giri... + UInt32 contTotGiri = Convert.ToUInt32(riContRpm.Value); + // recupero valore num cambi ut... + UInt32 contNumCU = Convert.ToUInt32(riContNumCU.Value); + // salvo valore letto + contGiriElettrom[i] = contTotGiri; + currNumCambiUt[i] = contNumCU; + } + // imposto num assi e leggo valori salvati... + contDistMovAssi = new double[currAdpConf.nAxis]; + istDistMovAssi = new double[currAdpConf.nAxis]; + contNumInvAssi = new uint[currAdpConf.nAxis]; + istAccTimeAssi = new double[currAdpConf.nAxis]; + contAccTimeAssi = new double[currAdpConf.nAxis]; + istNumInvAssi = new uint[currAdpConf.nAxis]; + lastChekAccumTimeAxis = DateTime.Now; + for (int i = 0; i < currAdpConf.nAxis; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.Axis[i].dataRefList; + // punto all'item + DataRefItem riContDist = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_DistDone", i + 1)); + DataRefItem riNumInv = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_Invers", i + 1)); + DataRefItem riAccTime = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_AccTime", i + 1)); + // recupero valori... + contDistMovAssi[i] = Convert.ToUInt32(riContDist.Value); + contNumInvAssi[i] = Convert.ToUInt32(riNumInv.Value); + contAccTimeAssi[i] = Convert.ToDouble(riAccTime.Value); + vettAxis[i].mAxAlarmCNC.Normal(); + vettAxis[i].mAxAlarmPLC.Normal(); + + } + currPathPartId = new string[currAdpConf.nPath]; + istPathPartId = new string[currAdpConf.nPath]; + currPathProgrName = new string[currAdpConf.nPath]; + istPathProgrName = new string[currAdpConf.nPath]; + currPathPartCount = new uint[currAdpConf.nPath]; + istPathPartCount = new uint[currAdpConf.nPath]; + for (int i = 0; i < currAdpConf.nPath; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.Path[i].dataRefList; + // punto all'item + DataRefItem riPathProgr = listaDR.Find(x => x.Key == string.Format("Path_{0:00}_PartId", i + 1)); + DataRefItem riPathPzTot = listaDR.Find(x => x.Key == string.Format("Path_{0:00}_PZ_TOT", i + 1)); + // recupero valori... + currPathPartId[i] = riPathProgr.Value; + currPathPartCount[i] = Convert.ToUInt32(riPathPzTot.Value); + currPathProgrName[i] = ""; + vettPath[i].mPathAlarmCNC.Normal(); + vettPath[i].mPathAlarmPLC.Normal(); + } + currVacPumpWrkTime = new uint[currAdpConf.nVacuumPump]; + istVacPumpWrkTime = new uint[currAdpConf.nVacuumPump]; + for (int i = 0; i < currAdpConf.nVacuumPump; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.VacuumPump[i].dataRefList; + // punto all'item + DataRefItem riVacPumpWrk = listaDR.Find(x => x.Key == string.Format("VacPump_{0:00}_WrkTime", i + 1)); + // recupero valori... + currVacPumpWrkTime[i] = Convert.ToUInt32(riVacPumpWrk.Value); + } + currVacActCount = new uint[currAdpConf.nVacuumAct]; + istVacActCount = new uint[currAdpConf.nVacuumAct]; + for (int i = 0; i < currAdpConf.nVacuumAct; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.VacuumAct[i].dataRefList; + // punto all'item + DataRefItem riVacActCount = listaDR.Find(x => x.Key == string.Format("VacAct_{0:00}_Count", i + 1)); + // recupero valori... + currVacActCount[i] = Convert.ToUInt32(riVacActCount.Value); + } + currLubroCount = new uint[currAdpConf.nLubro]; + istLubroCount = new uint[currAdpConf.nLubro]; + for (int i = 0; i < currAdpConf.nLubro; i++) + { + // leggo tutti i dati... + List> listaDR = currAdpConf.Lubro[i].dataRefList; + // punto all'item + DataRefItem riLubro = listaDR.Find(x => x.Key == string.Format("Lubro_{0:00}_Count", i + 1)); + // recupero valori... + currLubroCount[i] = Convert.ToUInt32(riLubro.Value); + } + + //mAlarmSystem.Normal(); + mAlarmCNC.Normal(); + mAlarmPLC.Normal(); + //mAlarmGeneral.Normal(); + adpTryRestart = true; + parentForm.displayTaskAndWait("Adapter Started!"); + } + /// + /// Effettua refresh del vettore privato degli allarmi attivi + /// + /// flag mask degli allarmi da aggiornare + /// boolean: se si debba tornare ACK + public virtual void refreshAlarmState(StFlag32 Alarm2Refresh, bool giveAck) + { + // carico lo stato di tutti gli allarmi... forzo a 1 il flag degli allarmi + } + + /// + /// ferma l'adapter... + /// + /// indica se si debba tentare di riavviare l'adapter (con caduta connessione viene fermato in automatico) + public void stopAdapter(bool tryRestart) + { + parentForm.displayTaskAndWait("Stopping adapter..."); + adpTryRestart = false; + mStatus.Value = "INACTIVE"; + // faccio una chiamata extra ad ogni metodo di check... + gaterAndSend(gatherCycle.HF); + gaterAndSend(gatherCycle.MF); + gaterAndSend(gatherCycle.LF); + gaterAndSend(gatherCycle.VLF); + parentForm.displayTaskAndWait("Stopping adapter - last periodic data read..."); + + // chiudo la connessione all'adapter... + tryDisconnect(); + // Stop everything... + try + { + mAdapter.Stop(); + } + catch (Exception exc) + { + lg.Error(exc, "Eccezione in chiusura Adapter"); + } + dtStopAdp = DateTime.Now; + adpPortNum = mAdapter.Port; + adpTryRestart = tryRestart; + adpRunning = false; + // chiudo! + parentForm.resetProgBar(); + parentForm.dataMonitor = "... not connected, waiting for data ..."; + parentForm.displayTaskAndWait("Adapter Stopped."); + } + + /// + /// effettua recupero dati ed invio valori modificati... + /// + /// + public void gaterAndSend(gatherCycle ciclo) + { + // controllo connessione/connettività + if (connectionOk) + { + // controllo non sia già in esecuzione... + if (!adpCommAct) + { + // provo ad avviare + try + { + // avvio fase raccolta dati + mAdapter.Begin(); + // imposto flag adapter running.. + adpCommAct = true; + adpStartRun = DateTime.Now; + } + catch (Exception exc) + { + parentForm.displayTaskAndWait(string.Format("Adapter NOT STARTED!!!{0}{1}", Environment.NewLine, exc)); + adpCommAct = false; + adpStartRun = DateTime.Now; + } + if (adpCommAct) + { + // try / catch generale altrimenti segno che è disconnesso... + try + { + // processing degli strobes di allarme (da ULTIMA rappresentazione vettore dell'ADP) + processAlarm(); + + // verifico se processare tutto "in un colpo solo" + if (procIotMem) + { + processAllMemory(); + // ciclo lento x log... + if (ciclo == gatherCycle.LF) + { + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); + } + } + // oppure in "modalità classica" con multistep... + else + { + // ciclo HF: recupero update status & strobes vari + if (ciclo == gatherCycle.HF) + { + // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti + getStrobeAndAckStatus(); + + // faccio refresh degli allarmi segnalati (da strobe su vettore locale) + refreshAlarmState(STRB_DW0, true); + // acquisizione degli status + processStatus(); + // processing degli strobes + processStrobe(); + } + else if (ciclo == gatherCycle.MF) + { + // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) + getGlobalData(); + getUnOp(); + getPath(); + getAxis(); + } + // ciclo lento + else if (ciclo == gatherCycle.LF) + { + // leggo EVENTUALI parametri da config file + getConfigParam(); + ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + getSlowChangingData(); + + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); + } + // ciclo lentissimo + else if (ciclo == gatherCycle.VLF) + { + lg.Info("Richiesta lettura completa allarmi attivi"); + // faccio comunque rilettura completa allarmi... + forceAlarmCheck(); + } + // processo e svuoto eventuali code di invio per Codici M/S/T + trySendCodMST(); + } + + // INVIO dati variati! + mAdapter.SendChanged(); + } + catch (Exception exc) + { + // segnalo eccezione e indico disconnesso... + lg.Error(exc, "Errore in gestione ciclo principale ADP, fermo adapter"); + parentForm.fermaAdapter(true); + } + // tolgo flag running + adpCommAct = false; + } + else + { + lg.Info("ADP not running..."); + } + } + else + { + // log ADP running + lg.Error("Non eseguo chiamata: ADP ancora in running"); + // se è bloccato da oltre maxSec lo sblocco... + if (DateTime.Now.Subtract(adpStartRun).TotalSeconds > utils.CRI("maxAdapterLockSec")) + { + // tolgo flag running + adpCommAct = false; + adpStartRun = DateTime.Now; + } + } + } + else + { + // log connessione KO + lg.Error("CicloMF - Connessione non disponibile, provo a riconnettere"); + // provo a riconnettere SE abilitato tryRestart... + if (adpTryRestart && !connectionOk) + { + //// aspetto un tempo di wait adatto + //Thread.Sleep(utils.CRI("waitRecMSec")); + tryConnect(); + } + } + if (eh_refreshed != null) + { + eh_refreshed(this, new EventArgs()); + } + } + /// + /// recupero dati globali (e comuni) + /// + public virtual void getGlobalData() + { + } + + /// + /// riporta il log di tutti i dati di results temporali registrati + /// + public void logTimeResults() + { + if (TimingData.results.Count > 0) + { + lg.Info("{0}--------------- START TIMING DATA ---------------", Environment.NewLine); + int globNumCall = 0; + TimeSpan globAvgMsec = new TimeSpan(0); + foreach (TimeRec item in TimingData.results) + { + lg.Info("Chiamate {0}: effettuate {1}, tempo medio {2:N2} msec", item.codCall, item.numCall, item.avgMsec); + globNumCall += item.numCall; + globAvgMsec += item.totMsec; + } + // riporto conteggio medio al secondo... + lg.Info("Chiamate GLOBALI: {0}, periodo: {1:N2} minuti.cent, tempo medio {2:N2} msec, impegno MEDIO del canale {3:P3}", globNumCall, DateTime.Now.Subtract(dtAvvioAdp).TotalMinutes, globAvgMsec.TotalMilliseconds / globNumCall, globAvgMsec.TotalSeconds / DateTime.Now.Subtract(dtAvvioAdp).TotalSeconds); + lg.Info("{0}--------------- STOP TIMING DATA ---------------{0}", Environment.NewLine); + } + } + + /// + /// verifico se ho dati M/S/T e li invio nel caso + /// + public virtual void trySendCodMST() + { + // !!!FARE!!! ciclo su + path + int idxPath = 1; + for (int i = 0; i < idxPath; i++) + { + // verifico SE ho codici M/S/T da inviare... + string codiceM = getNextMCode; + string codiceS = getNextSCode; + string codiceT = getNextTCode; + if (codiceM != "") + { + //vettPath[i].mPathCodM.Code = string.Format("[M{0}]", codiceM); + vettPath[i].mPathCodM.Value = string.Format("[M{0}]", codiceM); + //vettPath[i].mPathCodM.ForceChanged(); + mMessage.Code = string.Format("[M{0}]", codiceM); + mMessage.Value = string.Format("[M{0}]", codiceM); + } + if (codiceS != "") + { + vettPath[i].mPathCodS.Value = string.Format("[S{0}]", codiceS); + //vettPath[i].mPathCodS.ForceChanged(); + mMessage.Code = string.Format("[S{0}]", codiceS); + mMessage.Value = string.Format("[S{0}]", codiceS); + } + if (codiceT != "") + { + vettPath[i].mPathCodT.Value = string.Format("[T{0}]", codiceT); + //vettPath[i].mPathCodT.ForceChanged(); + mMessage.Code = string.Format("[T{0}]", codiceT); + mMessage.Value = string.Format("[T{0}]", codiceT); + } + } + } + /// + /// Metodo base connessione... + /// + public virtual void tryConnect() + { + + } + /// + /// Metodo base disconnessione... + /// + public virtual void tryDisconnect() + { + + } + protected bool _connOk = false; + /// + /// Salva verifica stato connessione OK + /// + /// + public virtual bool connectionOk + { + get + { + return _connOk; + } + set + { + _connOk = value; + } + } + + /// + /// effettua ogni log period una rilettura di TUTTI gli allarmi... + /// + public virtual void forceAlarmCheck() + { + // carico status allarmi (completo) + StFlag32 forceAlarm = (StFlag32)unchecked((int)UInt32.MaxValue); + try + { + refreshAlarmState(forceAlarm, false); + } + catch + { + lg.Error("Errore in fase di esecuzione di forceAlarmCheck"); + } + if (utils.CRB("recTime")) logTimeResults(); + } + /// + /// recupero dati PATH + /// + public virtual void getPath() + { + // SE presente recupero dati path + checkPath(); + + // dati BASE, ciclando su path + for (int i = 0; i < currAdpConf.nPath; i++) + { + vettPath[i].mPathFeed.Value = FeedRate; + vettPath[i].mPathFeedOver.Value = FeedRateOver; + vettPath[i].mPathRapidOver.Value = RapidOver; + } + } + /// + /// Recupero dati Unità Operatrici / Mandrini + /// + public virtual void getUnOp() + { + // cicl su UnOp + for (int i = 0; i < currAdpConf.nUnOp; i++) + { + vettUnOp[i].mUnOpSpeed.Value = SpeedRate; + vettUnOp[i].mUnOpSpeedOverr.Value = SpeedRateOver; + vettUnOp[i].mUnOpLoad.Value = UnOpLoad; + } + } + /// + /// recupero dati ASSI + /// + public virtual void getAxis() + { + + } + + + /// + /// verifica gli status attivi + /// + public virtual void processStatus() + { + // da gestire su ogni adapter... + } + /// + /// processo tutti gli strobe attivi + /// + public virtual void processStrobe() + { + // da gestire su ogni adapter... + } + /// + /// processo il vettore LOCALE degli allarmi + /// + public virtual void processAlarm() + { + if (AlarmFlags != null) + { + // variabili helper + StFlag32 AlarmBlock = 0; + allarme currAllarm; + // controllo TUTTI i bit della variabile COMPLETA degli status allarmi: se ce ne sono di alzati DEVO processare... + for (int i = 0; i < AlarmFlags.Length / 4; i++) + { + // leggo 32bit alla volta... + AlarmBlock = (StFlag32)BitConverter.ToUInt32(AlarmFlags, i * 4); + + for (int j = 0; j < 32; j++) + { + // converto! e aggiungo allarmi sollevati al corretto controller allarmi... + if (AlarmBlock.HasFlag((StFlag32)Math.Pow(2, j))) + { + // recupero allarme da oggetto in memoria... + currAllarm = elencoAllarmi[i * 32 + j]; + // in base al tipo di allarme decodifico condizione... + Condition.Level livello = Condition.Level.NORMAL; + switch (currAllarm.livello) + { + case "WARNING": + livello = Condition.Level.WARNING; + break; + case "FAULT": + default: + livello = Condition.Level.FAULT; + break; + } + // in base al gruppo decido dove assegnare come CONDITION... + switch (currAllarm.gruppo) + { + case "PLC": + mAlarmPLC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", ""); + break; + case "CNC": + default: + mAlarmCNC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", ""); + break; + } + } + } + } + } + } + /// + /// Classe fittizia in caso di processing GLOBALE di tutto in 1 solo colpo... + /// + public virtual void processAllMemory() + { } + /// + /// metodo di recupero dei dati di identificativo macchina - DA CONF!!! + /// + public virtual void getConfigParam() + { + + } + /// + /// dati "lenti" relativi al device + /// + public virtual void getSlowChangingData() + { + // dati da PC + mClock.Value = string.Format("{0:yyyy-MM-dd} {0:HH:mm:ss}", DateTime.Now); + // da gestire su ogni adapter... + } + /// + /// recupero di TUTTI gli strobes/status attivi + /// + public virtual void getStrobeAndAckStatus() + { + // da gestire su ogni adapter... legge tutto array STROBE!!! + } + + #endregion + + #region area metodi comunicazione con PLC/CNC + + public void checkPath() + { + } + + /// + /// FeedRate globale + /// + public int FeedRate { get; set; } + /// + /// SpeedRate mandrino globale + /// + public int SpeedRate { get; set; } + + /// + /// OVERRIDE FeedRate globale + /// + public int FeedRateOver { get; set; } + /// + /// OVERRIDE dei rapidi + /// + public int RapidOver { get; set; } + /// + /// OVERRIDE SpeedRate mandrino globale + /// + public int SpeedRateOver { get; set; } + /// + /// LOAD mandrino globale + /// + public int UnOpLoad { get; set; } + + + /// + /// recupera Vettore completo PosAct (fare override!) + /// + public virtual position PosAct + { + get + { + position answ = new position(); + return answ; + } + } + + /// + /// recupera pezzi OK (fare override!) + /// + public virtual int getNumPzOk + { + get + { + int answ = 0; + return answ; + } + } + /// + /// recupera pezzi KO (fare override!) + /// + public virtual int getNumPzKo + { + get + { + int answ = 0; + return answ; + } + } + + /// + /// Aggiunge nel vettore coda codici M + /// + /// + /// + public void appendCodeMST(string Coda, string Codice) + { + switch (Coda) + { + case "S": + codaS.Add(Codice); + break; + case "T": + codaT.Add(Codice); + break; + case "M": + default: + codaM.Add(Codice); + break; + } + } + + /// + /// recupera primo elemento codaM + /// + protected string getNextMCode + { + get + { + string answ = ""; + if (codaM.Count > 0) + { + // recupero codice M... + answ = codaM.First(); + // tolgo elemento + codaM.RemoveAt(0); + } + return answ; + } + } + /// + /// recupera primo elemento codaS + /// + protected string getNextSCode + { + get + { + string answ = ""; + if (codaS.Count > 0) + { + // recupero codice S... + answ = codaS.First(); + // tolgo elemento + codaS.RemoveAt(0); + } + return answ; + } + } + /// + /// recupera primo elemento codaT + /// + protected string getNextTCode + { + get + { + string answ = ""; + if (codaT.Count > 0) + { + // recupero codice T... + answ = codaT.First(); + // tolgo elemento + codaT.RemoveAt(0); + } + return answ; + } + } + + #endregion + + #region metodi che prevedono salvataggio valori su file XML/BIN + + /// + /// Processing delle ore macchina ACCESA + /// + /// + /// + public bool procOreMaccOn(bool needSave) + { + double delta = 0; + // controllo valore riferimento... + if (istOreMaccOn > contOreMaccOn) + { + delta = istOreMaccOn - contOreMaccOn; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + double contatore = updateValDoubleByIncr(0, delta, "ACC_TIME"); + currAdpConf.ContOreMaccOn += delta; + // salvo valore su persistent layer + mAccTime.Value = contatore.ToString("0.000", CultureInfo.InvariantCulture); + + // ...aggiorno valore riferimento... + contOreMaccOn = istOreMaccOn; + return needSave; + } + /// + /// Processing delle ore macchina IN LAVORO + /// + /// + /// + public bool procOreMaccLav(bool needSave) + { + double delta = 0; + // controllo valore riferimento... + if (istOreMaccLav > contOreMaccLav) + { + delta = istOreMaccLav - contOreMaccLav; + // segnalo necessità salvataggio! + needSave = true; + } + double contatore = updateValDoubleByIncr(0, delta, "ACC_TIME_WORK"); + currAdpConf.ContOreMaccLav += delta; + // salvo valore su persistent layer + mAccTimeWork.Value = contatore.ToString("0.000", CultureInfo.InvariantCulture); + + // ...aggiorno valore riferimento... + contOreMaccLav = istOreMaccLav; + return needSave; + } + /// + /// Processing del program nme + /// + /// + /// + public bool procProgrName(bool needSave) + { + // controllo valore riferimento x tutti i path se sia cambiato num pz... + for (int i = 0; i < currAdpConf.nPath; i++) + { + if (istPathProgrName[i] != null) + { + if (istPathProgrName[i] != currPathProgrName[i]) + { + // prendo nuovo valore programma x path! + vettPath[i].mPathCurrProg.Value = istPathProgrName[i]; + // segnalo necessità salvataggio! + needSave = true; + // ...aggiorno valore riferimento... + currPathProgrName[i] = istPathProgrName[i]; + } + } + } + return needSave; + } + /// + /// Processing del particolare + /// + /// + /// + public bool procPartId(bool needSave) + { + // controllo valore riferimento x tutti i path se sia cambiato num pz... + for (int i = 0; i < currAdpConf.nPath; i++) + { + if (istPathPartId[i] != null) + { + if (istPathPartId[i] != currPathPartId[i]) + { + // aggiorno valore in Path RefList + updateValString(i, istPathPartId[i], "Path_{0:00}_PartId"); + + // prendo nuovo valore programma x path! + vettPath[i].mPathPartId.Value = istPathPartId[i]; + // imposto a ZERO i pezzi del nuovo articolo + vettPath[i].mPathPartCount.Value = 0; + // segnalo necessità salvataggio! + needSave = true; + // ...aggiorno valore riferimento... + currPathPartId[i] = istPathPartId[i]; + } + } + } + return needSave; + } + /// + /// Processing del num pz prodotti + /// + /// + /// + public bool procPzProd(bool needSave) + { + // controllo valore riferimento x tutti i path se sia cambiato qta pezzi... + for (int i = 0; i < currAdpConf.nPath; i++) + { + // controllo valore riferimento variato... + if (istPathPartCount[i] != currPathPartCount[i]) + { + if (istPathPartCount[i] > currPathPartCount[i]) + { + uint delta = istPathPartCount[i] - currPathPartCount[i]; + //uint contatore = updatePathRefListByIncr(i, delta, "Path_{0:00}_PZ_TOT"); + uint contatore = updateValUIntByIncr(i, delta, "Path_{0:00}_PZ_TOT"); + // passo valore num pz all'adapter + vettPath[i].mPathPartCount.Value = contatore; + } + else // variato x difetto... azzero!!! + { + uint newVal = istPathPartCount[i]; + updateValUInt(i, newVal, "Path_{0:00}_PZ_TOT"); + // passo valore num pz all'adapter + vettPath[i].mPathPartCount.Value = newVal; + } + + // segnalo necessità salvataggio! + needSave = true; + // ...aggiorno valore riferimento... + currPathPartCount[i] = istPathPartCount[i]; + } + } + return needSave; + } + /// + /// Processing delle variabili sul numero giri mandrino (totali) + /// + /// + /// + public bool procGiriTotUnOp(bool needSave) + { + for (int i = 0; i < currAdpConf.nUnOp; i++) + { + uint delta = 0; + // controllo valore riferimento... + if (istGiriElettrom[i] > contGiriElettrom[i]) + { + delta = istGiriElettrom[i] - contGiriElettrom[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + uint contatore = updateValUIntByIncr(i, delta, "UnOp_{0:00}_AccTime"); + // passo valore num giri (migliaia) all'adapter + vettUnOp[i].mUnOpAccTime.Value = contatore; + // ...aggiorno valore riferimento... + contGiriElettrom[i] = istGiriElettrom[i]; + } + + return needSave; + } + /// + /// Processing delle variabili sul numero cambi utensile (totali) + /// + /// + /// + public bool procNumCU(bool needSave) + { + for (int i = 0; i < currAdpConf.nUnOp; i++) + { + uint delta = 0; + // controllo valore riferimento... + if (istNumCambiUt[i] > currNumCambiUt[i]) + { + delta = istNumCambiUt[i] - currNumCambiUt[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + uint contatore = updateValUIntByIncr(i, delta, "UnOp_{0:00}_NumCU"); + // passo valore num CU all'adapter + vettUnOp[i].mUnOpNumCU.Value = contatore; + // ...aggiorno valore riferimento... + currNumCambiUt[i] = istNumCambiUt[i]; + } + + return needSave; + } + /// + /// Processing delle variabili sul totale m percorsi dagli assi + /// + /// + /// + public bool procMovTotAssi(bool needSave) + { + for (int i = 0; i < currAdpConf.nAxis; i++) + { + double delta = 0; + // controllo valore riferimento... + if (istDistMovAssi[i] > contDistMovAssi[i]) + { + delta = istDistMovAssi[i] - contDistMovAssi[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + double contTot = updateValDoubleByIncr(i, delta, "Axis_{0:00}_DistDone"); + // passo valore totale all'adapter + vettAxis[i].mAxDistDone.Value = contTot.ToString("0.000", CultureInfo.InvariantCulture); + // ...aggiorno valore riferimento... + contDistMovAssi[i] = istDistMovAssi[i]; + } + + return needSave; + } + /// + /// Processing delle variabili sul totale tempo lavoro degli assi + /// + /// + /// + public bool procAccTimeAssi(bool needSave) + { + for (int i = 0; i < currAdpConf.nAxis; i++) + { + double delta = 0; + // controllo valore riferimento... + if (istAccTimeAssi[i] > contAccTimeAssi[i]) + { + delta = istAccTimeAssi[i] - contAccTimeAssi[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // salvo valore aggiuntivo x ore lavoro assi... + double oreTot = updateValDoubleByIncr(i, delta, "Axis_{0:00}_AccTime"); + vettAxis[i].mAxAccTime.Value = oreTot.ToString("0.000", CultureInfo.InvariantCulture); + // ...aggiorno valore riferimento... + contAccTimeAssi[i] = istAccTimeAssi[i]; + } + return needSave; + } + /// + /// Processing delle variabili sul totale num inversioni degli assi + /// + /// + /// + public bool procNumInvAssi(bool needSave) + { + for (int i = 0; i < currAdpConf.nAxis; i++) + { + long delta = 0; + // controllo valore riferimento... + if (istNumInvAssi[i] > contNumInvAssi[i]) + { + delta = istNumInvAssi[i] - contNumInvAssi[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + long contTot = updateValLongByIncr(i, delta, "Axis_{0:00}_InvDDone"); + // passo valore totale all'adapter + vettAxis[i].mAxInvDDone.Value = contTot; + // ...aggiorno valore riferimento... + contNumInvAssi[i] = istNumInvAssi[i]; + } + + return needSave; + } + /// + /// Processing delle variabili sulle VacPump + /// + /// + /// + public bool procVacPump(bool needSave) + { + for (int i = 0; i < currAdpConf.nVacuumPump; i++) + { + uint delta = 0; + // controllo valore riferimento... + if (istVacPumpWrkTime[i] > currVacPumpWrkTime[i]) + { + delta = istVacPumpWrkTime[i] - currVacPumpWrkTime[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + uint contTot = updateValUIntByIncr(i, delta, "VacPump_{0:00}_WrkTime"); + // passo valore totale all'adapter + vettVacPump[i].mVacPumpWrkTime.Value = contTot; + // ...aggiorno valore riferimento... + currVacPumpWrkTime[i] = istVacPumpWrkTime[i]; + } + return needSave; + } + /// + /// Processing delle variabili sulle VacAct + /// + /// + /// + public bool procVacAct(bool needSave) + { + for (int i = 0; i < currAdpConf.nVacuumAct; i++) + { + uint delta = 0; + // controllo valore riferimento... + if (istVacActCount[i] > currVacActCount[i]) + { + delta = istVacActCount[i] - currVacActCount[i]; + // segnalo necessità salvataggio! + needSave = true; + } + // processo comunque sempre... + uint contTot = updateValUIntByIncr(i, delta, "VacAct_{0:00}_Count"); + // passo valore totale all'adapter + vettVacAct[i].mVacActCount.Value = contTot; + // ...aggiorno valore riferimento... + currVacActCount[i] = istVacActCount[i]; + } + return needSave; + } + /// + /// Processing delle variabili sui componenti Lubro + /// + /// + /// + public bool procLubro(bool needSave) + { + for (int i = 0; i < currAdpConf.nLubro; i++) + { + uint delta = 0; + // controllo valore riferimento... + if (istLubroCount[i] > currLubroCount[i]) + { + delta = istLubroCount[i] - currLubroCount[i]; + // segnalo necessità salvataggio! + needSave = true; + } + //processo comunque sempre... + uint contTot = updateValUIntByIncr(i, delta, "Lubro_{0:00}_Count"); + // passo valore totale all'adapter + vettLubro[i].mLubroNum.Value = contTot; + // ...aggiorno valore riferimento... + currLubroCount[i] = istLubroCount[i]; + } + return needSave; + } + + #endregion + + #region layer persistenza dati + + /// + /// Dizionario di persistenza per i valori da salvare da/su file + /// + public Dictionary persistenceLayer; + + /// + /// recupera valore salvato in persistence layer (se non c'è crea...) + /// + /// + /// + private string getStoredVal(string keyVal) + { + string value = ""; + try + { + if (!persistenceLayer.TryGetValue(keyVal, out value)) + { + persistenceLayer.Add(keyVal, "0"); + } + } + catch + { } + return value; + } + /// + /// recupera valore salvato in persistence layer (se non c'è crea...) come UINT + /// + /// + /// + private uint getStoredValUInt(string keyVal) + { + uint answ = 0; + try + { + answ = Convert.ToUInt32(getStoredVal(keyVal)); + } + catch + { } + return answ; + } + /// + /// recupera valore salvato in persistence layer (se non c'è crea...) come INT + /// + /// + /// + private long getStoredValLong(string keyVal) + { + long answ = 0; + try + { + answ = Convert.ToInt64(getStoredVal(keyVal)); + } + catch + { } + return answ; + } + /// + /// recupera valore salvato in persistence layer (se non c'è crea...) come double + /// + /// + /// + private double getStoredValDouble(string keyVal) + { + double answ = 0; + try + { + answ = Convert.ToDouble(getStoredVal(keyVal)); + } + catch + { } + return answ; + } + + /// + /// Aggiorna un valore del dizionario in SOSTITUZIONE + /// + /// + /// + /// + /// Nuovo valore incrementato + private void updateValString(int i, string newVal, string searchString) + { + // stringa da cercare.. + string keyVal = string.Format(searchString, i + 1); + // salvo in ram! + persistenceLayer[keyVal] = newVal; + } + /// + /// Aggiorna un valore del dizionario in SOSTITUZIONE e lo restituisce + /// + /// + /// + /// + /// Nuovo valore incrementato + private void updateValUInt(int i, uint newVal, string searchString) + { + // stringa da cercare.. + string keyVal = string.Format(searchString, i + 1); + // salvo in ram! + persistenceLayer[keyVal] = newVal.ToString(); + } + /// + /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce + /// + /// + /// + /// + /// Nuovo valore incrementato + private uint updateValUIntByIncr(int i, uint delta, string searchString) + { + // stringa da cercare.. + string keyVal = string.Format(searchString, i + 1); + // recupero valore precedente... + uint contAct = getStoredValUInt(keyVal); + // nuovo valore... + contAct += delta; + // salvo in ram! + persistenceLayer[keyVal] = contAct.ToString(); + // rendo il valore! + return contAct; + } + /// + /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce + /// + /// + /// + /// + /// Nuovo valore incrementato + private long updateValLongByIncr(int i, long delta, string searchString) + { + // stringa da cercare.. + string keyVal = string.Format(searchString, i + 1); + // recupero valore precedente... + long contAct = getStoredValLong(keyVal); + // nuovo valore... + contAct += delta; + // salvo in ram! + persistenceLayer[keyVal] = contAct.ToString(); + // rendo il valore! + return contAct; + } + /// + /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce + /// + /// + /// + /// + /// Nuovo valore incrementato + private double updateValDoubleByIncr(int i, double delta, string searchString) + { + // stringa da cercare.. + string keyVal = string.Format(searchString, i + 1); + // recupero valore precedente... + double contAct = getStoredValDouble(keyVal); + // nuovo valore... + contAct += delta; + // salvo in ram! + persistenceLayer[keyVal] = contAct.ToString(); + // rendo il valore! + return contAct; + } + + #endregion + } +} diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index bc8228d..937fce6 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -5,10 +5,13 @@ + - + + + diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 9933cbe..627061b 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -34,6 +34,10 @@ 4 + + False + ExtLib\DotNetAdapterSDK.dll + ..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll @@ -57,6 +61,7 @@ VersGen.cs + Form diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index 1d53aa1..32d3045 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -141,6 +141,7 @@ // btnOpenDump // this.btnOpenDump.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnOpenDump.Enabled = false; this.btnOpenDump.Location = new System.Drawing.Point(383, 3); this.btnOpenDump.Name = "btnOpenDump"; this.btnOpenDump.Size = new System.Drawing.Size(76, 31); diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index cb97daf..ab633a6 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -25,14 +25,35 @@ namespace MTC_ADB { #region variabili ed oggetti globali + + /// + /// porta servizio MTC ADB + /// + protected int portMTC = 7879; + /// + /// Oggetto x gestione dell'adapter GENERICO (x poter usare metodi di ognuno...) + /// + AdapterGeneric agObj; /// /// timer base in avvio /// protected int startTimerMs = 250; /// + /// timer base (base moltiplica) + /// + protected int timerIntMs = 10; // di norma 10 msec x refresh... + /// + /// contatore fast + /// + protected int fastCount = 20; // di norma 200 msec x refresh... + /// /// contatore normale /// - protected int normCount = 5000; // di norma 5 sec x refresh... + protected int normCount = 50; // di norma 500 msec x refresh... + /// + /// contatore slow + /// + protected int slowCount = 500; // di norma 5 sec x refresh... /// /// ultimo tentativo riavvio... /// @@ -457,41 +478,24 @@ namespace MTC_ADB loadServerConf(); advProgBar(); - // SE abilitato provo ad avviare... - if (utils.CRB("openDumpOnStart")) - { - apriDumpAgent(); - } - - -#if false - - int porta = Convert.ToInt32(port.Text); - agObj.startAdapter(porta); + agObj = new AdapterGeneric(this, null); + agObj.startAdapter(portMTC); displayTaskAndWait("Adapter started!"); - - // fix buttons start/stop/dump - start.Enabled = false; - stop.Enabled = true; - dump.Enabled = true; + btnOpenDump.Enabled = true; if (utils.CRB("openDumpOnStart")) { displayTaskAndWait("Dump Window starting"); apriDumpAgent(); displayTaskAndWait("Dump Windows OK"); } - + displayTaskAndWait("Start Timers"); // inizializzo contatori fast/mid/slow fastCount = utils.CRI("fastCount"); normCount = utils.CRI("normCount"); slowCount = utils.CRI("slowCount"); - alarmSyncCount = utils.CRI("alarmSyncCount"); displayTaskAndWait("Adapter Running..."); - // forzo check allarmi.. - agObj.forceAlarmCheck(); -#endif - + } /// @@ -521,7 +525,7 @@ namespace MTC_ADB { // inizio a riportare che sto eseguendo.. advProgBar(); - if (DbConn.State== System.Data.ConnectionState.Open) + if (DbConn.State == System.Data.ConnectionState.Open) { // check esecuzione FastTask checkFastTask(); @@ -556,7 +560,7 @@ namespace MTC_ADB lastStartTry = DateTime.Now; avviaAdapter(); } - } + } } public void resetProgBar() diff --git a/MTC_Adapter/MTC-ADB/dump/dump.c b/MTC_Adapter/MTC-ADB/dump/dump.c index cad2cef..922133b 100644 --- a/MTC_Adapter/MTC-ADB/dump/dump.c +++ b/MTC_Adapter/MTC-ADB/dump/dump.c @@ -15,7 +15,7 @@ #include #include -#define PORT 7878 +#define PORT 7879 #define HOST "localhost" #define BUFFER_SIZE 1024 From 6a9025091fba5148ac023db5e027461d76acfe83 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 28 Mar 2017 18:14:29 +0200 Subject: [PATCH 14/29] ancora non compila, ma qualche passo avanti (10 errors...) --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 843 ++------------------------ MTC_Adapter/MTC-ADB/MainForm.cs | 4 - 2 files changed, 55 insertions(+), 792 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 6aaa4f3..879f676 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -44,6 +44,10 @@ namespace MTC_ADB /// protected int adpPortNum; /// + /// ultimo ID letto + /// + protected uint lastId = 0; + /// /// DataOra ultimo avvio adapter x watchdog /// protected DateTime adpStartRun; @@ -75,7 +79,10 @@ namespace MTC_ADB /// D.D1.AVAIL - disponibilità /// public Event mAvail = new Event("AVAIL"); - + /// + /// Status + /// + public Sample mStatus = new Sample("STATUS"); /// /// Orologio /// @@ -118,6 +125,7 @@ namespace MTC_ADB // status, clock, emergency stop + mAdapter.AddDataItem(mStatus); mAdapter.AddDataItem(mClock); mAdapter.AddDataItem(mPowerVal); @@ -136,42 +144,13 @@ namespace MTC_ADB { } - + #region metodi adapter public void loadPersData() { // nuova lettura valori da file persistenza... - contOreMaccOn = getStoredValDouble("ACC_TIME"); - contOreMaccLav = getStoredValDouble("ACC_TIME_WORK"); - - for (int i = 0; i < currAdpConf.nUnOp; i++) - { - contGiriElettrom[i] = getStoredValUInt(string.Format("UnOp_{0:00}_AccTime", i + 1)); - currNumCambiUt[i] = getStoredValUInt(string.Format("UnOp_{0:00}_NumCU", i + 1)); - } - - for (int i = 0; i < currAdpConf.nAxis; i++) - { - contDistMovAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_DistDone", i + 1)); - contNumInvAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_InvDDone", i + 1)); - contAccTimeAssi[i] = getStoredValDouble(string.Format("Axis_{0:00}_AccTime", i + 1)); - } - - for (int i = 0; i < currAdpConf.nVacuumPump; i++) - { - currVacPumpWrkTime[i] = getStoredValUInt(string.Format("VacPump_{0:00}_WrkTime", i + 1)); - } - - for (int i = 0; i < currAdpConf.nVacuumAct; i++) - { - currVacActCount[i] = getStoredValUInt(string.Format("VacAct_{0:00}_Count", i + 1)); - } - - for (int i = 0; i < currAdpConf.nLubro; i++) - { - currLubroCount[i] = getStoredValUInt(string.Format("Lubro_{0:00}_Count", i + 1)); - } + lastId = getStoredValUInt("LAST_ID"); } /// @@ -184,8 +163,6 @@ namespace MTC_ADB adpRunning = true; dtAvvioAdp = DateTime.Now; // inizializzo vettori di utility.. - loadAllarmi(); - loadSubMode(); loadOtherFile(); // salvo porta! @@ -200,122 +177,11 @@ namespace MTC_ADB // resetto running flag... adpCommAct = false; - // carico valori da adapter x i conteggi - contOreMaccOn = currAdpConf.ContOreMaccOn; - contOreMaccLav = currAdpConf.ContOreMaccLav; - contGiriElettrom = new uint[currAdpConf.nUnOp]; - istGiriElettrom = new uint[currAdpConf.nUnOp]; - currNumCambiUt = new uint[currAdpConf.nUnOp]; - istNumCambiUt = new uint[currAdpConf.nUnOp]; - for (int i = 0; i < currAdpConf.nUnOp; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.UnOp[i].dataRefList; - // punto all'item - DataRefItem riContRpm = listaDR.Find(x => x.Key == string.Format("UnOp_{0:00}_AccTime", i + 1)); - DataRefItem riContNumCU = listaDR.Find(x => x.Key == string.Format("UnOp_{0:00}_NumCU", i + 1)); - // recupero valore giri... - UInt32 contTotGiri = Convert.ToUInt32(riContRpm.Value); - // recupero valore num cambi ut... - UInt32 contNumCU = Convert.ToUInt32(riContNumCU.Value); - // salvo valore letto - contGiriElettrom[i] = contTotGiri; - currNumCambiUt[i] = contNumCU; - } - // imposto num assi e leggo valori salvati... - contDistMovAssi = new double[currAdpConf.nAxis]; - istDistMovAssi = new double[currAdpConf.nAxis]; - contNumInvAssi = new uint[currAdpConf.nAxis]; - istAccTimeAssi = new double[currAdpConf.nAxis]; - contAccTimeAssi = new double[currAdpConf.nAxis]; - istNumInvAssi = new uint[currAdpConf.nAxis]; - lastChekAccumTimeAxis = DateTime.Now; - for (int i = 0; i < currAdpConf.nAxis; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.Axis[i].dataRefList; - // punto all'item - DataRefItem riContDist = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_DistDone", i + 1)); - DataRefItem riNumInv = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_Invers", i + 1)); - DataRefItem riAccTime = listaDR.Find(x => x.Key == string.Format("Axis_{0:00}_AccTime", i + 1)); - // recupero valori... - contDistMovAssi[i] = Convert.ToUInt32(riContDist.Value); - contNumInvAssi[i] = Convert.ToUInt32(riNumInv.Value); - contAccTimeAssi[i] = Convert.ToDouble(riAccTime.Value); - vettAxis[i].mAxAlarmCNC.Normal(); - vettAxis[i].mAxAlarmPLC.Normal(); - } - currPathPartId = new string[currAdpConf.nPath]; - istPathPartId = new string[currAdpConf.nPath]; - currPathProgrName = new string[currAdpConf.nPath]; - istPathProgrName = new string[currAdpConf.nPath]; - currPathPartCount = new uint[currAdpConf.nPath]; - istPathPartCount = new uint[currAdpConf.nPath]; - for (int i = 0; i < currAdpConf.nPath; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.Path[i].dataRefList; - // punto all'item - DataRefItem riPathProgr = listaDR.Find(x => x.Key == string.Format("Path_{0:00}_PartId", i + 1)); - DataRefItem riPathPzTot = listaDR.Find(x => x.Key == string.Format("Path_{0:00}_PZ_TOT", i + 1)); - // recupero valori... - currPathPartId[i] = riPathProgr.Value; - currPathPartCount[i] = Convert.ToUInt32(riPathPzTot.Value); - currPathProgrName[i] = ""; - vettPath[i].mPathAlarmCNC.Normal(); - vettPath[i].mPathAlarmPLC.Normal(); - } - currVacPumpWrkTime = new uint[currAdpConf.nVacuumPump]; - istVacPumpWrkTime = new uint[currAdpConf.nVacuumPump]; - for (int i = 0; i < currAdpConf.nVacuumPump; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.VacuumPump[i].dataRefList; - // punto all'item - DataRefItem riVacPumpWrk = listaDR.Find(x => x.Key == string.Format("VacPump_{0:00}_WrkTime", i + 1)); - // recupero valori... - currVacPumpWrkTime[i] = Convert.ToUInt32(riVacPumpWrk.Value); - } - currVacActCount = new uint[currAdpConf.nVacuumAct]; - istVacActCount = new uint[currAdpConf.nVacuumAct]; - for (int i = 0; i < currAdpConf.nVacuumAct; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.VacuumAct[i].dataRefList; - // punto all'item - DataRefItem riVacActCount = listaDR.Find(x => x.Key == string.Format("VacAct_{0:00}_Count", i + 1)); - // recupero valori... - currVacActCount[i] = Convert.ToUInt32(riVacActCount.Value); - } - currLubroCount = new uint[currAdpConf.nLubro]; - istLubroCount = new uint[currAdpConf.nLubro]; - for (int i = 0; i < currAdpConf.nLubro; i++) - { - // leggo tutti i dati... - List> listaDR = currAdpConf.Lubro[i].dataRefList; - // punto all'item - DataRefItem riLubro = listaDR.Find(x => x.Key == string.Format("Lubro_{0:00}_Count", i + 1)); - // recupero valori... - currLubroCount[i] = Convert.ToUInt32(riLubro.Value); - } - - //mAlarmSystem.Normal(); - mAlarmCNC.Normal(); - mAlarmPLC.Normal(); //mAlarmGeneral.Normal(); adpTryRestart = true; parentForm.displayTaskAndWait("Adapter Started!"); } - /// - /// Effettua refresh del vettore privato degli allarmi attivi - /// - /// flag mask degli allarmi da aggiornare - /// boolean: se si debba tornare ACK - public virtual void refreshAlarmState(StFlag32 Alarm2Refresh, bool giveAck) - { - // carico lo stato di tutti gli allarmi... forzo a 1 il flag degli allarmi - } /// /// ferma l'adapter... @@ -350,7 +216,6 @@ namespace MTC_ADB adpRunning = false; // chiudo! parentForm.resetProgBar(); - parentForm.dataMonitor = "... not connected, waiting for data ..."; parentForm.displayTaskAndWait("Adapter Stopped."); } @@ -386,66 +251,46 @@ namespace MTC_ADB // try / catch generale altrimenti segno che è disconnesso... try { - // processing degli strobes di allarme (da ULTIMA rappresentazione vettore dell'ADP) - processAlarm(); - // verifico se processare tutto "in un colpo solo" - if (procIotMem) + // ciclo HF: recupero update status & strobes vari + if (ciclo == gatherCycle.HF) { - processAllMemory(); - // ciclo lento x log... - if (ciclo == gatherCycle.LF) - { - // eventuale log! - if (utils.CRB("recTime")) logTimeResults(); - } + // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti + getStrobeAndAckStatus(); + + // faccio refresh degli allarmi segnalati (da strobe su vettore locale) + refreshAlarmState(STRB_DW0, true); + // acquisizione degli status + processStatus(); + // processing degli strobes + processStrobe(); } - // oppure in "modalità classica" con multistep... - else + else if (ciclo == gatherCycle.MF) { - // ciclo HF: recupero update status & strobes vari - if (ciclo == gatherCycle.HF) - { - // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti - getStrobeAndAckStatus(); - - // faccio refresh degli allarmi segnalati (da strobe su vettore locale) - refreshAlarmState(STRB_DW0, true); - // acquisizione degli status - processStatus(); - // processing degli strobes - processStrobe(); - } - else if (ciclo == gatherCycle.MF) - { - // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) - getGlobalData(); - getUnOp(); - getPath(); - getAxis(); - } - // ciclo lento - else if (ciclo == gatherCycle.LF) - { - // leggo EVENTUALI parametri da config file - getConfigParam(); - ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) - getSlowChangingData(); - - // eventuale log! - if (utils.CRB("recTime")) logTimeResults(); - } - // ciclo lentissimo - else if (ciclo == gatherCycle.VLF) - { - lg.Info("Richiesta lettura completa allarmi attivi"); - // faccio comunque rilettura completa allarmi... - forceAlarmCheck(); - } - // processo e svuoto eventuali code di invio per Codici M/S/T - trySendCodMST(); + // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) + getGlobalData(); + getUnOp(); + getPath(); + getAxis(); } + // ciclo lento + else if (ciclo == gatherCycle.LF) + { + // leggo EVENTUALI parametri da config file + getConfigParam(); + ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + getSlowChangingData(); + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); + } + // ciclo lentissimo + else if (ciclo == gatherCycle.VLF) + { + lg.Info("Richiesta lettura completa allarmi attivi"); + // faccio comunque rilettura completa allarmi... + forceAlarmCheck(); + } // INVIO dati variati! mAdapter.SendChanged(); } @@ -522,43 +367,7 @@ namespace MTC_ADB } } - /// - /// verifico se ho dati M/S/T e li invio nel caso - /// - public virtual void trySendCodMST() - { - // !!!FARE!!! ciclo su + path - int idxPath = 1; - for (int i = 0; i < idxPath; i++) - { - // verifico SE ho codici M/S/T da inviare... - string codiceM = getNextMCode; - string codiceS = getNextSCode; - string codiceT = getNextTCode; - if (codiceM != "") - { - //vettPath[i].mPathCodM.Code = string.Format("[M{0}]", codiceM); - vettPath[i].mPathCodM.Value = string.Format("[M{0}]", codiceM); - //vettPath[i].mPathCodM.ForceChanged(); - mMessage.Code = string.Format("[M{0}]", codiceM); - mMessage.Value = string.Format("[M{0}]", codiceM); - } - if (codiceS != "") - { - vettPath[i].mPathCodS.Value = string.Format("[S{0}]", codiceS); - //vettPath[i].mPathCodS.ForceChanged(); - mMessage.Code = string.Format("[S{0}]", codiceS); - mMessage.Value = string.Format("[S{0}]", codiceS); - } - if (codiceT != "") - { - vettPath[i].mPathCodT.Value = string.Format("[T{0}]", codiceT); - //vettPath[i].mPathCodT.ForceChanged(); - mMessage.Code = string.Format("[T{0}]", codiceT); - mMessage.Value = string.Format("[T{0}]", codiceT); - } - } - } + /// /// Metodo base connessione... /// @@ -590,60 +399,7 @@ namespace MTC_ADB } } - /// - /// effettua ogni log period una rilettura di TUTTI gli allarmi... - /// - public virtual void forceAlarmCheck() - { - // carico status allarmi (completo) - StFlag32 forceAlarm = (StFlag32)unchecked((int)UInt32.MaxValue); - try - { - refreshAlarmState(forceAlarm, false); - } - catch - { - lg.Error("Errore in fase di esecuzione di forceAlarmCheck"); - } - if (utils.CRB("recTime")) logTimeResults(); - } - /// - /// recupero dati PATH - /// - public virtual void getPath() - { - // SE presente recupero dati path - checkPath(); - - // dati BASE, ciclando su path - for (int i = 0; i < currAdpConf.nPath; i++) - { - vettPath[i].mPathFeed.Value = FeedRate; - vettPath[i].mPathFeedOver.Value = FeedRateOver; - vettPath[i].mPathRapidOver.Value = RapidOver; - } - } - /// - /// Recupero dati Unità Operatrici / Mandrini - /// - public virtual void getUnOp() - { - // cicl su UnOp - for (int i = 0; i < currAdpConf.nUnOp; i++) - { - vettUnOp[i].mUnOpSpeed.Value = SpeedRate; - vettUnOp[i].mUnOpSpeedOverr.Value = SpeedRateOver; - vettUnOp[i].mUnOpLoad.Value = UnOpLoad; - } - } - /// - /// recupero dati ASSI - /// - public virtual void getAxis() - { - - } - + /// /// verifica gli status attivi @@ -652,69 +408,8 @@ namespace MTC_ADB { // da gestire su ogni adapter... } - /// - /// processo tutti gli strobe attivi - /// - public virtual void processStrobe() - { - // da gestire su ogni adapter... - } - /// - /// processo il vettore LOCALE degli allarmi - /// - public virtual void processAlarm() - { - if (AlarmFlags != null) - { - // variabili helper - StFlag32 AlarmBlock = 0; - allarme currAllarm; - // controllo TUTTI i bit della variabile COMPLETA degli status allarmi: se ce ne sono di alzati DEVO processare... - for (int i = 0; i < AlarmFlags.Length / 4; i++) - { - // leggo 32bit alla volta... - AlarmBlock = (StFlag32)BitConverter.ToUInt32(AlarmFlags, i * 4); - - for (int j = 0; j < 32; j++) - { - // converto! e aggiungo allarmi sollevati al corretto controller allarmi... - if (AlarmBlock.HasFlag((StFlag32)Math.Pow(2, j))) - { - // recupero allarme da oggetto in memoria... - currAllarm = elencoAllarmi[i * 32 + j]; - // in base al tipo di allarme decodifico condizione... - Condition.Level livello = Condition.Level.NORMAL; - switch (currAllarm.livello) - { - case "WARNING": - livello = Condition.Level.WARNING; - break; - case "FAULT": - default: - livello = Condition.Level.FAULT; - break; - } - // in base al gruppo decido dove assegnare come CONDITION... - switch (currAllarm.gruppo) - { - case "PLC": - mAlarmPLC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", ""); - break; - case "CNC": - default: - mAlarmCNC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", ""); - break; - } - } - } - } - } - } - /// - /// Classe fittizia in caso di processing GLOBALE di tutto in 1 solo colpo... - /// - public virtual void processAllMemory() - { } + + /// /// metodo di recupero dei dati di identificativo macchina - DA CONF!!! /// @@ -731,84 +426,13 @@ namespace MTC_ADB mClock.Value = string.Format("{0:yyyy-MM-dd} {0:HH:mm:ss}", DateTime.Now); // da gestire su ogni adapter... } - /// - /// recupero di TUTTI gli strobes/status attivi - /// - public virtual void getStrobeAndAckStatus() - { - // da gestire su ogni adapter... legge tutto array STROBE!!! - } + #endregion - #region area metodi comunicazione con PLC/CNC - - public void checkPath() - { - } - - /// - /// FeedRate globale - /// - public int FeedRate { get; set; } - /// - /// SpeedRate mandrino globale - /// - public int SpeedRate { get; set; } - - /// - /// OVERRIDE FeedRate globale - /// - public int FeedRateOver { get; set; } - /// - /// OVERRIDE dei rapidi - /// - public int RapidOver { get; set; } - /// - /// OVERRIDE SpeedRate mandrino globale - /// - public int SpeedRateOver { get; set; } - /// - /// LOAD mandrino globale - /// - public int UnOpLoad { get; set; } - - - /// - /// recupera Vettore completo PosAct (fare override!) - /// - public virtual position PosAct - { - get - { - position answ = new position(); - return answ; - } - } - - /// - /// recupera pezzi OK (fare override!) - /// - public virtual int getNumPzOk - { - get - { - int answ = 0; - return answ; - } - } - /// - /// recupera pezzi KO (fare override!) - /// - public virtual int getNumPzKo - { - get - { - int answ = 0; - return answ; - } - } - + + // vedere SE sia possibile usare coda x elenco valori POWER... +#if false /// /// Aggiunge nel vettore coda codici M /// @@ -884,366 +508,9 @@ namespace MTC_ADB } return answ; } - } + } +#endif - #endregion - - #region metodi che prevedono salvataggio valori su file XML/BIN - - /// - /// Processing delle ore macchina ACCESA - /// - /// - /// - public bool procOreMaccOn(bool needSave) - { - double delta = 0; - // controllo valore riferimento... - if (istOreMaccOn > contOreMaccOn) - { - delta = istOreMaccOn - contOreMaccOn; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - double contatore = updateValDoubleByIncr(0, delta, "ACC_TIME"); - currAdpConf.ContOreMaccOn += delta; - // salvo valore su persistent layer - mAccTime.Value = contatore.ToString("0.000", CultureInfo.InvariantCulture); - - // ...aggiorno valore riferimento... - contOreMaccOn = istOreMaccOn; - return needSave; - } - /// - /// Processing delle ore macchina IN LAVORO - /// - /// - /// - public bool procOreMaccLav(bool needSave) - { - double delta = 0; - // controllo valore riferimento... - if (istOreMaccLav > contOreMaccLav) - { - delta = istOreMaccLav - contOreMaccLav; - // segnalo necessità salvataggio! - needSave = true; - } - double contatore = updateValDoubleByIncr(0, delta, "ACC_TIME_WORK"); - currAdpConf.ContOreMaccLav += delta; - // salvo valore su persistent layer - mAccTimeWork.Value = contatore.ToString("0.000", CultureInfo.InvariantCulture); - - // ...aggiorno valore riferimento... - contOreMaccLav = istOreMaccLav; - return needSave; - } - /// - /// Processing del program nme - /// - /// - /// - public bool procProgrName(bool needSave) - { - // controllo valore riferimento x tutti i path se sia cambiato num pz... - for (int i = 0; i < currAdpConf.nPath; i++) - { - if (istPathProgrName[i] != null) - { - if (istPathProgrName[i] != currPathProgrName[i]) - { - // prendo nuovo valore programma x path! - vettPath[i].mPathCurrProg.Value = istPathProgrName[i]; - // segnalo necessità salvataggio! - needSave = true; - // ...aggiorno valore riferimento... - currPathProgrName[i] = istPathProgrName[i]; - } - } - } - return needSave; - } - /// - /// Processing del particolare - /// - /// - /// - public bool procPartId(bool needSave) - { - // controllo valore riferimento x tutti i path se sia cambiato num pz... - for (int i = 0; i < currAdpConf.nPath; i++) - { - if (istPathPartId[i] != null) - { - if (istPathPartId[i] != currPathPartId[i]) - { - // aggiorno valore in Path RefList - updateValString(i, istPathPartId[i], "Path_{0:00}_PartId"); - - // prendo nuovo valore programma x path! - vettPath[i].mPathPartId.Value = istPathPartId[i]; - // imposto a ZERO i pezzi del nuovo articolo - vettPath[i].mPathPartCount.Value = 0; - // segnalo necessità salvataggio! - needSave = true; - // ...aggiorno valore riferimento... - currPathPartId[i] = istPathPartId[i]; - } - } - } - return needSave; - } - /// - /// Processing del num pz prodotti - /// - /// - /// - public bool procPzProd(bool needSave) - { - // controllo valore riferimento x tutti i path se sia cambiato qta pezzi... - for (int i = 0; i < currAdpConf.nPath; i++) - { - // controllo valore riferimento variato... - if (istPathPartCount[i] != currPathPartCount[i]) - { - if (istPathPartCount[i] > currPathPartCount[i]) - { - uint delta = istPathPartCount[i] - currPathPartCount[i]; - //uint contatore = updatePathRefListByIncr(i, delta, "Path_{0:00}_PZ_TOT"); - uint contatore = updateValUIntByIncr(i, delta, "Path_{0:00}_PZ_TOT"); - // passo valore num pz all'adapter - vettPath[i].mPathPartCount.Value = contatore; - } - else // variato x difetto... azzero!!! - { - uint newVal = istPathPartCount[i]; - updateValUInt(i, newVal, "Path_{0:00}_PZ_TOT"); - // passo valore num pz all'adapter - vettPath[i].mPathPartCount.Value = newVal; - } - - // segnalo necessità salvataggio! - needSave = true; - // ...aggiorno valore riferimento... - currPathPartCount[i] = istPathPartCount[i]; - } - } - return needSave; - } - /// - /// Processing delle variabili sul numero giri mandrino (totali) - /// - /// - /// - public bool procGiriTotUnOp(bool needSave) - { - for (int i = 0; i < currAdpConf.nUnOp; i++) - { - uint delta = 0; - // controllo valore riferimento... - if (istGiriElettrom[i] > contGiriElettrom[i]) - { - delta = istGiriElettrom[i] - contGiriElettrom[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - uint contatore = updateValUIntByIncr(i, delta, "UnOp_{0:00}_AccTime"); - // passo valore num giri (migliaia) all'adapter - vettUnOp[i].mUnOpAccTime.Value = contatore; - // ...aggiorno valore riferimento... - contGiriElettrom[i] = istGiriElettrom[i]; - } - - return needSave; - } - /// - /// Processing delle variabili sul numero cambi utensile (totali) - /// - /// - /// - public bool procNumCU(bool needSave) - { - for (int i = 0; i < currAdpConf.nUnOp; i++) - { - uint delta = 0; - // controllo valore riferimento... - if (istNumCambiUt[i] > currNumCambiUt[i]) - { - delta = istNumCambiUt[i] - currNumCambiUt[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - uint contatore = updateValUIntByIncr(i, delta, "UnOp_{0:00}_NumCU"); - // passo valore num CU all'adapter - vettUnOp[i].mUnOpNumCU.Value = contatore; - // ...aggiorno valore riferimento... - currNumCambiUt[i] = istNumCambiUt[i]; - } - - return needSave; - } - /// - /// Processing delle variabili sul totale m percorsi dagli assi - /// - /// - /// - public bool procMovTotAssi(bool needSave) - { - for (int i = 0; i < currAdpConf.nAxis; i++) - { - double delta = 0; - // controllo valore riferimento... - if (istDistMovAssi[i] > contDistMovAssi[i]) - { - delta = istDistMovAssi[i] - contDistMovAssi[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - double contTot = updateValDoubleByIncr(i, delta, "Axis_{0:00}_DistDone"); - // passo valore totale all'adapter - vettAxis[i].mAxDistDone.Value = contTot.ToString("0.000", CultureInfo.InvariantCulture); - // ...aggiorno valore riferimento... - contDistMovAssi[i] = istDistMovAssi[i]; - } - - return needSave; - } - /// - /// Processing delle variabili sul totale tempo lavoro degli assi - /// - /// - /// - public bool procAccTimeAssi(bool needSave) - { - for (int i = 0; i < currAdpConf.nAxis; i++) - { - double delta = 0; - // controllo valore riferimento... - if (istAccTimeAssi[i] > contAccTimeAssi[i]) - { - delta = istAccTimeAssi[i] - contAccTimeAssi[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // salvo valore aggiuntivo x ore lavoro assi... - double oreTot = updateValDoubleByIncr(i, delta, "Axis_{0:00}_AccTime"); - vettAxis[i].mAxAccTime.Value = oreTot.ToString("0.000", CultureInfo.InvariantCulture); - // ...aggiorno valore riferimento... - contAccTimeAssi[i] = istAccTimeAssi[i]; - } - return needSave; - } - /// - /// Processing delle variabili sul totale num inversioni degli assi - /// - /// - /// - public bool procNumInvAssi(bool needSave) - { - for (int i = 0; i < currAdpConf.nAxis; i++) - { - long delta = 0; - // controllo valore riferimento... - if (istNumInvAssi[i] > contNumInvAssi[i]) - { - delta = istNumInvAssi[i] - contNumInvAssi[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - long contTot = updateValLongByIncr(i, delta, "Axis_{0:00}_InvDDone"); - // passo valore totale all'adapter - vettAxis[i].mAxInvDDone.Value = contTot; - // ...aggiorno valore riferimento... - contNumInvAssi[i] = istNumInvAssi[i]; - } - - return needSave; - } - /// - /// Processing delle variabili sulle VacPump - /// - /// - /// - public bool procVacPump(bool needSave) - { - for (int i = 0; i < currAdpConf.nVacuumPump; i++) - { - uint delta = 0; - // controllo valore riferimento... - if (istVacPumpWrkTime[i] > currVacPumpWrkTime[i]) - { - delta = istVacPumpWrkTime[i] - currVacPumpWrkTime[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - uint contTot = updateValUIntByIncr(i, delta, "VacPump_{0:00}_WrkTime"); - // passo valore totale all'adapter - vettVacPump[i].mVacPumpWrkTime.Value = contTot; - // ...aggiorno valore riferimento... - currVacPumpWrkTime[i] = istVacPumpWrkTime[i]; - } - return needSave; - } - /// - /// Processing delle variabili sulle VacAct - /// - /// - /// - public bool procVacAct(bool needSave) - { - for (int i = 0; i < currAdpConf.nVacuumAct; i++) - { - uint delta = 0; - // controllo valore riferimento... - if (istVacActCount[i] > currVacActCount[i]) - { - delta = istVacActCount[i] - currVacActCount[i]; - // segnalo necessità salvataggio! - needSave = true; - } - // processo comunque sempre... - uint contTot = updateValUIntByIncr(i, delta, "VacAct_{0:00}_Count"); - // passo valore totale all'adapter - vettVacAct[i].mVacActCount.Value = contTot; - // ...aggiorno valore riferimento... - currVacActCount[i] = istVacActCount[i]; - } - return needSave; - } - /// - /// Processing delle variabili sui componenti Lubro - /// - /// - /// - public bool procLubro(bool needSave) - { - for (int i = 0; i < currAdpConf.nLubro; i++) - { - uint delta = 0; - // controllo valore riferimento... - if (istLubroCount[i] > currLubroCount[i]) - { - delta = istLubroCount[i] - currLubroCount[i]; - // segnalo necessità salvataggio! - needSave = true; - } - //processo comunque sempre... - uint contTot = updateValUIntByIncr(i, delta, "Lubro_{0:00}_Count"); - // passo valore totale all'adapter - vettLubro[i].mLubroNum.Value = contTot; - // ...aggiorno valore riferimento... - currLubroCount[i] = istLubroCount[i]; - } - return needSave; - } - - #endregion #region layer persistenza dati diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index ab633a6..532139f 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -87,10 +87,6 @@ namespace MTC_ADB /// protected string query = ""; /// - /// ultimo ID letto - /// - protected int lastId = 0; - /// /// determina se si debba tentare di riavviare la connessione a monte dell'adapter... /// protected bool adpTryRestart = false; From 3c4467147515bb859046d5851cb93890ac902373 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 11:08:05 +0200 Subject: [PATCH 15/29] continuo spostamento su adapter delle classi... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 256 +++++++++++--------------- MTC_Adapter/MTC-ADB/App.config | 11 +- MTC_Adapter/MTC-ADB/MainForm.cs | 50 ++--- MTC_Adapter/MTC/baseUtils.cs | 12 +- 4 files changed, 138 insertions(+), 191 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 879f676..7189be5 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -10,6 +10,7 @@ namespace MTC_ADB { using MTConnect; using System.Configuration; + using System.Data.Common; using System.Diagnostics; using System.Globalization; using System.IO; @@ -73,31 +74,80 @@ namespace MTC_ADB /// protected MainForm parentForm; - #region Events /// - /// D.D1.AVAIL - disponibilità + /// Tipo server DB + /// + protected string ServerType = "ND"; + /// + /// Indirizzo server DB + /// + protected string ServerAddress = ""; + /// + /// Nome DB + /// + protected string DbName = ""; + /// + /// User connessione + /// + protected string DbUser = ""; + /// + /// Pwd connessione + /// + protected string DbPwd = ""; + /// + /// Oggetto connessione al DB + /// + protected DbConnection DbConn; + /// + /// testo della query da eseguire... + /// + protected string query = ""; + + + /// + /// Singola istanza valore tipo DbTimeseries + /// + public class DbTS + { + /// + /// Vettore della serie storica + /// + public TimeSeries mTimeSeries; + /// + /// Classe gestione dati POWER + /// + /// Nome (univoco) variabile da pubblicare + /// samplerate della variabile + public DbTS(string ident, double sampleRate) + { + mTimeSeries = new TimeSeries(ident, sampleRate); + } + } + + #region DataItems Globali + + /// + /// Disponibilità (del DB) /// public Event mAvail = new Event("AVAIL"); /// - /// Status + /// Status (ADP Running = ON / stopped INACTIVE) /// - public Sample mStatus = new Sample("STATUS"); + public Event mStatus = new Event("STATUS"); /// /// Orologio /// public Sample mClock = new Sample("CLOCK"); + /// + /// Messaggi (generico) + /// + public MTConnect.Message mMessage = new MTConnect.Message("MESSAGE"); /// - /// Stato protezioni (0/1, off/on) + /// vettore dati da lettura DB /// - public Event mPowerVal = new Event("POWER_VALUE_01"); - - #endregion - - #region Messages - - public MTConnect.Message mMessage = new MTConnect.Message("MESSAGE"); + public DbTS[] vettDbData; #endregion @@ -114,28 +164,31 @@ namespace MTC_ADB lg = LogManager.GetCurrentClassLogger(); lg.Info("Avvio AdapterGeneric"); - // salvo al form chiamante parentForm = caller; - // item disponibilità + // item base mAdapter.AddDataItem(mAvail); - mAvail.Value = "AVAILABLE"; + mAdapter.AddDataItem(mStatus); + mAdapter.AddDataItem(mClock); + mAdapter.AddDataItem(mMessage); + mAvail.Value = ""; + mStatus.Value = ""; + mClock.Value = ""; mMessage.Value = ""; - // status, clock, emergency stop - mAdapter.AddDataItem(mStatus); - mAdapter.AddDataItem(mClock); - mAdapter.AddDataItem(mPowerVal); - - - // messaggi ulteriori - mAdapter.AddDataItem(mMessage); + // aggiunto 1 valore x la gestione timeseries... + vettDbData = new DbTS[1]; + for (int i = 0; i < vettDbData.Length; i++) + { + vettDbData[i] = new DbTS(string.Format("DB_E_{0:00}", i), 5); + mAdapter.AddDataItem(vettDbData[i].mTimeSeries); + } // concluso! - lg.Info("Istanziata classe AdapterGeneric"); + lg.Info("Istanziata classe ADB"); } /// /// Caricamento altri file necessari epr adapter all'avvio @@ -252,44 +305,27 @@ namespace MTC_ADB try { - // ciclo HF: recupero update status & strobes vari + // ciclo HF (nulla) if (ciclo == gatherCycle.HF) { - // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti - getStrobeAndAckStatus(); - - // faccio refresh degli allarmi segnalati (da strobe su vettore locale) - refreshAlarmState(STRB_DW0, true); - // acquisizione degli status - processStatus(); - // processing degli strobes - processStrobe(); + // gestisco dati stato adapter + getGlobalData(); } else if (ciclo == gatherCycle.MF) { - // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) - getGlobalData(); - getUnOp(); - getPath(); - getAxis(); + getMainData(); } // ciclo lento else if (ciclo == gatherCycle.LF) { - // leggo EVENTUALI parametri da config file - getConfigParam(); - ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + // acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) getSlowChangingData(); - - // eventuale log! - if (utils.CRB("recTime")) logTimeResults(); } // ciclo lentissimo else if (ciclo == gatherCycle.VLF) { - lg.Info("Richiesta lettura completa allarmi attivi"); - // faccio comunque rilettura completa allarmi... - forceAlarmCheck(); + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); } // INVIO dati variati! mAdapter.SendChanged(); @@ -324,12 +360,12 @@ namespace MTC_ADB else { // log connessione KO - lg.Error("CicloMF - Connessione non disponibile, provo a riconnettere"); + lg.Error("ADP - Connessione non disponibile, provo a riconnettere"); // provo a riconnettere SE abilitato tryRestart... if (adpTryRestart && !connectionOk) { - //// aspetto un tempo di wait adatto - //Thread.Sleep(utils.CRI("waitRecMSec")); + // aspetto un tempo di wait adatto + Thread.Sleep(utils.CRI("waitRecMSec")); tryConnect(); } } @@ -339,10 +375,23 @@ namespace MTC_ADB } } /// - /// recupero dati globali (e comuni) + /// salvo e controllo dati globali... /// public virtual void getGlobalData() { + string currAvail = ""; + if (connectionOk) + { + currAvail = "AVAILABLE"; + } + else + { + currAvail = "DISCONNECTED"; + } + if (mAvail.Value.ToString() != currAvail) + { + mAvail.Value = currAvail; + } } /// @@ -366,14 +415,15 @@ namespace MTC_ADB lg.Info("{0}--------------- STOP TIMING DATA ---------------{0}", Environment.NewLine); } } - - + /// /// Metodo base connessione... /// public virtual void tryConnect() { + mMessage.Code = "DB-CONN"; + mMessage.Value = "ADP - Tentativo Connessione DB"; } /// /// Metodo base disconnessione... @@ -398,25 +448,13 @@ namespace MTC_ADB _connOk = value; } } - - - /// - /// verifica gli status attivi + /// Recupero dati principali (DB) /// - public virtual void processStatus() + public virtual void getMainData() { - // da gestire su ogni adapter... } - - - /// - /// metodo di recupero dei dati di identificativo macchina - DA CONF!!! - /// - public virtual void getConfigParam() - { - } /// /// dati "lenti" relativi al device /// @@ -424,93 +462,11 @@ namespace MTC_ADB { // dati da PC mClock.Value = string.Format("{0:yyyy-MM-dd} {0:HH:mm:ss}", DateTime.Now); - // da gestire su ogni adapter... } #endregion - - // vedere SE sia possibile usare coda x elenco valori POWER... -#if false - /// - /// Aggiunge nel vettore coda codici M - /// - /// - /// - public void appendCodeMST(string Coda, string Codice) - { - switch (Coda) - { - case "S": - codaS.Add(Codice); - break; - case "T": - codaT.Add(Codice); - break; - case "M": - default: - codaM.Add(Codice); - break; - } - } - - /// - /// recupera primo elemento codaM - /// - protected string getNextMCode - { - get - { - string answ = ""; - if (codaM.Count > 0) - { - // recupero codice M... - answ = codaM.First(); - // tolgo elemento - codaM.RemoveAt(0); - } - return answ; - } - } - /// - /// recupera primo elemento codaS - /// - protected string getNextSCode - { - get - { - string answ = ""; - if (codaS.Count > 0) - { - // recupero codice S... - answ = codaS.First(); - // tolgo elemento - codaS.RemoveAt(0); - } - return answ; - } - } - /// - /// recupera primo elemento codaT - /// - protected string getNextTCode - { - get - { - string answ = ""; - if (codaT.Count > 0) - { - // recupero codice T... - answ = codaT.First(); - // tolgo elemento - codaT.RemoveAt(0); - } - return answ; - } - } -#endif - #region layer persistenza dati diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 937fce6..921ab98 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -6,12 +6,15 @@ + + - - - - + + + + + diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 532139f..15b73ed 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -17,7 +17,9 @@ using System.Collections; using System.Configuration; using System.Diagnostics; using System.IO; -using System.Data.Common; +#if false +using System.Data.Common; +#endif namespace MTC_ADB { @@ -41,51 +43,32 @@ namespace MTC_ADB /// /// timer base (base moltiplica) /// - protected int timerIntMs = 10; // di norma 10 msec x refresh... + protected int timerIntMs = 100; // di norma 100 msec x refresh... /// - /// contatore fast + /// contatore veloce /// - protected int fastCount = 20; // di norma 200 msec x refresh... + protected int fastCount = 10; // di norma 1 sec x refresh... /// /// contatore normale /// - protected int normCount = 50; // di norma 500 msec x refresh... + protected int normCount = 300; // di norma 30 sec x refresh... /// /// contatore slow /// - protected int slowCount = 500; // di norma 5 sec x refresh... + protected int slowCount = 600; // di norma 60 sec x refresh... + /// + /// contatore lentissimo + /// + protected int verySlowCount=1200; // di norma 2 minuti /// /// ultimo tentativo riavvio... /// protected DateTime lastStartTry; /// - /// Tipo server DB + /// tipo di adapter prescelto... /// - protected string ServerType = "ND"; - /// - /// Indirizzo server DB - /// - protected string ServerAddress = ""; - /// - /// Nome DB - /// - protected string DbName = ""; - /// - /// User connessione - /// - protected string DbUser = ""; - /// - /// Pwd connessione - /// - protected string DbPwd = ""; - /// - /// Oggetto connessione al DB - /// - protected DbConnection DbConn; - /// - /// testo della query da eseguire... - /// - protected string query = ""; + protected tipoAdapter tipoScelto = tipoAdapter.DB; +#if false /// /// determina se si debba tentare di riavviare la connessione a monte dell'adapter... /// @@ -97,7 +80,8 @@ namespace MTC_ADB /// /// semaforo salvataggio file /// - protected bool adpSaving; + protected bool adpSaving; +#endif /// /// Vettore di dati di persistenza (es ultimo ID letto) /// diff --git a/MTC_Adapter/MTC/baseUtils.cs b/MTC_Adapter/MTC/baseUtils.cs index 5d5e246..dc2d7f6 100644 --- a/MTC_Adapter/MTC/baseUtils.cs +++ b/MTC_Adapter/MTC/baseUtils.cs @@ -438,19 +438,23 @@ namespace MTC public enum tipoAdapter { + /// + /// Adapter DB + /// + DB, /// /// Adapter generico/demo /// DEMO, /// - /// adapter FANUC (CMS) - /// - FANUC, - /// /// Adapter ESAGV (SCM) /// ESAGV, /// + /// adapter FANUC (CMS) + /// + FANUC, + /// /// Adapter non specificato /// ND, From 475f662e0295f038a8790b9089197277d30308a6 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 11:57:18 +0200 Subject: [PATCH 16/29] inizia a partire e compilare, am il ciclo va controllato/aggiustato... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 96 +++++++++++++++--- MTC_Adapter/MTC-ADB/App.config | 2 +- MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 28 +++--- MTC_Adapter/MTC-ADB/MainForm.cs | 121 +++++++---------------- 4 files changed, 135 insertions(+), 112 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 7189be5..747abdb 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -78,15 +78,15 @@ namespace MTC_ADB /// /// Tipo server DB /// - protected string ServerType = "ND"; + public string ServerType = "ND"; /// /// Indirizzo server DB /// - protected string ServerAddress = ""; + public string ServerAddress = ""; /// /// Nome DB /// - protected string DbName = ""; + public string DbName = ""; /// /// User connessione /// @@ -102,8 +102,7 @@ namespace MTC_ADB /// /// testo della query da eseguire... /// - protected string query = ""; - + public string Query { get; set; } /// /// Singola istanza valore tipo DbTimeseries @@ -177,7 +176,7 @@ namespace MTC_ADB mClock.Value = ""; mMessage.Value = ""; - + createDbConn(); // aggiunto 1 valore x la gestione timeseries... vettDbData = new DbTS[1]; @@ -190,6 +189,29 @@ namespace MTC_ADB // concluso! lg.Info("Istanziata classe ADB"); } + + + /// + /// Inizializzazione oggetti connessione al DB... + /// + private void createDbConn() + { + DbProviderFactory factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient"); + DbConn = factory.CreateConnection(); + } + /// + /// Lettura conf DB + /// + public void loadServerConf() + { + ServerType = utils.CRS("ServerType"); + ServerAddress = utils.CRS("ServerAddress"); + DbName = utils.CRS("DbName"); + DbUser = utils.CRS("DbUser"); + DbPwd = utils.CRS("DbPwd"); + DbConn.ConnectionString = string.Format("SERVER={0};database={1};uid={2};password={3}", ServerAddress, DbName, DbUser, DbPwd); + } + /// /// Caricamento altri file necessari epr adapter all'avvio /// @@ -415,24 +437,39 @@ namespace MTC_ADB lg.Info("{0}--------------- STOP TIMING DATA ---------------{0}", Environment.NewLine); } } - + /// /// Metodo base connessione... /// public virtual void tryConnect() { - mMessage.Code = "DB-CONN"; - mMessage.Value = "ADP - Tentativo Connessione DB"; + try + { + DbConn.Open(); + mMessage.Value = "ADP - DB Connesso"; + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); + mMessage.Value = "ADP - Errore apertura connessione DB"; + } } /// /// Metodo base disconnessione... /// public virtual void tryDisconnect() { - + try + { + // CHIUDO! + DbConn.Close(); + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore in tryDisconnect da DB: {0}{1}", Environment.NewLine, exc)); + } } - protected bool _connOk = false; /// /// Salva verifica stato connessione OK /// @@ -441,11 +478,40 @@ namespace MTC_ADB { get { - return _connOk; + return DbConn.State == System.Data.ConnectionState.Open; } - set + } + /// + /// Restituisce conteggio record disponibili e lo restituisce + /// + /// + public string numRecAvail + { + get { - _connOk = value; + string answ = "NA"; + if (connectionOk) + { + // recupero conteggio degli eventi... + Query = "SELECT COUNT(id) AS num FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); + DbCommand qrycmd = DbConn.CreateCommand(); + qrycmd.CommandText = Query; + qrycmd.Connection = DbConn; + DbDataReader reader = qrycmd.ExecuteReader(); + try + { + while (reader.Read()) + { + answ = reader["num"].ToString(); + } + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); + answ = "ERR"; + } + } + return answ; } } /// @@ -466,7 +532,7 @@ namespace MTC_ADB #endregion - + #region layer persistenza dati diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 921ab98..b4ad8e2 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -23,7 +23,7 @@ - + diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index 32d3045..c1cd8a5 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -91,7 +91,7 @@ this.tableLayoutPanel1.ColumnCount = 3; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 81F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 82F)); this.tableLayoutPanel1.Controls.Add(this.label5, 1, 0); this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0); this.tableLayoutPanel1.Controls.Add(this.lblNumData, 0, 1); @@ -111,7 +111,7 @@ this.label5.Dock = System.Windows.Forms.DockStyle.Fill; this.label5.Location = new System.Drawing.Point(183, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(194, 37); + this.label5.Size = new System.Drawing.Size(193, 37); this.label5.TabIndex = 1; this.label5.Text = "Last Data"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -142,9 +142,9 @@ // this.btnOpenDump.Dock = System.Windows.Forms.DockStyle.Fill; this.btnOpenDump.Enabled = false; - this.btnOpenDump.Location = new System.Drawing.Point(383, 3); + this.btnOpenDump.Location = new System.Drawing.Point(382, 3); this.btnOpenDump.Name = "btnOpenDump"; - this.btnOpenDump.Size = new System.Drawing.Size(76, 31); + this.btnOpenDump.Size = new System.Drawing.Size(77, 31); this.btnOpenDump.TabIndex = 3; this.btnOpenDump.Text = "dump"; this.btnOpenDump.UseVisualStyleBackColor = true; @@ -157,7 +157,7 @@ this.lblLastData.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblLastData.Location = new System.Drawing.Point(183, 37); this.lblLastData.Name = "lblLastData"; - this.lblLastData.Size = new System.Drawing.Size(194, 37); + this.lblLastData.Size = new System.Drawing.Size(193, 37); this.lblLastData.TabIndex = 5; this.lblLastData.Text = "../../.. ..:..:.."; this.lblLastData.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -221,7 +221,7 @@ this.tableLayoutPanel2.ColumnCount = 3; this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 47.45763F)); this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 52.54237F)); - this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 81F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 82F)); this.tableLayoutPanel2.Controls.Add(this.label3, 1, 0); this.tableLayoutPanel2.Controls.Add(this.label4, 0, 0); this.tableLayoutPanel2.Controls.Add(this.lblServer, 0, 1); @@ -242,7 +242,7 @@ this.label3.Dock = System.Windows.Forms.DockStyle.Fill; this.label3.Location = new System.Drawing.Point(183, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(194, 35); + this.label3.Size = new System.Drawing.Size(193, 35); this.label3.TabIndex = 1; this.label3.Text = "Status"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -273,9 +273,9 @@ // btnStart // this.btnStart.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnStart.Location = new System.Drawing.Point(383, 3); + this.btnStart.Location = new System.Drawing.Point(382, 3); this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(76, 29); + this.btnStart.Size = new System.Drawing.Size(77, 29); this.btnStart.TabIndex = 3; this.btnStart.Text = "ADP START"; this.btnStart.UseVisualStyleBackColor = true; @@ -284,9 +284,9 @@ // btnConnect // this.btnConnect.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnConnect.Location = new System.Drawing.Point(383, 38); + this.btnConnect.Location = new System.Drawing.Point(382, 38); this.btnConnect.Name = "btnConnect"; - this.btnConnect.Size = new System.Drawing.Size(76, 29); + this.btnConnect.Size = new System.Drawing.Size(77, 29); this.btnConnect.TabIndex = 4; this.btnConnect.Text = "connect"; this.btnConnect.UseVisualStyleBackColor = true; @@ -300,7 +300,7 @@ this.lblStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblStatus.Location = new System.Drawing.Point(183, 35); this.lblStatus.Name = "lblStatus"; - this.lblStatus.Size = new System.Drawing.Size(194, 35); + this.lblStatus.Size = new System.Drawing.Size(193, 35); this.lblStatus.TabIndex = 5; this.lblStatus.Text = "offline"; this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -318,6 +318,10 @@ this.trayMenu.Size = new System.Drawing.Size(61, 4); this.trayMenu.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.trayMenu_ItemClicked); // + // gather + // + this.gather.Tick += new System.EventHandler(this.gather_Tick); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 15b73ed..7b5b64c 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -59,7 +59,7 @@ namespace MTC_ADB /// /// contatore lentissimo /// - protected int verySlowCount=1200; // di norma 2 minuti + protected int verySlowCount = 1200; // di norma 2 minuti /// /// ultimo tentativo riavvio... /// @@ -68,24 +68,6 @@ namespace MTC_ADB /// tipo di adapter prescelto... /// protected tipoAdapter tipoScelto = tipoAdapter.DB; -#if false - /// - /// determina se si debba tentare di riavviare la connessione a monte dell'adapter... - /// - protected bool adpTryRestart = false; - /// - /// semaforo adapter running - /// - protected bool adpRunning = false; - /// - /// semaforo salvataggio file - /// - protected bool adpSaving; -#endif - /// - /// Vettore di dati di persistenza (es ultimo ID letto) - /// - Dictionary persistenceLayer; /// /// oggetto logging @@ -139,11 +121,11 @@ namespace MTC_ADB displayTaskAndWait("Starting MainForm"); - createDbConn(); - advProgBar(); - + // avvio adapter... + agObj = new AdapterGeneric(this); loadPersistLayer(defPersLayerFile); - displayTaskAndWait("PersLayerFile READ"); + lg.Info("PersLayerFile READ"); + agObj.loadPersData(); lg.Info("PersLayerFile LOADED"); // Start timer periodico @@ -174,27 +156,14 @@ namespace MTC_ADB } checkStarted(); } - /// - /// Inizializzazione oggetti connessione al DB... - /// - private void createDbConn() - { - DbProviderFactory factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient"); - DbConn = factory.CreateConnection(); - } /// /// Lettura conf DB /// private void loadServerConf() { - ServerType = utils.CRS("ServerType"); - ServerAddress = utils.CRS("ServerAddress"); - DbName = utils.CRS("DbName"); - DbUser = utils.CRS("DbUser"); - DbPwd = utils.CRS("DbPwd"); - lblServer.Text = string.Format("{0} | {1}", ServerType, ServerAddress); - DbConn.ConnectionString = string.Format("SERVER={0};database={1};uid={2};password={3}", ServerAddress, DbName, DbUser, DbPwd); + agObj.loadServerConf(); + lblServer.Text = string.Format("{0} | {1}", agObj.ServerType, agObj.ServerAddress); // provo a connettermi... lblStatus.Text = "...CONNECTING..."; lblStatus.BackColor = Color.Goldenrod; @@ -202,7 +171,7 @@ namespace MTC_ADB try { Thread.Sleep(startTimerMs * 2); - DbConn.Open(); + agObj.tryConnect(); Thread.Sleep(startTimerMs * 2); } catch (Exception exc) @@ -216,7 +185,7 @@ namespace MTC_ADB /// private void checkConnected() { - if (DbConn.State == System.Data.ConnectionState.Open) + if (agObj.connectionOk) { lblStatus.Text = "CONNECTED"; lblStatus.BackColor = Color.ForestGreen; @@ -224,18 +193,8 @@ namespace MTC_ADB btnConnect.Text = "close"; lblServer.ForeColor = Color.Black; // recupero conteggio degli eventi... - query = "SELECT COUNT(id) AS num FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); advProgBar(); - DbCommand qrycmd = DbConn.CreateCommand(); - qrycmd.CommandText = query; - qrycmd.Connection = DbConn; - DbDataReader reader = qrycmd.ExecuteReader(); - advProgBar(); - while (reader.Read()) - { - // aggiorno dati su labels... - lblNumData.Text = string.Format("{0} new data", reader["num"]); - } + lblNumData.Text = string.Format("{0} new data", agObj.numRecAvail); displayTaskAndWait("DB Server CONNECTED"); } else @@ -245,9 +204,9 @@ namespace MTC_ADB lblStatus.ForeColor = Color.White; btnConnect.Text = "open"; lblServer.ForeColor = Color.DimGray; - lblServer.Text = string.Format("???{0}???", ServerType, ServerAddress); + lblServer.Text = string.Format("???{0}???", agObj.ServerType, agObj.ServerAddress); lblNumData.Text = "#"; - displayTaskAndWait("ERROR connectimg to DB Server"); + displayTaskAndWait("ERROR connecting to DB Server"); } } /// @@ -255,7 +214,7 @@ namespace MTC_ADB /// private void checkStarted() { - if (adpRunning) + if (agObj.adpRunning) { btnStart.Text = "ADP STOP"; @@ -448,7 +407,6 @@ namespace MTC_ADB public void avviaAdapter() { // avvio adapter vero e proprio... - adpRunning = true; displayTaskAndWait("Adapter starting"); // disconnetto DB @@ -458,7 +416,7 @@ namespace MTC_ADB loadServerConf(); advProgBar(); - agObj = new AdapterGeneric(this, null); + agObj = new AdapterGeneric(this); agObj.startAdapter(portMTC); displayTaskAndWait("Adapter started!"); btnOpenDump.Enabled = true; @@ -468,14 +426,14 @@ namespace MTC_ADB apriDumpAgent(); displayTaskAndWait("Dump Windows OK"); } - + displayTaskAndWait("Start Timers"); // inizializzo contatori fast/mid/slow fastCount = utils.CRI("fastCount"); normCount = utils.CRI("normCount"); slowCount = utils.CRI("slowCount"); displayTaskAndWait("Adapter Running..."); - + } /// @@ -501,11 +459,11 @@ namespace MTC_ADB private void gather_Tick(object sender, EventArgs e) { // eseguo cicli attivi SOLO se adapter è in EFFETTIVO running... - if (adpRunning) + if (agObj.adpRunning) { // inizio a riportare che sto eseguendo.. advProgBar(); - if (DbConn.State == System.Data.ConnectionState.Open) + if (agObj.connectionOk) { // check esecuzione FastTask checkFastTask(); @@ -519,7 +477,7 @@ namespace MTC_ADB else { double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; - if (adpTryRestart && currWait > utils.CRI("waitRecMSec")) + if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) { lastStartTry = DateTime.Now; avviaAdapter(); @@ -535,7 +493,7 @@ namespace MTC_ADB { // verifico SE debba tentare il riavvio, ovvero NON running ma tryReconn e non ho riprovato x oltre waitRecMSec double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; - if (adpTryRestart && currWait > utils.CRI("waitRecMSec")) + if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) { lastStartTry = DateTime.Now; avviaAdapter(); @@ -593,7 +551,6 @@ namespace MTC_ADB } } - protected string Query { get => query; set => query = value; } /// /// file persistenza generale data attuale ANTICIPATA di xx giorni @@ -705,16 +662,16 @@ namespace MTC_ADB public void savePersistLayer(string filePath) { // in primis check semaforo salvataggio... - if (!adpSaving) + if (!agObj.adpSaving) { // alzo semaforo salvataggio - adpSaving = true; + agObj.adpSaving = true; // se HO dei dati... - if (persistenceLayer != null) + if (agObj.persistenceLayer != null) { try { - utils.WritePlain(persistenceLayer, filePath); + utils.WritePlain(agObj.persistenceLayer, filePath); } catch (Exception exc) { @@ -726,7 +683,7 @@ namespace MTC_ADB lg.Info("persistenceLayer null, non salvato..."); } // abbasso semaforo salvataggio - adpSaving = false; + agObj.adpSaving = false; } } /// @@ -736,11 +693,11 @@ namespace MTC_ADB public void loadPersistLayer(string filePath) { // inizializzo prima di leggere... - persistenceLayer = new Dictionary(); - persistenceLayer = utils.ReadPlain(filePath); + agObj.persistenceLayer = new Dictionary(); + agObj.persistenceLayer = utils.ReadPlain(filePath); // 2017.03.23 check problema files corrotti... - if (persistenceLayer.Count == 0) + if (agObj.persistenceLayer.Count == 0) { // se avesse letto un valore NON coerente (senza righe) PROVA a leggere a ritroso vecchi files... da histPersLayerFile e precedenti... int numDD = 0; @@ -759,7 +716,7 @@ namespace MTC_ADB numDD++; } // se sono uscito PROVO a passare il file storico letto buono (oppure vuoto...) - persistenceLayer = lastRead; + agObj.persistenceLayer = lastRead; } } @@ -781,22 +738,18 @@ namespace MTC_ADB /// determina se tentare di riconnettersi private void fermaTutto(bool stopTimer, bool tryRestart) { -#if false agObj.stopAdapter(tryRestart); // salvo! savePersistLayer(defPersLayerFile); savePersistLayer(histPersLayerFile); - stop.Enabled = false; - dump.Enabled = false; - start.Enabled = true; - if (stopTimer) { gather.Enabled = false; agObj.tryDisconnect(); - } -#endif + } + // verifica e display + checkStarted(); displayTaskAndWait("Adapter Stopped"); } /// @@ -806,7 +759,7 @@ namespace MTC_ADB { Thread.Sleep(startTimerMs * 2); // CHIUDO! - DbConn.Close(); + agObj.tryDisconnect(); advProgBar(); checkConnected(); displayTaskAndWait("DB disconnected!"); @@ -823,7 +776,7 @@ namespace MTC_ADB btnConnect.Refresh(); advProgBar(); // processo - if (DbConn.State == System.Data.ConnectionState.Open) + if (agObj.connectionOk) { lblStatus.Text = "...CLOSING..."; lblStatus.BackColor = Color.Goldenrod; @@ -849,16 +802,16 @@ namespace MTC_ADB btnStart.Refresh(); advProgBar(); // processo - if (adpRunning) + if (agObj.adpRunning) { - adpRunning = false; displayTaskAndWait("Stopping Adapter"); // CHIUDO! fermaTutto(true, false); } else { - adpRunning = true; + avviaAdapter(); + agObj.loadPersData(); displayTaskAndWait("Adapter Started"); } checkStarted(); From 6a6689ca61f226fe114705d1d230a7cd341df4d4 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 12:16:24 +0200 Subject: [PATCH 17/29] inizia a visualizzare qualcosa di sensato... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 3 +- MTC_Adapter/MTC-ADB/MainForm.cs | 102 ++++++---------------- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 3 +- 3 files changed, 27 insertions(+), 81 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 747abdb..a8080c1 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -386,8 +386,7 @@ namespace MTC_ADB // provo a riconnettere SE abilitato tryRestart... if (adpTryRestart && !connectionOk) { - // aspetto un tempo di wait adatto - Thread.Sleep(utils.CRI("waitRecMSec")); + lg.Info("ConnKO - tryConnect"); tryConnect(); } } diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 7b5b64c..b0456ba 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -164,20 +164,7 @@ namespace MTC_ADB { agObj.loadServerConf(); lblServer.Text = string.Format("{0} | {1}", agObj.ServerType, agObj.ServerAddress); - // provo a connettermi... - lblStatus.Text = "...CONNECTING..."; - lblStatus.BackColor = Color.Goldenrod; - displayTaskAndWait("Server Conf READ"); - try - { - Thread.Sleep(startTimerMs * 2); - agObj.tryConnect(); - Thread.Sleep(startTimerMs * 2); - } - catch (Exception exc) - { - lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); - } + displayTaskAndWait("...LOADING DB CONF..."); checkConnected(); } /// @@ -391,27 +378,14 @@ namespace MTC_ADB MainProgrBar.Value = 0; MainProgrBar.Step = 1; } - /// - /// Avvio dell'adapter + /// Avvio adapter /// - /// - /// - private void start_Click(object sender, EventArgs e) - { - avviaAdapter(); - // salvo che ho avviato adapter - displayTaskAndWait("Completato LOAD Adapter"); - } - public void avviaAdapter() { // avvio adapter vero e proprio... displayTaskAndWait("Adapter starting"); - - // disconnetto DB - closeDbConn(); - + // inizio con la connessione al DB loadServerConf(); advProgBar(); @@ -471,16 +445,22 @@ namespace MTC_ADB checkNormTask(); // check esecuzione SlowTask checkSlowTask(); - // check esecuzione AlarmSync - checkAlarmSync(); + // check esecuzione VerySlowTask + checkVerySlowTask(); } else { double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds; if (agObj.adpTryRestart && currWait > utils.CRI("waitRecMSec")) { + // provo a connettermi... + lblStatus.Text = "...CONNECTING..."; + lblStatus.BackColor = Color.Goldenrod; + displayTaskAndWait("Server Conf READ"); lastStartTry = DateTime.Now; - avviaAdapter(); + agObj.tryConnect(); + agObj.loadPersData(); + checkConnected(); } } // se è arrivato a MAX resetto... @@ -499,6 +479,7 @@ namespace MTC_ADB avviaAdapter(); } } + advProgBar(); } public void resetProgBar() @@ -506,38 +487,27 @@ namespace MTC_ADB MainProgrBar.Value = 0; } - private void checkAlarmSync() - { - -#if false - alarmSyncCount--; - if (alarmSyncCount <= 0) - { - alarmSyncCount = utils.CRI("alarmSyncCount"); - - // avvio fase raccolta dati e invio con adapter - agObj.gaterAndSend(gatherCycle.VLF); - } -#endif - } private void checkSlowTask() { -#if false slowCount--; if (slowCount <= 0) { slowCount = utils.CRI("slowCount"); - // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.LF); - - // refresh stringhe code M/S/T - refreshCodeMST(); - + } + } + private void checkVerySlowTask() + { + verySlowCount--; + if (verySlowCount <= 0) + { + verySlowCount = utils.CRI("verySlowCount"); + // avvio fase raccolta dati e invio con adapter + agObj.gaterAndSend(gatherCycle.VLF); // effettua salvataggio del file di conf con i valori ATTUALI dei parametri ove applicabile/aggiornati (es ore utilizzo, KM assi percorsi...) --> sia file corrente che file "history" persistData(); - } -#endif + } } /// @@ -582,18 +552,14 @@ namespace MTC_ADB private void checkNormTask() { - // decremento... normCount--; // se il counter è a zero eseguo... if (normCount <= 0) { normCount = utils.CRI("normCount"); - -#if false // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.MF); -#endif } } /// @@ -613,20 +579,15 @@ namespace MTC_ADB private void checkFastTask() { -#if false // decremento... fastCount--; // se il counter è a zero eseguo... if (fastCount <= 0) { fastCount = utils.CRI("fastCount"); - // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.HF); - - refreshVisualStrobes(); } -#endif } @@ -729,7 +690,6 @@ namespace MTC_ADB private void closeAdapter() { fermaTutto(true, false); - closeDbConn(); } /// /// Ferma tutti i componenti adapter + update buttons @@ -753,18 +713,6 @@ namespace MTC_ADB displayTaskAndWait("Adapter Stopped"); } /// - /// Ferma componente DB - /// - private void closeDbConn() - { - Thread.Sleep(startTimerMs * 2); - // CHIUDO! - agObj.tryDisconnect(); - advProgBar(); - checkConnected(); - displayTaskAndWait("DB disconnected!"); - } - /// /// toggle connessione... /// /// @@ -782,7 +730,7 @@ namespace MTC_ADB lblStatus.BackColor = Color.Goldenrod; displayTaskAndWait("Closing DB Connection"); // CHIUDO! - closeDbConn(); + agObj.tryDisconnect(); } else { diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index a5758af..a7a9aee 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -1622,8 +1622,7 @@ namespace MTC_Adapter // provo a riconnettere SE abilitato tryRestart... if (adpTryRestart && !connectionOk) { - //// aspetto un tempo di wait adatto - //Thread.Sleep(utils.CRI("waitRecMSec")); + lg.Info("ConnKO - tryConnect"); tryConnect(); } } From 249c86332a3c82caa25c99feeb7c38f87920fdd8 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 15:25:51 +0200 Subject: [PATCH 18/29] Ricompilato DUMP con istruzioni (porta 7879...) --- MTC_Adapter/MTC-ADB/dump/README.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 MTC_Adapter/MTC-ADB/dump/README.txt diff --git a/MTC_Adapter/MTC-ADB/dump/README.txt b/MTC_Adapter/MTC-ADB/dump/README.txt new file mode 100644 index 0000000..f48fb3a --- /dev/null +++ b/MTC_Adapter/MTC-ADB/dump/README.txt @@ -0,0 +1,15 @@ +Con riferimento a + +https://msdn.microsoft.com/en-us/library/f2ccy3wt%28v=vs.140%29.aspx + +1) andare in dic di VC +cd "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" + +2) eseguire conf +vcvarsall.bat +vcvarsall x86 + +3) adesso si può compilare +cd C:\Users\samuele.STEAMWAREWIN\Documents\VisualStudioProjects\CMS-MTConn\MTC_Adapter\MTC-ADB\dump +build.bat + From 04aeb439d0cab65b620512c338f764d45a8d6f82 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 15:26:02 +0200 Subject: [PATCH 19/29] Fix avvio post connessione DB... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 81 ++++++++++++++++----------- MTC_Adapter/MTC-ADB/App.config | 2 + MTC_Adapter/MTC-ADB/MainForm.cs | 65 ++++++++++++++------- 3 files changed, 93 insertions(+), 55 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index a8080c1..42025a0 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -31,20 +31,16 @@ namespace MTC_ADB /// /// valore booleano di check se sia stato AVVIATO l'adapter (Running) /// - public bool adpRunning = false; + public bool adpRunning; /// /// valore booleano di check se l'adapter STIA SALVANDO /// - public bool adpSaving = false; + public bool adpSaving; /// /// valore booleano (richiesta di riavvio automatico) /// public bool adpTryRestart; /// - /// porta x adapter (x restart) - /// - protected int adpPortNum; - /// /// ultimo ID letto /// protected uint lastId = 0; @@ -166,15 +162,18 @@ namespace MTC_ADB // salvo al form chiamante parentForm = caller; + adpRunning = false; + adpSaving = false; + // item base mAdapter.AddDataItem(mAvail); mAdapter.AddDataItem(mStatus); mAdapter.AddDataItem(mClock); mAdapter.AddDataItem(mMessage); - mAvail.Value = ""; - mStatus.Value = ""; - mClock.Value = ""; - mMessage.Value = ""; + mAvail.Value = "ND"; + mStatus.Value = "ND"; + mClock.Value = string.Format("{0:yyyy-MM-dd} {0:HH:mm:ss}", DateTime.Now); + mMessage.Value = "INIT"; createDbConn(); @@ -204,12 +203,16 @@ namespace MTC_ADB /// public void loadServerConf() { - ServerType = utils.CRS("ServerType"); - ServerAddress = utils.CRS("ServerAddress"); - DbName = utils.CRS("DbName"); - DbUser = utils.CRS("DbUser"); - DbPwd = utils.CRS("DbPwd"); - DbConn.ConnectionString = string.Format("SERVER={0};database={1};uid={2};password={3}", ServerAddress, DbName, DbUser, DbPwd); + // disconnetto e riconnetto SE fosse già connesso... + if (!connectionOk) + { + ServerType = utils.CRS("ServerType"); + ServerAddress = utils.CRS("ServerAddress"); + DbName = utils.CRS("DbName"); + DbUser = utils.CRS("DbUser"); + DbPwd = utils.CRS("DbPwd"); + DbConn.ConnectionString = string.Format("SERVER={0};database={1};uid={2};password={3}", ServerAddress, DbName, DbUser, DbPwd); + } } /// @@ -242,7 +245,6 @@ namespace MTC_ADB // salvo porta! mAdapter.Port = port; - adpPortNum = port; // avvio! mAdapter.Start(); @@ -286,7 +288,6 @@ namespace MTC_ADB lg.Error(exc, "Eccezione in chiusura Adapter"); } dtStopAdp = DateTime.Now; - adpPortNum = mAdapter.Port; adpTryRestart = tryRestart; adpRunning = false; // chiudo! @@ -355,7 +356,7 @@ namespace MTC_ADB catch (Exception exc) { // segnalo eccezione e indico disconnesso... - lg.Error(exc, "Errore in gestione ciclo principale ADP, fermo adapter"); + lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, fermo adapter{0}{1}", Environment.NewLine, exc)); parentForm.fermaAdapter(true); } // tolgo flag running @@ -443,15 +444,22 @@ namespace MTC_ADB public virtual void tryConnect() { mMessage.Code = "DB-CONN"; - try + if (!connectionOk) { - DbConn.Open(); - mMessage.Value = "ADP - DB Connesso"; + try + { + DbConn.Open(); + mMessage.Value = "ADP - DB Connesso"; + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); + mMessage.Value = "ADP - Errore apertura connessione DB"; + } } - catch (Exception exc) + else { - lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); - mMessage.Value = "ADP - Errore apertura connessione DB"; + lg.Info("Exit tryConnect (ADP connected)"); } } /// @@ -496,18 +504,23 @@ namespace MTC_ADB DbCommand qrycmd = DbConn.CreateCommand(); qrycmd.CommandText = Query; qrycmd.Connection = DbConn; - DbDataReader reader = qrycmd.ExecuteReader(); - try + using (DbDataReader reader = qrycmd.ExecuteReader()) { - while (reader.Read()) + try { - answ = reader["num"].ToString(); + while (reader.Read()) + { + answ = reader["num"].ToString(); + } + // chiudo reader! + reader.Close(); + + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); + answ = "ERR"; } - } - catch (Exception exc) - { - lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); - answ = "ERR"; } } return answ; diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index b4ad8e2..42d8605 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -15,6 +15,8 @@ + + diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index b0456ba..98bebad 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -43,23 +43,23 @@ namespace MTC_ADB /// /// timer base (base moltiplica) /// - protected int timerIntMs = 100; // di norma 100 msec x refresh... + protected int timerIntMs = 100; // di norma 100 msec x timer base... /// /// contatore veloce /// - protected int fastCount = 10; // di norma 1 sec x refresh... + protected int fastCount = 1; // 100ms primo refresh... /// /// contatore normale /// - protected int normCount = 300; // di norma 30 sec x refresh... + protected int normCount = 2; // 200ms primo refresh... /// /// contatore slow /// - protected int slowCount = 600; // di norma 60 sec x refresh... + protected int slowCount = 3; // 300ms primo refresh... /// /// contatore lentissimo /// - protected int verySlowCount = 1200; // di norma 2 minuti + protected int verySlowCount = 4; // 400ms primo refresh... /// /// ultimo tentativo riavvio... /// @@ -155,6 +155,7 @@ namespace MTC_ADB avviaAdapter(); } checkStarted(); + checkConnected(); } /// @@ -168,10 +169,29 @@ namespace MTC_ADB checkConnected(); } /// + /// Tentativo connessione al DB + /// + private void connectAdapter() + { + displayTaskAndWait("...CONNECTIONG DB..."); + agObj.tryConnect(); + checkConnected(); + } + /// + /// Tentativo disconnessione al DB + /// + private void disconnectAdapter() + { + displayTaskAndWait("...DISCONNECTIONG DB..."); + agObj.tryDisconnect(); + checkConnected(); + } + /// /// Verifica se il server sia connesso... /// private void checkConnected() { + lblLastData.Text = DateTime.Now.ToString("yy-MM-dd HH:mm:ss"); if (agObj.connectionOk) { lblStatus.Text = "CONNECTED"; @@ -179,6 +199,7 @@ namespace MTC_ADB lblStatus.ForeColor = Color.Yellow; btnConnect.Text = "close"; lblServer.ForeColor = Color.Black; + lblServer.Text = string.Format("{0} | {1}", agObj.ServerType, agObj.ServerAddress); // recupero conteggio degli eventi... advProgBar(); lblNumData.Text = string.Format("{0} new data", agObj.numRecAvail); @@ -385,14 +406,16 @@ namespace MTC_ADB { // avvio adapter vero e proprio... displayTaskAndWait("Adapter starting"); - - // inizio con la connessione al DB - loadServerConf(); - advProgBar(); - agObj = new AdapterGeneric(this); + // inizio con la connessione al DB + if (!agObj.connectionOk) + { + loadServerConf(); + connectAdapter(); + advProgBar(); + } agObj.startAdapter(portMTC); - displayTaskAndWait("Adapter started!"); + //displayTaskAndWait("Adapter started!"); btnOpenDump.Enabled = true; if (utils.CRB("openDumpOnStart")) { @@ -406,6 +429,7 @@ namespace MTC_ADB fastCount = utils.CRI("fastCount"); normCount = utils.CRI("normCount"); slowCount = utils.CRI("slowCount"); + verySlowCount = utils.CRI("verySlowCount"); displayTaskAndWait("Adapter Running..."); } @@ -460,6 +484,7 @@ namespace MTC_ADB lastStartTry = DateTime.Now; agObj.tryConnect(); agObj.loadPersData(); + checkStarted(); checkConnected(); } } @@ -493,7 +518,6 @@ namespace MTC_ADB if (slowCount <= 0) { slowCount = utils.CRI("slowCount"); - // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.LF); } } @@ -503,7 +527,6 @@ namespace MTC_ADB if (verySlowCount <= 0) { verySlowCount = utils.CRI("verySlowCount"); - // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.VLF); // effettua salvataggio del file di conf con i valori ATTUALI dei parametri ove applicabile/aggiornati (es ore utilizzo, KM assi percorsi...) --> sia file corrente che file "history" persistData(); @@ -558,8 +581,7 @@ namespace MTC_ADB if (normCount <= 0) { normCount = utils.CRI("normCount"); - // avvio fase raccolta dati e invio con adapter - agObj.gaterAndSend(gatherCycle.MF); + agObj.gaterAndSend(gatherCycle.MF); } } /// @@ -585,9 +607,8 @@ namespace MTC_ADB if (fastCount <= 0) { fastCount = utils.CRI("fastCount"); - // avvio fase raccolta dati e invio con adapter agObj.gaterAndSend(gatherCycle.HF); - } + } } @@ -730,12 +751,16 @@ namespace MTC_ADB lblStatus.BackColor = Color.Goldenrod; displayTaskAndWait("Closing DB Connection"); // CHIUDO! - agObj.tryDisconnect(); + disconnectAdapter(); } else { + lblStatus.Text = "...CONNECTING..."; + lblStatus.BackColor = Color.Goldenrod; + displayTaskAndWait("Opening DB Connection"); // APRO! loadServerConf(); + connectAdapter(); } // sblocco button... btnConnect.Enabled = true; @@ -752,17 +777,15 @@ namespace MTC_ADB // processo if (agObj.adpRunning) { - displayTaskAndWait("Stopping Adapter"); // CHIUDO! fermaTutto(true, false); } else { avviaAdapter(); - agObj.loadPersData(); - displayTaskAndWait("Adapter Started"); } checkStarted(); + checkConnected(); // sblocco button... btnStart.Enabled = true; btnStart.Refresh(); From 17358219026de14e3ec222dc0130875c382c3215 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 15:47:28 +0200 Subject: [PATCH 20/29] test con rilettura... abbassato a 10ms ciclo base... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 49 +++++++++++++++++++++++---- MTC_Adapter/MTC-ADB/App.config | 2 +- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 42025a0..508f4d1 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -108,15 +108,14 @@ namespace MTC_ADB /// /// Vettore della serie storica /// - public TimeSeries mTimeSeries; + public Sample mSampleData; /// /// Classe gestione dati POWER /// /// Nome (univoco) variabile da pubblicare - /// samplerate della variabile - public DbTS(string ident, double sampleRate) + public DbTS(string ident) { - mTimeSeries = new TimeSeries(ident, sampleRate); + mSampleData = new Sample(ident); } } @@ -181,8 +180,8 @@ namespace MTC_ADB vettDbData = new DbTS[1]; for (int i = 0; i < vettDbData.Length; i++) { - vettDbData[i] = new DbTS(string.Format("DB_E_{0:00}", i), 5); - mAdapter.AddDataItem(vettDbData[i].mTimeSeries); + vettDbData[i] = new DbTS(string.Format("DB_E_{0:00}", i)); + mAdapter.AddDataItem(vettDbData[i].mSampleData); } // concluso! @@ -341,7 +340,7 @@ namespace MTC_ADB // ciclo lento else if (ciclo == gatherCycle.LF) { - // acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + // invio dati "lenti" getSlowChangingData(); } // ciclo lentissimo @@ -531,6 +530,42 @@ namespace MTC_ADB /// public virtual void getMainData() { + // recupero da DB ultimo valore NON inviato e se c'è lo invio... + string valore = "-999"; + bool valFound = false; + if (connectionOk) + { + // recupero conteggio degli eventi... + Query = "SELECT id, value FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); + //Query = "SELECT value FROM tracelog WHERE resource = 'E' AND device=1 ORDER BY id DESC LIMIT 1"; + DbCommand qrycmd = DbConn.CreateCommand(); + qrycmd.CommandText = Query; + qrycmd.Connection = DbConn; + using (DbDataReader reader = qrycmd.ExecuteReader()) + { + try + { + while (reader.Read()) + { + valore = reader["value"].ToString(); + lastId = Convert.ToUInt32(reader["id"].ToString()); + valFound = true; + } + // chiudo reader! + reader.Close(); + } + catch (Exception exc) + { + lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); + valore = "-99"; + } + } + if (valFound) + { + // salvo in sample SE trovato...! + vettDbData[0].mSampleData.Value = valore; + } + } } /// diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 42d8605..4c6a4cf 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -10,7 +10,7 @@ - + From 963a8cf6166f8cf52e4ba43114dff6bc2ad4b84d Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 16:40:39 +0200 Subject: [PATCH 21/29] sembra OK e ricarica... fix minori + ripartenza... --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 76 ++++-------------------- MTC_Adapter/MTC-ADB/App.config | 6 +- MTC_Adapter/MTC-ADB/MainForm.Designer.cs | 4 +- MTC_Adapter/MTC-ADB/MainForm.cs | 9 ++- 4 files changed, 22 insertions(+), 73 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 508f4d1..8944f16 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -180,7 +180,7 @@ namespace MTC_ADB vettDbData = new DbTS[1]; for (int i = 0; i < vettDbData.Length; i++) { - vettDbData[i] = new DbTS(string.Format("DB_E_{0:00}", i)); + vettDbData[i] = new DbTS(string.Format("DbVal_E_{0:00}", i + 1)); mAdapter.AddDataItem(vettDbData[i].mSampleData); } @@ -356,6 +356,7 @@ namespace MTC_ADB { // segnalo eccezione e indico disconnesso... lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, fermo adapter{0}{1}", Environment.NewLine, exc)); + DbConn.Close(); parentForm.fermaAdapter(true); } // tolgo flag running @@ -499,7 +500,7 @@ namespace MTC_ADB if (connectionOk) { // recupero conteggio degli eventi... - Query = "SELECT COUNT(id) AS num FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); + Query = string.Format("SELECT COUNT(id) AS num FROM tracelog WHERE resource = 'E' AND device=1 AND id > {0}", lastId); DbCommand qrycmd = DbConn.CreateCommand(); qrycmd.CommandText = Query; qrycmd.Connection = DbConn; @@ -535,9 +536,12 @@ namespace MTC_ADB bool valFound = false; if (connectionOk) { - // recupero conteggio degli eventi... - Query = "SELECT id, value FROM tracelog WHERE resource = 'E' AND device=1 AND id > " + lastId.ToString(); - //Query = "SELECT value FROM tracelog WHERE resource = 'E' AND device=1 ORDER BY id DESC LIMIT 1"; + // recupero conteggio degli eventi... se in debug rileggo da inizio altrimenti SOLO ultimo valore... +#if DEBUG + Query = string.Format("SELECT id, value FROM tracelog WHERE resource = 'E' AND device=1 AND id > {0} ORDER BY id LIMIT 1", lastId); +#else + Query = string.Format("SELECT id, value FROM tracelog WHERE resource = 'E' AND device=1 AND id > {0} ORDER BY id DESC LIMIT 1", lastId); +#endif DbCommand qrycmd = DbConn.CreateCommand(); qrycmd.CommandText = Query; qrycmd.Connection = DbConn; @@ -564,6 +568,8 @@ namespace MTC_ADB { // salvo in sample SE trovato...! vettDbData[0].mSampleData.Value = valore; + // salvo lastID... + updateValUInt(0, lastId, "LAST_ID"); } } } @@ -684,66 +690,6 @@ namespace MTC_ADB // salvo in ram! persistenceLayer[keyVal] = newVal.ToString(); } - /// - /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce - /// - /// - /// - /// - /// Nuovo valore incrementato - private uint updateValUIntByIncr(int i, uint delta, string searchString) - { - // stringa da cercare.. - string keyVal = string.Format(searchString, i + 1); - // recupero valore precedente... - uint contAct = getStoredValUInt(keyVal); - // nuovo valore... - contAct += delta; - // salvo in ram! - persistenceLayer[keyVal] = contAct.ToString(); - // rendo il valore! - return contAct; - } - /// - /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce - /// - /// - /// - /// - /// Nuovo valore incrementato - private long updateValLongByIncr(int i, long delta, string searchString) - { - // stringa da cercare.. - string keyVal = string.Format(searchString, i + 1); - // recupero valore precedente... - long contAct = getStoredValLong(keyVal); - // nuovo valore... - contAct += delta; - // salvo in ram! - persistenceLayer[keyVal] = contAct.ToString(); - // rendo il valore! - return contAct; - } - /// - /// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce - /// - /// - /// - /// - /// Nuovo valore incrementato - private double updateValDoubleByIncr(int i, double delta, string searchString) - { - // stringa da cercare.. - string keyVal = string.Format(searchString, i + 1); - // recupero valore precedente... - double contAct = getStoredValDouble(keyVal); - // nuovo valore... - contAct += delta; - // salvo in ram! - persistenceLayer[keyVal] = contAct.ToString(); - // rendo il valore! - return contAct; - } #endregion } diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 4c6a4cf..dc6f7d6 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -5,14 +5,14 @@ - + - - + + diff --git a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs index c1cd8a5..945f3ef 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.Designer.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.Designer.cs @@ -113,7 +113,7 @@ this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(193, 37); this.label5.TabIndex = 1; - this.label5.Text = "Last Data"; + this.label5.Text = "Last Read"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // label2 @@ -159,7 +159,7 @@ this.lblLastData.Name = "lblLastData"; this.lblLastData.Size = new System.Drawing.Size(193, 37); this.lblLastData.TabIndex = 5; - this.lblLastData.Text = "../../.. ..:..:.."; + this.lblLastData.Text = "..."; this.lblLastData.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // statusStrip1 diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index 98bebad..ca24830 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -395,9 +395,10 @@ namespace MTC_ADB private void setDefaults() { MainProgrBar.Minimum = 0; - MainProgrBar.Maximum = 100; + MainProgrBar.Maximum = 300; MainProgrBar.Value = 0; MainProgrBar.Step = 1; + portMTC = utils.CRI("portMTC"); } /// /// Avvio adapter @@ -519,6 +520,8 @@ namespace MTC_ADB { slowCount = utils.CRI("slowCount"); agObj.gaterAndSend(gatherCycle.LF); + // tenta salvataggio valori ATTUALI dei parametri ove applicabile/aggiornati --> sia file corrente che file "history" + persistData(); } } private void checkVerySlowTask() @@ -528,8 +531,6 @@ namespace MTC_ADB { verySlowCount = utils.CRI("verySlowCount"); agObj.gaterAndSend(gatherCycle.VLF); - // effettua salvataggio del file di conf con i valori ATTUALI dei parametri ove applicabile/aggiornati (es ore utilizzo, KM assi percorsi...) --> sia file corrente che file "history" - persistData(); } } @@ -582,6 +583,7 @@ namespace MTC_ADB { normCount = utils.CRI("normCount"); agObj.gaterAndSend(gatherCycle.MF); + lblLastData.Text = DateTime.Now.ToString("yy-MM-dd HH:mm:ss"); } } /// @@ -782,6 +784,7 @@ namespace MTC_ADB } else { + gather.Enabled = true; avviaAdapter(); } checkStarted(); From 12f4f8170801eb0efe542b4b2595bf68a47b8563 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 18:11:29 +0200 Subject: [PATCH 22/29] completata gestione errori x adapter DB, si pubblichi!!! --- MTC_Adapter/MTC-ADB/AdapterGeneric.cs | 47 ++++++++++++++++++++++----- MTC_Adapter/MTC-ADB/App.config | 3 +- MTC_Adapter/MTC-ADB/MainForm.cs | 4 +-- MTC_Adapter/MTC/baseUtils.cs | 44 +------------------------ 4 files changed, 43 insertions(+), 55 deletions(-) diff --git a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs index 8944f16..298e02a 100644 --- a/MTC_Adapter/MTC-ADB/AdapterGeneric.cs +++ b/MTC_Adapter/MTC-ADB/AdapterGeneric.cs @@ -69,8 +69,10 @@ namespace MTC_ADB /// Form chiamante /// protected MainForm parentForm; - - + /// + /// Numero tentativi di riconnesiosne prima di chiamare "fermaAdapter" nel parent... + /// + protected int numRetryConnDb = 10; /// /// Tipo server DB /// @@ -161,6 +163,8 @@ namespace MTC_ADB // salvo al form chiamante parentForm = caller; + numRetryConnDb = utils.CRI("numRetryConnDb"); + adpRunning = false; adpSaving = false; @@ -172,6 +176,7 @@ namespace MTC_ADB mAvail.Value = "ND"; mStatus.Value = "ND"; mClock.Value = string.Format("{0:yyyy-MM-dd} {0:HH:mm:ss}", DateTime.Now); + mMessage.Code = "ND"; mMessage.Value = "INIT"; createDbConn(); @@ -355,9 +360,22 @@ namespace MTC_ADB catch (Exception exc) { // segnalo eccezione e indico disconnesso... - lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, fermo adapter{0}{1}", Environment.NewLine, exc)); DbConn.Close(); - parentForm.fermaAdapter(true); + numRetryConnDb--; + if (numRetryConnDb < 0) + { + numRetryConnDb = utils.CRI("numRetryConnDb"); + lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, richiesto reset completo{0}{1}", Environment.NewLine, exc)); + mMessage.Code = "ERR-ADP-RESET"; + mMessage.Value = "Effettuato Reset Adapter"; + parentForm.fermaAdapter(true); + } + else + { + lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, tentativo reset{0}{1}", Environment.NewLine, exc)); + mMessage.Code = "ERR-DB-RESET"; + mMessage.Value = "Reset Connessione DB"; + } } // tolgo flag running adpCommAct = false; @@ -384,6 +402,9 @@ namespace MTC_ADB { // log connessione KO lg.Error("ADP - Connessione non disponibile, provo a riconnettere"); + mMessage.Code = "ERR-DB-CONN"; + mMessage.Value = "Connessione DB non disponibile, tentativo riconnessione"; + // provo a riconnettere SE abilitato tryRestart... if (adpTryRestart && !connectionOk) { @@ -443,18 +464,20 @@ namespace MTC_ADB /// public virtual void tryConnect() { - mMessage.Code = "DB-CONN"; if (!connectionOk) { try { DbConn.Open(); - mMessage.Value = "ADP - DB Connesso"; + mMessage.Code = "DB-CONN"; + mMessage.Value = "DB Connesso"; } catch (Exception exc) { + mMessage.Code = "DB-DISC"; + mMessage.Value = "DB Disconnesso"; lg.Error(exc, string.Format("Errore apertura connessione DB: {0}{1}", Environment.NewLine, exc)); - mMessage.Value = "ADP - Errore apertura connessione DB"; + mAdapter.SendChanged(); } } else @@ -471,10 +494,14 @@ namespace MTC_ADB { // CHIUDO! DbConn.Close(); + mMessage.Code = "DB-DISC"; + mMessage.Value = "ADP - Disconnessione DB"; } catch (Exception exc) { lg.Error(exc, string.Format("Errore in tryDisconnect da DB: {0}{1}", Environment.NewLine, exc)); + mMessage.Code = "ERR-DB-DISC"; + mMessage.Value = "Errore durante disconnessione DB"; } } /// @@ -520,6 +547,8 @@ namespace MTC_ADB { lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); answ = "ERR"; + mMessage.Code = "ERR-DB-COUNT"; + mMessage.Value = "Errore conteggio dati da DB"; } } } @@ -560,8 +589,10 @@ namespace MTC_ADB } catch (Exception exc) { - lg.Error(exc, string.Format("Errore in recupero conteggio eventi: {0}{1}", Environment.NewLine, exc)); + lg.Error(exc, string.Format("Errore in recupero dati da DB: {0}{1}", Environment.NewLine, exc)); valore = "-99"; + mMessage.Code = "ERR-DB-READ"; + mMessage.Value = "Errore recupero dati da DB"; } } if (valFound) diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index dc6f7d6..19a9d9a 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -25,7 +25,7 @@ - + @@ -39,6 +39,7 @@ + diff --git a/MTC_Adapter/MTC-ADB/MainForm.cs b/MTC_Adapter/MTC-ADB/MainForm.cs index ca24830..59aac0e 100644 --- a/MTC_Adapter/MTC-ADB/MainForm.cs +++ b/MTC_Adapter/MTC-ADB/MainForm.cs @@ -17,9 +17,7 @@ using System.Collections; using System.Configuration; using System.Diagnostics; using System.IO; -#if false -using System.Data.Common; -#endif +using MTConnect; namespace MTC_ADB { diff --git a/MTC_Adapter/MTC/baseUtils.cs b/MTC_Adapter/MTC/baseUtils.cs index dc2d7f6..066ea6e 100644 --- a/MTC_Adapter/MTC/baseUtils.cs +++ b/MTC_Adapter/MTC/baseUtils.cs @@ -306,49 +306,7 @@ namespace MTC } return result; } - -#if false - /// - /// folder archiviazione dati configurazione (DATA\CONF) - /// - public static string resxDir - { - get - { - return string.Format(@"{0}\{1}", Application.StartupPath, CRS("resxPath")); - } - } - /// - /// folder archiviazione dati configurazione (DATA\CONF) - /// - public static string confDir - { - get - { - return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataConfPath")); - } - } - /// - /// folder archiviazione dati storici giornalieri (DATA\DAT) - /// - public static string dataDatDir - { - get - { - return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataDatPath")); - } - } - /// - /// folder archiviazione dati (DATA) - /// - public static string dataDir - { - get - { - return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataPath")); - } - } -#endif + } /// /// Oggetto timing x archiviazione dati perfomances From f35aa3f015b8ede8080a76553d01b78b6161aa1d Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 18:23:48 +0200 Subject: [PATCH 23/29] ri-aggiunto DUMP --- MTC_Adapter/MTC-ADB/dump/dump.exe | Bin 0 -> 110080 bytes MTC_Adapter/MTC-ADB/dump/dump.obj | Bin 0 -> 4952 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/dump/dump.exe create mode 100644 MTC_Adapter/MTC-ADB/dump/dump.obj diff --git a/MTC_Adapter/MTC-ADB/dump/dump.exe b/MTC_Adapter/MTC-ADB/dump/dump.exe new file mode 100644 index 0000000000000000000000000000000000000000..f5e143a4d07956808f7ddc7252854da0aa0553e9 GIT binary patch literal 110080 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 Lc$`IxY)kwPR96tC literal 0 HcmV?d00001 From e7ecbd8584c32a62a2b095c00ba88d3df85e6014 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 21:59:57 +0200 Subject: [PATCH 24/29] update package NLog --- MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 3 +- MTC_Adapter/MTC-ADB/NLog.xsd | 8 +- MTC_Adapter/MTC-ADB/packages.config | 6 +- .../packages/NLog.4.4.5/NLog.4.4.5.nupkg | Bin 0 -> 2255883 bytes .../NLog.4.4.5/lib/MonoAndroid10/NLog.dll | Bin 0 -> 518144 bytes .../NLog.4.4.5/lib/MonoAndroid10/NLog.xml | 21512 ++++++++++++++ .../NLog.4.4.5/lib/Xamarin.iOS10/NLog.dll | Bin 0 -> 515072 bytes .../NLog.4.4.5/lib/Xamarin.iOS10/NLog.xml | 21412 ++++++++++++++ .../packages/NLog.4.4.5/lib/net35/NLog.dll | Bin 0 -> 588288 bytes .../packages/NLog.4.4.5/lib/net35/NLog.xml | 24027 +++++++++++++++ .../packages/NLog.4.4.5/lib/net40/NLog.dll | Bin 0 -> 591872 bytes .../packages/NLog.4.4.5/lib/net40/NLog.xml | 24140 +++++++++++++++ .../packages/NLog.4.4.5/lib/net45/NLog.dll | Bin 0 -> 600064 bytes .../packages/NLog.4.4.5/lib/net45/NLog.xml | 24335 ++++++++++++++++ .../packages/NLog.4.4.5/lib/sl4/NLog.dll | Bin 0 -> 364032 bytes .../packages/NLog.4.4.5/lib/sl4/NLog.xml | 17612 +++++++++++ .../packages/NLog.4.4.5/lib/sl5/NLog.dll | Bin 0 -> 364544 bytes .../packages/NLog.4.4.5/lib/sl5/NLog.xml | 17612 +++++++++++ .../packages/NLog.4.4.5/lib/wp8/NLog.dll | Bin 0 -> 430080 bytes .../packages/NLog.4.4.5/lib/wp8/NLog.xml | 16793 +++++++++++ .../NLog.Config.4.4.5/NLog.Config.4.4.5.nupkg | Bin 0 -> 3162 bytes .../NLog.Config.4.4.5/content/NLog.config | 41 + .../NLog.Config.4.4.5/tools/Install.ps1 | 12 + .../NLog.Schema.4.4.5/NLog.Schema.4.4.5.nupkg | Bin 0 -> 15493 bytes .../NLog.Schema.4.4.5/content/NLog.xsd | 2966 ++ 25 files changed, 170474 insertions(+), 5 deletions(-) create mode 100644 MTC_Adapter/packages/NLog.4.4.5/NLog.4.4.5.nupkg create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/MonoAndroid10/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/MonoAndroid10/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net45/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/net45/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.dll create mode 100644 MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.xml create mode 100644 MTC_Adapter/packages/NLog.Config.4.4.5/NLog.Config.4.4.5.nupkg create mode 100644 MTC_Adapter/packages/NLog.Config.4.4.5/content/NLog.config create mode 100644 MTC_Adapter/packages/NLog.Config.4.4.5/tools/Install.ps1 create mode 100644 MTC_Adapter/packages/NLog.Schema.4.4.5/NLog.Schema.4.4.5.nupkg create mode 100644 MTC_Adapter/packages/NLog.Schema.4.4.5/content/NLog.xsd diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index 627061b..d946a62 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -42,7 +42,8 @@ ..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll - ..\packages\NLog.4.4.4\lib\net45\NLog.dll + ..\packages\NLog.4.4.5\lib\net45\NLog.dll + True diff --git a/MTC_Adapter/MTC-ADB/NLog.xsd b/MTC_Adapter/MTC-ADB/NLog.xsd index aefcab0..4aa20b2 100644 --- a/MTC_Adapter/MTC-ADB/NLog.xsd +++ b/MTC_Adapter/MTC-ADB/NLog.xsd @@ -1587,6 +1587,7 @@ + @@ -1599,11 +1600,16 @@ Name of the parameter. - + Type of the parameter. + + + Type of the parameter. Obsolete alias for + + diff --git a/MTC_Adapter/MTC-ADB/packages.config b/MTC_Adapter/MTC-ADB/packages.config index 03c90f5..9e04786 100644 --- a/MTC_Adapter/MTC-ADB/packages.config +++ b/MTC_Adapter/MTC-ADB/packages.config @@ -1,9 +1,9 @@  - - - + + + \ No newline at end of file diff --git a/MTC_Adapter/packages/NLog.4.4.5/NLog.4.4.5.nupkg b/MTC_Adapter/packages/NLog.4.4.5/NLog.4.4.5.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..722489403f446187faabd7056f4d40246d74cd3c GIT binary patch literal 2255883 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%0D*#S*#(9ca@cD+C!NOuBmYwX_y= zCF6#v$ zhjiC(TV(cd14fVPvA<=J6KiVStynh6GLubp&>Q@y34o;%hqK*I;Gf7qdJjy=-qess zZPPGX*2yax<|KnIiX>~Y<%hI(<3Vg(VkH|1UpzWR?!m`U&;n&&pwka>>Ex=M>r3E3 zh8=!YqQYL zYD@$Vtg@ei8ZI9P;rA7cJKL!(kjby1r4NWoPoOGhl0HXsDdmvJggqw1QMogf)JCPt*S#mQM#X%~!k{x$?~8^|hGYg3>5;ZU zc4#Xno@U|!D0~HlCb%*#WH-~q&EYuf6F|} z4gK7We!|`_>GMTLrt5}2t-;Nj=a{&N3$DJTwf(KI5$i-1Zv)@+Ba!i@Z*pe67h0C^%_`g^Zop2wkCxGL zCVIR7#GA#-vvL!ah#tu&N=q@>HeNQOCtnSf2$Nq32M-Uql=D=J+u-lY2qZBv92o#` z?IL9C=|(0MxgX9ST3B_7zeg%s0g84TB~7YCDPZ-+>5_z884?LI@%>#QlJU3i zes2loFY_pe|GhYHw67fXWqwqjVPm76r>3GoUL*&3(H2R5Urdtlzn249HbIsvhy6Z3 zY%sIDf!J3L@-jKd%XUu81~u(q)w0%1oE+f$aecT33;nWpYQcAx*3vsR3Ge#oz@dc= z4xC~X?KVo946(4?-{86i z_e~*!b{Zi~a<(L>dgHrEz^xV64dq|&rspP!zy3OIwmS%e-zI_V!ELi!wnrTpAG|h$ z*JkA)EqiS^MGj7z!D+J#v|cnw%T5~w4ed}hvbGGHo_cInydJL<1V;;+B{n(Yq4;IBy_d+^un0Chl$zn0li z2gV0~&ET(DIY`U?8cvaezh>~)>;kP94brl|MnOY6RE?}H!=|VHn$H4~?&?wd7O=$E~-^A4O# zJ<#nwI&f%Vg9E1+MZ1lXCb?S*SiN!JBq7&|1BWKuQ3p;6h5dElYMD4$M}5Aq+3D33heaSJ$mH^eR1-H! z_5(zp;N*^kO4NCtCia!yU-JyP^N1Qj3axpLs3u8u51thS%mF0HJ=KV&v3u@1zH758 zsM582-3}R`$+QeTz>@&S0zl@)n2UfJx9}4ilCr?y3(!CbS%4nm2OiVss>jA-@a;GM z^uOKE)AYr{riB2#&qL55uwP&_e&W{=cBA7jHUUeH>dpbm$YH&^@VvCDktNq5VTB7F z1cW%mDOQ5NmW9ZfzzvK?r`Oh`R|>pl%WUjcO6ZRU#Wz+(%DJpi6p^H~byxQR0))NT|0 zNYe^uOU-ZDC#y;{87;G66{dk35j*sS`6l^D3p=Aye{JlH*D!2xXDImF*cheyx418i z9dBb_6cXR!zDP2+u`zyG+~UqiZERy_+={AmXXDh);Li)}MT{i>Hk?kCCEA&0EDg{| zvN;Nwg9hGdC?rQ4T#fJ^M82!Nr;ur_O-}f)2dHmJ|eM*n4W%^CkKE86S zz|w8&pA2#7um`{t$Tr7_JXCogtcEl|#ISW=1+Dab((d$O4M(SZAPqmL7^`=l`*7xe zWXwde{URt&U{FYBd`8njpF#!HaDnu+DX3hk!@sxYR=^#1bN$hphwx)ahywtDx-<8= zzJst56C1k2XARu#JtYOCaJE=5M|2VwPo4Qo$4EY^N&si3nRSrZvY)rK2>7-txgw&& zLhd7_F5w92EQBp5xsV!~ffqm(_!)iWpE>3^9H>&NFs@GbJbj64rftG`GK_E@+Iqm% z!UTb!4R7ESe(GD$J{=e)aOc2=+y(Qvb);-*aG3B-)B&>VO(46aGg}TyD^N?ot5qC; zL_+ZS@t=U$i^qirvIjkTYU_?()?QCe0dKFLPfj%!jneRnOE34W?laDV$(86ad>@d8 zg4uCRGAq#p7ki2~qJf=Xk39aMvYnB;`1{oyJpfjai39q7^+5yPyk{N|Uc6(nQ^}HE z356<*&d9HE3^N^_p66zskc$P^wb~&o59|5LHEzcP*P`YERXX5W$2pZpRj9}j_=zud zT8bbW5G2K*2m$fkCg{a`f`j0PcF-i$#xAE{MG)NxU%HMSHawltQRQ0{+E;nlX_fGN1eQ+}VIi351d2tD7r zXSRygoTKF}cp2Jf(Org+6aSF+#N29ew>3DFz*y4ouvOSVot`!|T$bF0r^J04wn`$J ziQ^;`PgWF`V1~qsSWJGf6D5tKW|Jhp7cM#*!Ta6OE%OM{+y$5VgsQ~J`o}3~ z0x*5fMe45O*CG$@I6HqikVR(Z%(bP@Sv&(eBfm+}Og+#weS#6iT=$alV!|i{V&=II zO3Heq;FMf-26NG(aXcNcA+@BC;>)J4H|NqTUbF9p9wN-sOy+~4sIMSnT5`O>%<^Q| z>&MWxS4vshTPFC>5}=NvelffdV@z_0kLFfhlme#Lu9Z6`ah-Be2&R-CoMnxpzub_) zj9Y?t{>eO7JO1ve(q^{Nao+1oKnx^9BBQ%_1fT$KILiw<)s28v!3a z+f4g4biwMa-A2zrq+-nh^Z25b6t8J^3}sknxUZ$Vk!Fz(pSj;OU>%Q}ah z_u_<$H7SHJKy~BE8$_? zQR7l%o5LpLQ1ZArp!|B4ae{{|%5C`D-~NUqMPCM9$mrmq0y#OI>b6gx8$W>A?WWB~ zp1j|>f|SF-RvHo??I+~NN2g+JE{f__m2$xBBR{h<5U81tSC9VbNz9hIWYBMMXkLki0Vid z0Z^@4vMk~qO|82T@=gqxExQePUN>f>v-=jNR7b1S9g1q!j{VS>;TH4y`&jqxK%Wr* zQrdTR(wvb;E|MGOn9Rc}9_i27%<a5r`cNwmBjJ2> zsusYQLuiaD@>*`Ymg}gzm5e_jT3=iBs#XH+o6jnvtn5bQe-5g9i8B_cXp;tLdT#oG+|)bRj(By z1K?5aJ@cQ6I)IpeJYibMeXQvLi;lKG(g5Trz-%la=r1gfYXX0}#u7L$M&Gp}^Zn7q zuc2=HFVmMPCzY;N&fPhn5YPRC%N?#fBa-110LCf|fGSH0$MHC-G`Z?xB=OoxB4{Q7S#R$wfxo~1vDG6j_o$R%Y{ z7>t}vl~JfZf z9rmCb->T7|!4NiPY{+{AHkOVVdjg@Cy2ekOtSFmru5w2z?U zr8z{{uUb4_yf8w>7I&7L4aRDBZ9$ZEq5Cq2h2jD;?zVa>vE?`M(cLDO0_fIpg9b|P ztRdpmiq#7$wCyoY19lsCF-zcQoOYJg>p)FIcJQ9o4${GOng`w*FJuOIW!Y5Zd`y;T zB3a_FJCY=&eUPc6SEuvwleZlgcD;6)aB{u7UDPH8`KD^xe7dQ%q|K(`YQyXx1L}ro z4-4U>)`#?)J`m~^aZ&>j>83~OQE43ArW(ir*1&J9G|oD}mK0%BBd7eiNrbp(2B;vu zs$#z6R(Tit$RM(y1)+5t1mpLN<67v`JLWFCxvw~U~H+TPSM7@jeM&P z2l~F{N;;e2*Le}0_5qrEul@Qt>+rG{rE_Y;>QFUjsG4(NRdeX{s7mEfN?-yv#eFAMKu0Azwo-Mul(k*8Vt#x; z$C1Rzc~FTlC|$*Qt{dbXKO$#=7FiG+36tEhATAJ;4@S2fWJgJW3O_)-z8e)vsFiIT zBDp9q8jJb;Wi^LE^Q}tHojV52$=KZ?{k(?U?m?)*jlYIYZkSDg-KwOL7Y(8vzn+}F zc@x!5`nUMcKia{o)Cc}kW-9pUjz1?#E#XIc@@ad1#3G>7dmp&^nRxC`!h_$oZeBQuoC32V5HYzneNWXkq16p1nGlBAko zW^q1FN?8)ARUut6#a|bl+=`54kAQsx%tL`X&!iCm41?nc~bi9XHjt!_(7Y(+Z=YpePLJ8 zM(~5|qz#rcC|y`3hBnuQ&G$C6Y!f$3JB_!X+8!5QCrUBn-De~erzjz*5h%(gR_ljH zXbq*T6?t&7wu-EjFDpiuHBBQG>3Mb?jeu)Slvp9S_Bt-EaL0QQA6I(Q1uA>VeOI?! z;;kq2`8q=aEAQ?mzbRkV2Z@~nwFJc}NiVs4UOz(B>=%U}wBt8#YN#`u9GDr&^~!(NFoNaEMvmq z-34_B5SH6O3hs$L+|{**HN0=^eq)aHPh}eUi|&}u9y}`uFjrc>ER2IX8QvPjEn2f; zWKi1|3o%UFjr*wwrXcpgj9+~LL{FBnDbIYLd7uVJ6_}`o+eK8A*u2-}O(w$FVUOaO zN+zaU-O(xE2wh3a30M0Q=a|=hdNob1&UBgYJPE)E4UE|d4}X)vh?vtl_mxMGA5>0`diWrFM=md6Q9B39iFFHunf(&VNh?O_g-XjLml`m$h7T~2?i9UknT5$Ydq`XL%B=)v-rwASwq8`mRVjcw_8cHUVOT2 zpqff7vSzxEtkjq>?z&(={?a``N5-e{>uqlpS7D^mV)}rWk0HL((D6zzD~IN33j8Z4 z>;s7D?;0g=sd7URCx}1;&`W%aVstyfJdUV(y-eN`qq${wk6J*)N06xWMd`Zqktilf zO}JFc?2YG-D5qR%aAp90_ls#A9=bgOOUaj84+O{F5+HIe?jgi4QuLqCbY*3quACA# zr>-z(eC_y-+hZr1Ki6#={}A6iBbn((KZwsyD;x)7c62H!)_`Six)bra7TO$Xa=^lK zz!dDQp=$GSB9H>Dod5?q(Hu88(RKrD>IdT5_37)fN1C7Jg?PKXKQ!}xy^i1_u2FV> zXhkK}mEA_AAXsFn|F8Oj(TjM5C^$kWMHxW)!37g5c8|l{1WAoEG*c8bT63L1OeZ+wo}7x!#Nq;n zuwq>k^I&r^G3-c_6Y%F4KOp=;UhR5jnI@y6Ht88eMNhmVyTb-DSj7 zvYA#68f_HKC`Ln_r7|*eEf(+Gxo$a^)*~}Ng~1{W%A)_u#GnN*nS>XSLN{n6+^Wba z0h&l`|w_4Hk(rvIi8u($BVIYL`+$_FNQ{1 zW+a37T5Bt}3Qt>=hJYO;Tnq_8K!{q^W-d35K+i{A_Nq(Zj8_aO$_A*XiQOuUT}68< zr@KYeRRD?_$W3kW7fFDYTYnbx4R8#QUh|2)eDCTe&_3l&oOyT3y<{Bht4Sl!t&q1A z@zyqsmt_rg9O)Iy%~Xwvd$`FLR1ft>IL5qts1CzcIEE4&m4d;q)i!$;&7r1*A>m6b z(c#Ubs&>LU&t`O(C>o}JU+;hBDLM5SQ4IHNMmCvx*JjhI!T#EF?=6$zrOcfLSP)Q7)Yw542PZaZ z+r9+8FQM+|!0$`=&vi$?*7>Yr%}Z-*i7@MX26ML0zH2vNq+jD*{i(S)if8Gvg9-UaIZW&TJAEVTKf-KhceE z54vaicq334)gcy9OEh`|r&0}Ha%?}vy?ClZLP%~w(90A#FB>G9YOEG&QQ-hzPHGF@{mi6C|bJgQ`(5pm#FC4mTtA)OSZ<6$-)sri}b=NzO0Q&qFp z8U>WibY+_WpN)zS1mt@_y%1nEmGx%o_abd%z{xz^>fWT7$;!*a>gb9bKvXq{k6VSO zj)h&*5?`fEx_8_`Ue02nH#y{_gT25+6be__s4B6d==C;~pNq!;wKS82dua-axFyXg z#~PV%P`K)7gBkj4;)V{lIWefi<(`2DjQqv8U(8?xIT00GLR!iVSI23)P=idy8B&6g zqIt-rN>X@4(uZ4+^}7RC?nKa2mGCu5+=xV*1!R?PS6xf}FcgValI9{1Y8mSnJ`mVH zmtt*TcG3})6js^RwD>K{1kQS-C#07{ei)Gofl)YjJZ)OCf&wg8h+bF3GWYe!;%8Nm zO>&Mq%>eN>HU5dpjK#3cdc#Bm=j{;tcB#3bL3)Z@EnD5i5{?Jw;V@sNuNa3eXks8tEfoaywI>K z2f{?pN9q=Z#3aqjL`2Lq8xe#Iuy!}Z%00Ce%(WV*%>{Ku%_q1d0bTTx?jRL+%O8%5 zWf}{{l~W$ml}`UNghp0x-u${xSBC8rV5=VwnF>t83NzwfnH%-sVf2}g*+TF)~y@dVOp9A z73}LvRq@52=e`pZu+JvCAB96G>RZTvl0N?NTNopb6U7lD9)&sBGLR{HZ{vWGBCsO* zG^b4Ij^hUCxRP-lMRS#e?G@fzmIXb;b-fdxJ0M8$e@8s)uvCFwAxK8!y~l@{m0W7R@Oa4>)CP&^6*h}E|!4p)WV7Kwn7y23>A5`GA@ z*%pGt2a{k-_r2Z*khFYmpP&ywG-^=GSy~C7YTOT}&cD5)+)ibf))2XdpVi&xTVsEv zQdc2DF-E>FqESTIz^(K;CrUbuPJ=4K^M+^Dl*CnF+@KjJfH7}WN}4R^31g)W6*wI+QBEJ0jzV%_((RrI6)zvBk;~_=K@t^ijmyu=&@svd zq0nnQ<{RFXN_&v{!&yn>zAM^QOL2Ea)KF){o#IBN@^tlSG=?v~ zcyMN#ZZ1;8_UZd1ivjxK#oAj%osxOb&YTAW zR)NM`Mj(!7@i+?FWt84668GiDW`OvPO~SjzfN0|A`wv8n#ApnLiQ+)Iz5lTMqI(X; zJ2nN*2R{D(1MjSlz0_hM$HVVB1zI3d7d^UOE>m?A1wfRsBmIbbEsTz1lN0^h*wSTN||Ai zCSHH8R-yd5b6k&I>XsdPs?yj~M;yvKC&nXgYl5*eqXvHRZggX5>X6Oib@%S%w}fwl-e z6b;q-^j&TQ;YeNxtCH$Z@_9{49Lv!j=QghwfRG#Un>gGu#y-=3fUcQ?eLn746W3Ek z8*9n9FQm<$PI=@|;_|W8j^Il(T=u<4R=`q;o!s5CX7RUa0_~)Om=Dju6Sy)eClz zOSClt7$l@=Y3f%Xk~7ofJ3KDfb+s_6Y!-^#f|k9b7C&3mI?v>ZJNbrI=_QTmI!V3g zODe{OqcVH%6|Y1TwH5c04xpHpW9!Zxc3pgPg#J_{1=Uq%7g?xv$4yBynFwb>=l%$@ zM!7#nry%g1dnZO}bg;6_Klk>hZhd^aCGrbebD^ zb4-^Sy{QenkxDjEh{H*;EPd<=iC%)n%qj5g5^-BCZU;y4le{acCmB;{om9AjV`8;i zOs4|!S0kR{`=m==Jx$P}w~E;jGSmDTZ<30q-#XAr3433^zGxPKyhY>IO*5OsX)ZTT zXe#LjO7z{D47u$ft9Hzmt zgP|>|#>_3}8Sk#7KfYJ=HsnYN1`&Rb50+!i!+GqyphAb-*#qmOl5te-3|FAy>XXZY zq4mdlhYljeJQK;DB>D%>3IgWDD(tZ=rJsgKzgyI`&=j`F9i3oMsJEJlr5&TO0L!>=RHFGCs_9~aR^r4XEf4b*_xrcQoc=pBygI*i`%RvC(Z zc2UH9i7^fz=%U@@P((H@GdA4p)zs9&dluf5wDh%fhDLI?8l`VEike1-3zLEjQtNKX zD{{l;?ma8=ysCRyafGao6&FyVgj9~mYx1Yo0iv3d7sRWw0>iVY?xMUKLJz6vk?V7W zRDfSiA>`TXqQnMtSu9DEN%BI+7uO!@c>~Q{NY$P&5e>K+YjpF}YrK6TRf<##j-u~V;hovl$@X>d^~`e}H{=;O^5=$>$e(oELIsL{ zs~myDUy7=ctkJxhVG!r;Vj0B&N!9DzwMF4TfAk}Bm}eQIt9KTC155aAW$La!x}~Tq z{^@t+A_DHh5%`?D&HQn5a= zU7+q$9d_(X1?PBzd0zoCMn3$%k6sYNx488;!L(;o(1}^<+B5_!f=MA+EhI<*oIjNe zh>K!3?~5Yi8abj0yO5uliKd5Hp?!{ysd%<*1~g5XMSd!Aq|zn@krdmiHYjqrITg&x z6y;@A$n*x{YH~9d`&)P@Pk0tOk0<8OJtfhNH@SSaCOS~9xbwHE1eQN`zo3Jqe3yqL z^3an&b4SVbGueOpf!sGd;#9aARA8mJnfwY1P#Xy0-N%)Gd3W6TC?3YsPca4`7tRI?n_mx#hNO{{?-7Xb7D*;QTv&9r;1G(pXXS!bf?@;QIJfnWIYgA(dLCt^w_b$xEqhlb-BPOe z5Qzo`NgZaSojJ&TEm#s7u5b$fXa}!^uju(7?}AquW0vuHN{#U=+*PU6n)9ff7Mm}E zrK&ftg$)!I6H^X3D_84Kuv1l6rbxlahLA_GWx_L>e?UfvQFJO5_{1t7qz6)}ABRg{2+}u#k;_pv-e| zeZO(MB5(_9ST}i%k9j6kPsC}fx2vP?Q_h-N8%)YD5`-g#CT(xkWl3P@J6R7LD|AXU z+UklnRNKUHjM&$JHE z<@+*$r38Q8M|%PRt{8t*A9%~RWJ+3(#wl8iyv%1x9%5WHRSi19hsaQ*r)ss}b7#7S zMt(N}Cw^^6`LG!w5)v^nZB=u5BaJJx46TX8@diWyvaT+yVz~Vy?(4N^JG1SZs2MA^ zDc#D-#>>A@!gtI*IlA)cY8#DYV>%2u^q{m8h znIm;jnAUzies3M|(iP=2qd+hF@f2ShBc&YGfQ6e@{bCu&5$&Ubsit4L z)KQ?P6niGQ2h7d-5+e7vJ5xc;{f?`7yBH+r#Z__IXS@Yq?Pf%&aFfn_uh zl%3v9Q7}piq0||WZWA{&7o9~-QFzPZ}o6j%o+_#Xdv!*sKi{$e%4%cC_* z6$t;Pz7o;eA{xa!(`KNk+$WGHCIGNx+R(ND40_xVjI{#O!; zj2Yk5FTM04Yp};M;0E>lhWB`leV^4pAKes)p0Q@a9bEyq(aU-8Cf(fY&8bMl$*$TP zGF-fFYV~<+ z+kN1*D`W>o{!Lvsg?YlhuAqrVp`f;{2~CzOrkSE@bS(?d@CYQSKh+-K zU*q}4=7(iHg0U7YTY#eGn^yG~a&TT4Kt#u#qzB?HLsJF%M7Ul3yXF&kKR~*3 z;lgw8U~gD<&d8Xah6B7f7I|B;t;R8i5@?9-@ z2s?N%J#xksa~V~h;4LQPWeX4NraFPtK~sk7h(&Y^#fpLWjRG}RH@1fzeP5gdM7OAz z2b4H1Jf~%AC1e8%csO?o0~NC%3-ACSvg6{NxejxMXi1M+fTXI#zEzR(RNZ;pQ)5|CgNTVGWQw7yiQK*g* zisM3a-C?A@(^eCHijG!?Xvn?V(D}+}xPfkb8+*FJJ|pPVYu%>vLT2uR=HpPH!NORH z6eUAn1aucf=^%-G5t%wi7iRU}Xk|7w`sg~UySvSA1pR-B%{0HVKj@FjEl6lD*xQcs z&h@z)@`_T#e-iso?}};&Mn(U$g{=qpbNwdpc!u}2XLpY4gYCM~>R+|LL?nS}dF=X%r z(}^gF3c!`ECY>2ZoI4(j7JIFLuDoSb-CZm^g8p2ms6(7?lm*KQA+ah~3@=hLbHfK8 z8=hjZWe&L$gp47NLv}T~BTD7+1!Z?gm7k-R=a`Ymrc=wX$Rp}=c=_Kfs=G@}8<`)k zf{@)^e(eVDBLU~_8^dd#zXZYJT=bR@rAB!$sxO8-5#@p?P0(Iy`n_(^rBwlNPqLs% zb7y_Au&vx8Gi$tM+#5oL@VOoEg^CP&q%XV;r&H#ozmM+I^Oa^Y4c4!LLUkK6+5`5J zi)}Gv{q(q2M^qY?>dl;JAxXph(6S0U|2H*s@mT9|a|Xa!X5okE{UP(n2NMbCK9EV4ez|KI-I63u5!dr~F6Xox^00 zz$haEObWIvEGpf*r`h7)=JxxdRu!sj@k|EyaNi4!fIuWA7eMQVcQdTchY@&be$c&{;_gMIygBlin^K`@6756NXdE&e@6Vi(fN;YZz=v$Vx#Sz&B0bOO2 zV~GUhSUesY>FSxUPeDsIPDf++z2yhTPbJ%keWj@OFG6qO=5k$O(9hHYOB=H}%0~9L z+jpbKxt%JfjmOI}B`NuJ5Xq$qk|jOPC)8`L8?WXqlzoZR&iV{{AzzuY*C(ryyfRv4}>*wZ(o=W(jmr%L)s7q zbK~y#;ph3B=oRIW_Z8jLykI73Wg-9`HGyN)X!v%X*5IMUzZQBh+YmV=7J!xeIVO8lmf~S;@Xezg%TC7{o4yH_bD9Q{>?UrT%n+L39=~Yb=xG$0j6^>d= z3dyKE&I?f47W1Tok&Zc=Ahlda*kLycBG1@8$1O(coBOmSuDymN_JnsI6p7>(vg2Yw znO65gQ9Nu??XhmFPI&{<94K++xO>QqMNIBqD3eU4fsbdYobKwhE8W9Az{!3{$W~F5 z8zI9NrgY(mojVfcV+4z!z+&J_{FNxhmzY@`-O(If+%VhKP31(8XUOnH5|d}$VJXz2 z`xM^hoo9_uLXAR4lpOL!xg$mFOUrn?X}UG!R$qaoRp9=S1?K>qL_2JBWnAmQtVBkL zpbmUV_79LWgKK#zu5;iK7pMpMKV5@~3oR0F%1xk?V3iIHU&eDq<0po05O}w%fw#6j z_k|PAnU~DmJjmx|9KGoG^e^dw zK{N&;s8Lp6e@5X)4?ez+5J-V68ViRyiHk+1NBu|W2fY6uhA>$UR=nq->sYoPGZw42 zAM#u`IOj!-qv~ci@Lf`Kk$}bPF+t7E($HrIPf58x9~n9c9iA5}(puT0wG8h5EVIiB!(lNv18$iJhu4V9`$$IMuPVd`Pva+6n-D=B)b zCh#IBWMg-c=H3e`aWvxsHGNWvdt#dftIB}8b-@| z>dn+6yzm8Wix@k(t)0V6PS5k-E*j9C+Eo}6f>9PXPy%qt^o{t9y0d1(eZ0u$F(`TPWIV(RDU5`_e z*NsSs^ha{{>F;w%Uh37RoAJ|Km-N%!hK4~|f68r)%@v7vjk*TmxJ4`dbMg}O4dxT0 zHJomm@rHYNPErA}Z;}P7la}_9)spV62K%$<_}1J35-$p5o4VY6Y9^N|(Xf;^cTJ^X z@#_;@A|5$dFICBc@s~XPls{KX&b=DUE`@>akKHf0-tB70MKvFM5%aPh8X$LQjp?x| zMNTveu|eCQ;&geiOJ~gr2O`pE%+HBR^VNx2fZ4_JGMwVL6FaIg!CdrNMQoVVQs*s* zL6d*0+-8FJC5~GC#sxbJIVx^!u5{$+`(me7v_`HGu}AEbfc`q3y&Fjx>?<6CFvzff zllcaK8J>TwYct|w(fa(+ESTFzr|92({ai0<>0LEfRYJHFOwSzD6R_q$APVb=sFt{> zoeq?{M1_#q)*M7+Y&psVoB#@(>0-!NtXNxt6d;LEu5qx~dUK9M_l+kx3`2eS97;L5H&Tb3#f1WrRE zem952`%G5EF4~U>1A9I3a=NM7JReyIyv9yVBnZuPneRLafY~?{jb;LGH(B+m;D?R- z;rJ<-W2<&(88SOFifRR@C}iZh;;IF|oelJFa0p5M38<+z+NSSK*SJF^3z+yFn4@o= z@HOIj=P?cb6PO)z<~L7XeD_3qzQrLc67<878;)F~N3NLY?V60sVRj@=fNRub7 zPy?yfyp0#+pumq@y(YYnhCSaoq!gj*hW(goF>4D2bEa`yd!;8<0dkvAZ>J~_r=mZ# zaG5uvW2h2T(z;X)2vp%bYD*h$;!6?R7e!1l$j0&w-Q!*(VUIMuDdchL8xo7k@xP{5 zDTGVqg^H?7?JO34xI~w14R9r9l_)zI|Bjt}{aIU(-*P`G@VB$43~%AC=<+_AGafe> zm%HLeT68Z#Z%X7LFx>e<_qanP>dGUg96{9n@+5s7VQRs%;{$_1CENS3q(c&gXC*YQ7Oe6Nm@2(|ta_yNVi^jMMT8Rgp}Y; zDdlk4mO1^!uc2<&&E_$r9>>ksl8-t49y9s`Ob0GMaQVi$e3IS<7QX>N=d@-vcB{cB zX6=0QENvF_0RRPD{v%HuYC@&QBc*-(G?u#kAu{|Ncn7vWu>Ho_exB;~S$9rfMN)EmsQ#ik-D~LkhijihlD?&Nw$E)`g1>9&PM-E!s#Bk8b_tq4sDBx7%`cvFCwpqKaO#X@W(iBv+TA7bwu=4(c112ow)aR+H6SCMRqu2Ms4Ai*jm zc+JaPERXAwmAVGwJ>z#zhUjiDYH2KMqbw)#ZzLTX+38d;e$UIo<52vnrQ}#W$E(E( zdv{#Dv*<5fy)zmiSC*Yyjbo~pQXl^iLvjQqrXa8S&KU$E@FBL3*vSV!U*6Twj-))26lxJ>RzZ}g6tR&q6!G)uq3 zwv4za#nm)jzYOaSo`}l-(d4h<_6ss_q5hl73;;`3SKVuvU9Y*$ilV{F7T!u6ceU~H z#+{nOn^-y!hnR@RYB*Opj)O&o9|PuKy%W_&7tsq?hHvJYad^qPYyL*qLTdT=MGb)y zw^-KG=TPUV>oKWQt=V))=-RM@ZNnzS-6XbGjk>=j4_^5w2|Fssw(f@Rs_+LZsq!_OadU&AkXlSvmlRIq?z$jCx?Ir@(7R;&P?T4K_L zY|cRa7p5WJc3}B6WTspT*;=~YOj z7p1^4y1-icXyt8eYb?t3%Z4PF*QBTUM`~nb8=^De32#n5Ih z@Em;I5{+i_UWjyKqjbLn(HQ2OUp-2%ghTB!I6HHld%R}gxkqdFG19g@!#OfMDZUJ@ zlR6uw%lxhEb#xJ21kKD&MbbnVCpE?BfPLX2p7_avd+V=v%bXHkKbDWz^ohxJPs#zo z@>3mJbdf|d9J6Z2jNfGsJU>ZPTPe&4SDDOT4Xl}@;DhD+drtVeiq2B_?&$J1@ zPAJUAT(@+oQU^0UP8z~(Te#nlT3NN(7`~e==tygxdhWavNSC5HK!R%aC_Nh$LB|ff z^7<1;s_)K$!z%$U0j)ZW8C^4@Xblujp+QyzFwL23n-q$nV?32XjQ3fT2ub{*&gufI zHaQp~mC3m@L@P!w4-g&fy}{n=S`k&I&A|v9jKIMNZ0qdpon>f6lC*Ifa1B^730*bn z=0-H|MB=pMR((Zi#THt+muWDQtxVyA99hMfYy={Msoa67yb2iyYd^1~&K?@o;<{CF zRZ+iJTSTf`urzN z44-{pq55SaGCban8FA4Pz1#BGQ7U>_b;m-$jh72{(#PFDc=`gE2d*!l&lkYAJoyqI z^94sxj0$cJs9(RnNV9>HuV25*!xD4^4;$BK?Y{&x^DvZgL777%8n>r^5!tOW%a$0j z{4UDv%^_vgvNq#hd9|v9fcQ;fZ44xUD0dV7B|uyBm;#ei3Ibo7|H+vn#!i9UXp(4F zBz+gs(qZBz>o+=cv<$SGODAuOE;2+RKZ(i!KXPrzRrdTfNfLFSRICIu+b~sMD&s;8 zKs?E{rs1t!$|pg?!0uF?W0Ymhl7`E+ZC7>Kwr$(CZQHhOqsz8!+v=YB?#$eE@Bef5 zn-S}Y*z4qpd@~WI;kQ+MSu^}cj1|E%AtkN9hI{ZL@8-fV1KS=udmOu&-p0yUm;et ze9sya6=e^j{AvmU@VB(tOkyRnVz9#NG&0PJB&KcRB~m^51WKg8T45`d+ma2PC=5u( zCx<+UZc~t@XPU9XxdgTf5s={M`h{1iT#`I$jx=Tl`iLc&-E75ArKl0E<|S@&Y#X~y z4ePbRCPh+WlfTt1psd!aT5{ElLwZq{$RC`189gFJFl&NmrP2GYnl`Ix%A9dik5VJ2 z7y|KA_aTWu(TQ%6ij_}5=9iiLa&$~nhe0_0@P=n*@ z_1(Z@GFYJSdcHxABURWB>bS-+9iP>6zt<76*Qc)%!9bbA@W6*D znY-3zOX&uE&I^HU6+3u!bCi5v+3^xswtraLAX9NRQIJ z)RQjgx;$2lPf6CB8r`ys7U1>5Q7A;|C4&BQ3d0RyUNZXJyOb?6m)^c4fI8(=vZr7o zfYc?Q`WNtVswc1%mb#);q@rHAqrSv-Q}GG$9C#@+eaVA#g_tu(eaXwZVuffMuo_mo zBA0drpD_o0iER49-#@Rq`hNP7;4(Enq>}-ZF8cigyRLj!uL0D!%pEVOwBW5vyjq^8 zp-H*}2GPOM=lL5b6`cnZ2opd_*ANte4dY6#&E)WgiqARMfjC=V1_NT#RYI{kg z0c&0KcP(Y@#sBlHmX{P7_!P?hEFH$u+3$`>T=vDAc*cX_O%MU>;k#vh;U!Mn(9fTqvR^@2#fIBU-3vBYC6g6aa-}4-#ALCuiSH+?~++ z$}oF+HS1v7*4%-y-g)9>*25~h7bCZ*jbC|&i%(UG53^msrw9MANmi_4oz}V?N_YYf zBQZ=m+1mi-Er%r10BpkeL6SR&vl*sZ%nOTL+gG^RD;V8$u$8~KxpHjY-|jPS{i+jq|$_i7Q?Y4)=D;nm^V zDkOHygs<3*eSb1R6C`M7QYilZ0Ea-0G4kEwqT1jPbv!?r-5i_3!p(6Bvj2t^$anb-7f zfH^-GYFqGVUjM)u{H3h!lC6paQ?Pz+UbSv{bzYx6iMN=r%tsNQZantM`Ie1h-K~3E zOvl;5wZy4T0&bRFVRy^4=~sUVzA-nN*GWv}i9lH6FXbs1#hY8v-G41%#IEd#$|t%A zOSP;jKjKf{l6|I~%Bi}6m-n#oGLswPPr0mk_*C5LeQ9+E9=$ao?h%M>wl`FZU3O>c z-P*q$rQCIDSo&(fjg@^AJH^ckc8dYkn?LJ9@lMgW(*@HLp|GQSs|45IzTBe@w6hve zLv83798haM^aasd2LIakG>U3kF}YjrP2fkyFlVDN+oey$E*qyld_KEUxKn{uzv&@2 z{E2&Uj~X?|9HMt4$36|kgaz4KrOdj5?X6P(@tcz`49&X*j4;T>k$*)ZZ9uI=_6)&$ z`Si0GEXb+Rcmvt<3ee^n)wc__S5e^G9Hy~B)pmrf#DWS_fhvn+iYIZ+gVycxI!7~m)$$p}RYFjMSSL&) zl@n(eMis9fHVZ~j65)ccyb(NwRbKt3jeiQzLD=St3bP{tjBOi{24h*}<6+b3>Kd>N z)uQq1fC_Nitxo(1fe;)afAR2Kr2q+Rg3718{XgzL>c*&Wy;2D(=g&7L#wkN?UI{AO zz%F&fRS4ZRBC0Bb$8ch*`=OtR8Yv~D-`XFReUddIJv^mG+MB5gLoY2 zU&PZAR7_+~5j2)hrHa6e>==bN;4QBJO|Fq$yJD&p`M>N}dm}~Rf(NcuQKU|kU3|S? zzOcOVB}_7}cpEMEUV5MxFpS3tLBg9cG+4rm2^%f(;buZkJ9Lc-RG2?#hgD6`y3+`3N7z&2v~*V&?v zMl2o@-FY~@P|Q?-Q@w7(*8HF@nHMC739tlfT*>=MMKq>|G?yv0E?`@!*1Y>>W(z{J zY6Qmgb8zBa7EFdzDv&vYwV&TvD+cnjX)<1d@x1u8yh3(ui)xkS`Lu`X3KM}19J^2t z5_#0N@$-55j`7MBbEvxFy0O@O{}!@?aX2C%lKdLcg*CMJK|ZR;sRF!nTm23-rdMh} zEd%t{`uj}AHSBZmEB4QOz#>Sk~tv2 zbfcSIZS$u#m*Caz|F?nIhIAOus=R`m z&)Ri>S1OlH+yvEu#qRb|#0tdX2!lvO4X6dFV+Gc|9Gpe-Z0nCwrde#8g_N$%5Rwc${65c%YFiP0%ls1ki2A)fSt+*VFKWvap|Hf$8H~xP1LNju+#@PvGRTbbpmGl z_lJU4^X1rn1JjwO&3&16gZU6u1fZ8c2F~_$f?=f($SP{)Nm%NG9j6QU(FTH<)+Z&e zm?d&*o8J91kZ!tYXAzkr)h7d3y8N_>wYN-qd4Z*NUAAkAz2U_`moc zpEd)qaZoCrGfTl-=Ujf|VBsPcKBN_ana!z(~Fxv zAfWIQ`GtMP0P37c(|8;E;LPz3*}#J3#r4bFMWT&Mbj1s@-QpQmB0cu0f=<~s9K>!! zwHD}~ZOOo5pbi+So8B`ypVD%H!E5Gy*F9ixVUr%xvH(cuOlvOs0N}#Loy5g{5Kh@< z+_iqdd5yS#aM&hWhx6X^AFJ+rVy+LcMYaZKwdXfp(euPw;~yPw0mf%1;QaXy3N||b zaA+d{5eFgXIsFH$ITyw2en`0RxesXtVCpmW0@pndaA7kZvVRhpCCzmg08G^MXJN4) zj8nE4_wC_M*jKRNjSMG5@JqB^JZ|H(muhTpk`J}|D?+&?+^XHhKlfw4^H z;G*{Y&MQWNSQrAUn9acC>;!_BOd_z=`G-Gp$p6lP&5s;7T=>+7lpHYjKXU)1{Qu;# z1-R$~feV}PkeBuu1EFV~dQ6qff54qA_y=5)jeo#B{1>?MKj0Rt{0rRTf56RX{s-J4 zu^(`i{{vjk{{pw> z{uA7Pwy&Dj+n9%EOm<5F7A;?FVDByxU0h z)g)0fp3+i3)IV}RE#RM;{E_=-(NlZ*6g9IXF8ot_oH2#eeplyUUG`5A)6yc&Ut>TZ z_+iDz>8Sim&lotgqu}dVyTV3!(xd1T4UwF%q;U7Vvj1G`j;&6BNByWZ3y-(-+F1G_7VY=C$V7s9##@iqmk z0`Q^vyYa_3IeR((n68a_V{5WfoSot=0&{-L)er&HmBd60+*Ki6}O?LQ{am##c>wgBq@ zBys@ozVG4A5>q$?;zIp)POJOC*+CKJ90j^y*^Y1s=&`BTBFb$Hd)k91=j{D?@5KAS zcsJ{+;d4z+_yM&Zx4uI8T#m+Xo*@m`ka=5Zg(9j*P?1MAOgbs(^G%w#G{lpHyBc5# z#ckY7&!FD#&m{+$!Ppb4`dpKs{$Esh&`;nPmQbd(q96_YaGs+$CmNy;94ah;vT@D7j!Ph^WD+Vm^W1V*luaIB2vxq0d0_9LD(` zAz+abJZ-Mt%J%lY={%e3a;WN`w?4~-cH%^8Oak^^W6a+;LNCB*y;7%~HQad@$cbn3 zfEa&t*>t;K61baYo@d%D+x|7cI53E&<8VC^r9z8Gfpo9UfdY+I79TWH;+6$9m(IV1 zKvC0utAg_Hlc1u@Ot5j`RnpH@SrIF16v7B#;k^qnKj4sPAwk))c(1V!D zXk7||gS0qAf~;{W<2YsLocnC^3~P}7*lKwt@GwlWO3OPx?IiW#ODZ%Lg%-E6lkV(* zKG{HB;CbTl(Wn^67;RJncs1E$4PyKy0I`J%o~Q~Qmu(M?8$-jh_Zk&o63nU&cd09+ zhwoJ#NSGr^fYSlzWvW@vmv^=KjJ(j(LQ1Qg0Z)yly2=bo0UTiFxIhhFlh7&|6oJM7 z|Lw1pe-`b*I`5Mn$qxvitdMf1(ffG?LDBNoMDGEmPS0@lZD5MYw6%kjz#{NhT48!Z zlOp5x6CP6idtcJND`NUjeTl#Rd>2p^pf6G6>(-qun6bGq6Wi<@^g8=57#?TjP|m6d zF^Os>O|sXuYV9*L+IN?BLf|F3<2*G0!A!g26gJFweyFa#9M_U?naqo)XQw}QHsv># zX|M@E9w8I*Kppc!nV@f`fo4b`;m9foOt3^QTQh;!zh_hYx}0J5&|;rwH)@xh9f%9h zRK=6HA>{cQNUky5F&AZ~SIe#}YTRLhO_sJCvl!x)?;?NfMzW@_;4isron5rpY}>k}*62gAs=mXUOgg)3W5y z&C_TuQqxjHhYFaO1C9;8o}nule8YO&D?xM`^i!cWI8kRxAk5ZeSPkbvLFUYg~Mhxa_F~D zB~uBG0pc022wGAhdJnnWR2JeCfU-bIRGRTiX{H02daNc)L)N1H0t9{FTJNf*ETQc+^_rlNdVC` zZ!~T8k5JHQOWN+=UF7Rwzc2i^*}p#X{+f|zDONaMlUCc0>#KEij1l=i#>KCB7isM? zJdYqZ9-gG>$I$eM#@SiLX4;5sC?_Zv7&(B_eZjY<6fUImK|6q3cq#M!=&M~Wgki)Qo;@O<@cpmR1S?g~w`;d;E<6jDmN9fJl+~X!wXiNij zE5&C!5Tt~`R_&3+a>TTL$9C`n`Q32@wG^Z=4@9cBw1`X0&>(`eVn14U`o;);4iPEe z_!^|nfwkU)7G(ut0$|rOI>}_1I2PWMD<%m12K2A`{f%r508&fmLF(Z(1P5@PRPvR3 zYZQ>2&EL=;%ePP)iJyLvs#A~Rd(FFiKZ%kg3m`HwxIiSfA(nO{Nx6)vI=<_u@5mTJ z4kJzNKsGGz?IiI6cVzYs3Din-%;j7?Ca#59Oo6#(6|`lUd}2g;;DSudC-2U;kF=c) zDMWZI7?d!^*k1sZMpm#nCq zmCR!#_yzSi0-}l*2aIy2fstN%p!lm#Kchy?vg6C(=8SYG0|pL5m*+r6BpF71GScZN zQ}-T%33Jw4@{x74);qe)$1V*|VvAw}hRk)1S!#dVk1>Y6CmbmNnp%;H&7p=q2_Zl6&P*=^;Z7qpCN@(&7a>PUH;SZXI^eekSa~ z<2Ut!i6M#N++A?8bY{d>BLLKX;OGSWu|VK&wtMH8=83^t#RZR?Y7VB`Ux>gUUPx@f zo7U3WO!`#xeYdgAUB5hr*h5g2xy+{CR0a1H3Z7{i7d>UG|27LOs6BEp{i-*o@Wjsu;gUrYCHb>`EyAyHe4;pd`C>x3e4>Ps z1oUDeo>{6@p2Q`3-p{fnE2{V@TMDt^W-gF7;e~ zL0M|P-iK-_1VK?-eY#ufXn1H97@7f8tm%Y8aY~HF1TPH)0f1cF1<5&wizTecx z1_MQ`LkP?^R?vM^X>WV-nDJa16|BzHdP1SzV<31#I$at=4xJ=ALfV!<6Y=OVC{y_{ zS>5tQDw%f&^NKy_XminId8)FM)hNEimkayON|roG4a}>CfnJJo?M?+YxSsGm(W%duk`sCE9fG9{oLtd#WIUZ=G6M#bK_W)j%LkO$ z%HG=b?W*j=zBL90;g>w&l^a00=dtn-wZO;?j5{>1 znHuTE=iLh|Z3O@o2XZH%8!*%qYXXtz4e)=RIr1`45_r=BlUH5d3-;3v%u}V~AfDt9uVu?RO zL*;@Ef_j9DW}M(JNy^U*<@%ubgDYPEHS9dKZR#UgYabrekb-3cc(r^Ia;<8yiE|OC z(nd-3P?`|E-*gYE!KD}#<=BGx&KR+7p`>Qsi~Ku<-m`I3pXG(kjpQU`aIOs8jwN)}1+ik=N=6^LytSoDRwUhK(bN^L zfe^=V#C=WD$M6wLrw@FP?`6c?z4Xp4B&wOj?h@Pi+r88@qw?e4uX9sycwD_whR z-#r?Y7CKM!X-j;f#1+%rYng{s6TGyVa-)2SYY{qrC$%y+S*}E?K+7X4`n4xnkwUy+ zT`x<3c-mpIxGaDNIg=&U2G#6x&1uR9*}Sw$LgN}7rlo3wG!rW; z3{1P|=ky5hbPUV)*k)M@YhFoiMO1YDX2iv6*rKIPghnEK^g{~Pan%-up33~D8kgr~ z=1%07x%vgQU{#d#-PT59Urr$AP&-w08I-LFRTPjq)XH2iIYz2tU^WN%a4nXlbo03 zQ&sNqAci4k6vBoaITQ3bsvZ9VXkA>16Xh4G{#JZK+|*0K_5#r>FFh{!@4;$gT3^b$ zToV4V0U9ew-qQ+hm3DEPs3M#Wq)m;cgusxj@5)kTeND(R1h^N%`)@hxDIzlU;mu}m z+50oY76K6K+ISVjhDHL^rJ%wy#50s*oI?>sX<%U6=sx_7uBY^WP_laJXZ33NZ~LhC?XrR2a6jKMj{n#B?-nnFziX9L~%iUyjtG;#Boh&>%^)?fv zvG=kdOs*5b(7LSc?skOi!Zg(?S*6GOT&QKWL2o(A;Hk`i_aFlmF3gv0b^)iEx6PTH z40u^7S)`0jNG!Og@NMK&(?p5Z`&qME$zz;KuMMvfQf2#l>0y14XB8j6Zd6F1SRNnR zf-FGyj#9Z2+@eb3wKhAlgy&>uGeZvWAQXbbWVi_K(WhX)Hyc;kJt`Qmt6-*z?sT=u zxxEmcE0VC4612V-jgLq2QNo>n7v-Ii#0m`Z8ue~>l0-t|4+dmGx)RqqJ5+U^S$Wp? zsO#La%8+2wq+S`O@|;&mi(BP0AM|xlQGVbAeF@B(kK(B%$2`>U^nf5$bMv)cI*i6@ zpNqnhufRY(%Yf}|iN;%k7Lw}t;PP+-O1Bl30<{2Cgs@0`tz~_7@`AG`L#E=`K3JF! z-QRoU*Z@H#Y`7WfXJ5+87F!im%FiGgMpJ#Sb?RG8WmB$TkHV3fq9ruf0UEY_EGnAN8XUh81k6Y87y-)? zJlh1=D!-GjcfT+9YG%w9z@PK^qc|}`E4vm^ykL6DM|Q{%l^JQ!@gbLax+ia3y97v# zy|Kap;-aTmX%odLD`jtS38TN&EY0>LAMB7HOoO4F9;2g#Tx)0vgdNiA-4_+JE&IYP zTj&k(GvpyzdJ0aV7aO!hI-hv*l-Dy^q90|2Az70IntZM<2_L^>b@&YA6=-2QC!@x{ zX!d4FW-I3>K*tmd0)(iHh!BjhWrAv>*qY6bxSG@5c;xLCA~3H`;STZi7vL9c>VluY zB%1qW@a5C3My2LCt)xCWX?&RKsRB@*I*veBrBuA#Cb^yV$&e902jmn%5V|yLvlAsZ z>XPR&#@YP+@U&xHGwJ61AQS*a#Jo~rijSQaF9iN~-h#@WXQKxW_4(eU_@R2lZUC`M z-__d|i^DSr)OgL-;0t=HR!4}A?lgi2OR4!<$+9&;%?JiZS9RtL$?CQ0tF&655}+HE zKAvU{ez6PkE8m49CQ5DTaz9lM{1+~!SnrD)igNEC_`OG|;lB$?cWq=nj%Cd)0t?7< zD<9N1_2VtKPfdhRO*%b6Hp)}3E^wg;ByC!#o1~XF&h^u0`ejNDCSu%o?pGY81*+t0 z`CJhdv_Q)iBk7E^=5Yows#D_>6$erEX2Pfc7Mk415X?>Wp%yoaSx~)< zU^nWC=uvJ+<{^S%bgK$~0GXIj7Z{Xgri+2> zS)lM7EQ&&$13u@R0#XL081vBE(B(_O3-Dxw(49^{sY;X9o28F<(!A@3V|lOuXW693 zVPB~!2sQJSL$n3zUn^U#`lO*DVE|(Pc9i@~FcA3b3-7g;Btle`Doowg>Fxz;ehk8Q zkZFC}p+M`<173=q_!@HG%W!xT$cJf#egV9F=mS*itJu9#8NTLSg*nwJ=;ec{SLB9T zY7is^_u=m_I2``I_7{g=1Ag&^FVFPn1Wj#k$)Tk7P1Dna0e0_?Mos~xyC>o!{IhKd zUPdo(3NM6{+qv!~tn85Gp^W$?k9N-?)wb6LFeRF)k>y03yNi zup87ZDcCxJtub)TJ(zU?8W-wo&9N`Wymh6qA+SB#I;`>_aiAQ~MWaZGumw>eR!PoB zmP^-bNoKvTO8iO4^R8YRn7Yt6mi&!!hCL+S5!Z9L)w)NU>j7A~l;M@G<)?;A{>S?o%`>uz6!ESlFV^{r;)Q82IV8Z>$l%@}|StGIgb|!4$g@$2l)1n=VyS zn6nLkMes##3N!A9K=h5AcP>v61^gARRD(a%H-cU{6@bb|_DYu<&F0}g{YV}q#Wn7v zCEx~ z;KicKVsMdvld18t^W;%21IPCcKKiPx$SMC6aXXR3Hn2$$b^B4xXh#`>kuK`k!f`kl z5$8@g_=fjW!kvIuGm!+OW*I887~tDxP2|MLo;Yb#6*^?p{XS8J-3?PZJ@7=EmGglo zRW4fABY*V3h`^l!86OXnTTNqALyIAbE#8cBB5PWhZ$Vf_HTvv7m@m10f8$G2Rvt~x z8(_zg3dWfkTCF65pNI#%j%+&96*X?33X87*71a`8Kx)2nxI}})7bbc$E>S7s?@|dZ z;7-83!(>N`0j_HNvKt{E{tjn57|uo<)dC7XP&?qlcw~Q^colmqZm)HAuj)K>UUv3+ z4;WS(Ev^aTz>-Qd+Xr3^U=2}D1IcK&zj0~S%N3&s-za^ z(Y%d9p9@QiTL?4dW0q3lMlmCXj4kRjP2jDCirIAKkWIF(rOg@zm!ut+!IDATO%zua zgo@tKiCHegBXq}XNIS%~;d_~BEz21U_tuCUpJ7N5Onf=ZIH*7MEWYk^li2aX)RRV* z-pYj?#(TV84`Br8BbVXa?gNi@Mng?xBZev~G#)333mI%`SL+)LMhRRjI#~KUXaRN^ zVBs6S$3cTR$p1L^!&9}|C;5*!D-hBUzilXy14l!(OtaXcFratt?CqH3^%6QOIiOqo zu>xqCjd&!*{EivJG>bBQXGCzJKGrC}@mGQLlQkX~MnAy}{8NCbyanDR;V>c?yfG2; z6C!ZPtV-^)WQlZE0oTJ+a=WbWYSGi^EQuS761TVOtarP^MJuhAu~lp0CC9cFGm^&P zSnPnw-O#f#f=S72(F!QRh}ZXMkgDo&G(5oc69kI65aA5Evb$JF-eBU?R_7ZxzN+Lr zTO~W$w=Gg!^h3TG1~-(PjQ4Y=N{liV@5hZxxBr<6&8Wm5`rVd=SRVd#bFoBL zWg7nP>$7FQ)B}sv)a$A{8e;)W0!KX2b`M;ofIb%J!&C$%)lcbmN}zh!Aj$g%6v&Hw zA{ipU@fLaTQufmF5e6h%vF(DYJ&%D3!KTfhsf=2%9`xwwN)ji`czwlE#_1ZEaTx>6 zxq^i|BZt=^g}{QCiFK{Mg}>s1>+p^W2|C8dsHi1WOWid*S)%0{uWu`+07+FbmP<(SB=>2jQhaj5xA6icgQ9E(`buM_bN ztvtZ5uBIw(mCYwT5NgxBDFk_p%c#+Ua-|z#lydAkDvnWg(jQmw+v+Wf#Kt6kIu1K< z_HHMZyMA-Fh#oFy?snL;5e7mfB_1qcA=S_n*Wp*h(RYdc)BEBlZFQbh!P?q{4&$E_ zN=ti2{>^Gen_1HXNp8Tt#CB36I&rM^mL}Mpvo$3JvjPD9+hlzM(f~_71O_~^gvHwY z#3YTJR*y^a9^#zLPr&p}!0bwQ5QI#rmx3G)cS_LLecYnb?F=7Yo-vc}xGGB*TxTGy zbVP|nOH=uSO&^J1Rd4s02VFi|!)vd@P=l??-c_+LbfxA7*a!twpbW%6gnBDh5@*5| z5M2-|M37vU8hFXP!EdZ~`)U`N`_A1J_4mIVM82ciw^j>Cl*{%|w)<5%yXh?1B49ZR zyo(z=p!4hy^SGcB%3fj07^dz?3Yfll>;rwQy%T5O>DdG|TkhAlpg05*Hi^!MQsyPp z>w`QkWNgA6QRsDB9c(W98vqa!PCMgiApiPJ7#|WULmOK(jY!%OUvvY}O>Fk(gy|yW z$$MuPF3%>o#Y5(GhK^mN#~o>%zDzx$kBnlS5K4Z1odb0vVQ5SoO;It|{SrwF_F1G46Wl9W`2F;ot6c-z26zH> zAP%-O;@nPPTn0Hw?kqNElHqVYpb=DLcEbQCqaQbT`7GCbA7n%3sjT}cZs z?Qa)GgyH=5(!F{ESca0s@VBH=9k(#k=Y1b?YJKHNjeX|OZjT0I(;rYe0~W3(jtiV* zWdOltB5ebgYl5L7aUK%t)}Qyw4r8p4zPc|Rq~2t#Zj+E7*`UV*u2ELbmu2aq42%tO zh(5O5N7lANTXj)UQ4PeaU^uRHK9iMjHE9mm@VdB!?s-3Ig~NvFq${LGTsU!mhvwc?bB>P zrQpkfNto$z?aZOcYZFb*W55=YjBpD1E2LA&dJpeYo9@MLwsk(X$}fBDA_i|L5$0 zmWu1c<+$)%@r)+G&t{TY-Me}+xKX)C-4)02#4a}W|roui$tbxh&f!}6%I{tF7u!3*V4~pp5!17e!N|RIUYo3o)9>w zZV$#waY#@f3VcXzS<7)qFS)@V_az-<_9!)G)rSJIEwB!9WZgv{=T+es64Yp@UGE2| zQBdjD30u~K$MHSjZVwNSNof_rpIu|Qa&@>`XJR9a$?jQNpKbDd+_`wMJ>jEtO{8z+ z^khqEPlMpHHf8aV!0)&328-ssluLOukH#A0h`uu_+U*FV2P9~Y3pPkb z$oM*;L5^+lTY;znwxGA<=0;$l;O2JU>-u_U(3k&y z@22v8MCLV7yi7THyBJuwKs_)9X@ahpfe2!nSSir$!`FjH5FWs+%hV+D z^NP~8MnCY#%C=EScAtwjmlH6(y-Er(3h9>}j4^6#z2P?J+-J{wHH_@~em^hYf^$$+ zcV|`h{vAJAv_kuv`uXw72uU65>M&g&0nR)c)xcV_7eHK)=kpl`>@WzO0qsvLc1_{} z&e>XiVRazc^9*Etpt$JMdcpP>ipI|AYPbKZR{72L7USS`uMBvbf3BDn%b8TUCNqDw z*dSwTxiO$=2c`AQUNC!a2S;|{d%$eRw%jNg5rU7tmxxr&XpHrrVeJXvRD^2X$-mF3jo z0!pfN5zv&J^l2!3&)XLD%i8XV{gDt)PatzW&BGKUW7# zQ2k*}IWlQ0aM7Y`=voZbxfASlXGpR$B}jSgd@<{&$~!?h5-4eqek~qM#(k@yD}${S!B)j|mF`M$;Zb90ZX09QribgPFLUoZVV? zBNW#HL4!<3u(=p-v@n608YP)ALDuoOKp^RT+_Z`d1^H6F9eSGf*FyUA43CdHjvZb1 z6BqY`SFxvhu5yWp&&crmgKEg9$YgH^R)EY$XfoC<-*Nimy{JD5;qp2(TN`F^v3Ud) z=PPYj45ol*knWUg1BJ+xoi~q}!iB8$%{E6xSAYf2qmw#Z=H*YYq?{^QNIywXV?+kfUDw8N zcCsaoR=7JwPyFR(itJmfckN1snJ+adI#7*8n>$VwpIy?GTnL<*<=ysJHRatuXM2pc zNu(WZpU@@OmPQL$j@vXp~PX1}E$BxHAi`6x)sN0jnQc*sT_!4JgQ zc*@j8XJDH@(DB?Un2jEnki%S|_&oPxskcAV2|DRJks!^pTcbw6M?+3A3>3Nf_p|8#{pRUg?#;nzzzjHHYzSh_-GI;WaFB1_xK;b1vx} z@n-?pyo#;qS1j)a7*DJfSDh3c@v>lOfypJ0ab6?e2d~8nU5y`Uf%Qj(AD+hPoD%Y1 zalb=wbN68ggw2ja!QebWe%QlU9<$*VRXVEK0Q$M<NSYN7^AgNhLij6Ouua2BP+uNVu^s$@0`ZnuK{qD+UCesLQ_)_D1P5^ zkEPv|o|$4gpwG23zGN%SWjDc8CIAF<^J9T1fZLIB&~UX)%BtbzukE9(2;HA6q=Vc5 z(xaeAZN=a3iAb+v(`rk>hJ=&HukY$J#j}Ztt%V~4S&jI<`Tr8AXQKqM#p&_={`<8r z=l8LgP`m4N76WgCk`Kq@E3U6GJ<7>XHvFp({qHwKS1H^j>S)3rfJD(lPl*7~eORVj zKTwa(DKljAa~Mf91?B$jWRR>{} ztI-VM$0DzT17e`v7=pc~=TKYcm7Ce@SHmrCUkr6)^C2+4gxQkV9|onG6_xS@gn&kE z?JdfMQE=OmNp2Mv%TuvA713g)lyF0W$r6IY3pf=g!5Le-1~&$s0rbXiJy$glia8Dd zN(f>FaaRe(cmZr@LbP`o*vRzm5WvJ^#9$a}@WA-aTK5SABm;FrgJ&k-ukRh_v|{)} zS1npTTv^b|0A1GOz6qE`HO-deWUddp356&43@hj-!|mb&p*rg_nx%X3`7i*?-mBlZw-Mr0#R!qBtt&cRsSO`Wj4 zE>2ncGHhopF^%Lt!%qxAN0V}!dGkF0U>(VLcCR1g6B$I{y4Hm!D%?t-pZc`rh?4-u;GB#J0_)^}doxLceAiOrr7~!ed z6Q7EoBc=w*W`QLDjYlXE8LhD@Rg_L?%N@f`@DIQ0G^_ZY=38{e5VePtFfh6SzyssSzUr@6Sl+f1&sQ zVS0i>xEYw&>1hQqgStPT^`Mi))s*YUh)hf+FSdnJr`&3l*@0`MIp`|W9*3Ga+E#z_ z{oUW2_2X>!-jvYao%4RSm94gL0Js`WKz$8m>!r{i!O86k5zWPWHhJJ2x1 zbR_CF0A|`TauBe8N){~;`okuSH#LoYT3q3S9!kDJ0?if6UYXwYgkgo z^%V||F=nXH%%W&*13}|u!&QohDf(wALq4h1<(pA#smf$T}fLDUzO0kjsDmQ zP^77+Ivagu!4~AF%+(r2STDZgqn;w0I-J?}2->Zqv_m-?laRl0^l5UXFv z18=8lHixCIs!-+U7;t3jq3^W`i8dX1v^z1dV-%#bu~Yy@UzR;m5%agY^EE1#re`fE z+_Nh@gaV?ZF1C`vknX79okr10haJ21bIUn7o|+`qhIJxIKa{x+mxZj8C( zk{XWwOfEdsm6GcH$pkHql=u2DCQAzRRfQA~oB(HnUyx}X0vh_RCCWk(rn;4sg4$lv z89P8&N{^S3}NY+M*Euf7XC7cX4 z{dLnD%G^a*VN2m%vuTUU6MY8sMdbwOOG?*Y*9dfwxC)|gucp?D{tc%8LAP;y+ZUx~ z$RV0StbumH4V_aYW6Rbw{Y(3fvW4OhsP?n3mnsS^OMNlo@+PSIu~T>9eHhtn{ssRE zlp;{!&7bfM(*g8iQbKj11FG2(IB$)n+breI8w)$%S%}*-I3hB;K}KN&DS>m8%6?la z`1pFHzhd^vQ*S=CPUj)HMWF>VlwEHt7&c9}9JUviD?$5gJUcD%y&H2QG2dFl4)Uc% zmB?SS_1VUdFnr@$eF9Xi&U(~wC_vql>l9z;ZWB1(6U0K=7h{LiDZYB0IC%_N5`bc# zSXw6*jZq>qG7zGKlzpluC^rhvPda(x>@H{byiwyzAlD(4j`%e9IgX#iLI38yAey4vkmQ2(_=CG!KjWcFM9 zxxt71vOw;cj4{_0Q?R6OEYI#z9l))pd?r}K0VDR~XMMV)&G7qgXMS2^lZ)YT`3AOf z|L3SZIGS&xED}S<-(KpR4x#ucUpuIK0KRc?3Z2kxRKk6ZDfM9z zgE^GTnAyO^%y#R?kC$K@Vscb0oP2Zsrxu7tbE{DZ1uexe+Je^ANiCl;7FNT)5tt=# z$?&XUKC%GQvP5jeW9seF9>Q`K>;PetMY93W)2|-DnHWMujF0xJ7P*p{lNf-A*+j!x$DO!uqudJDZraI~y9DOX%h z{0Kpexf*lEqBkx?msc=F|HKxP3n6#kqmswTU~Iao;vk4pQ> zb+;0sMi<52u`UT`<3^2|X{ntZt7uB~1PSgu2b#tO=AfiP=2sl@jEW$g_iZHSsm#h%`C}_Yn%caHhzE1fNAYG@Cp(D!g?@KpN4Mt5 zNo^@Y`UMMAu@%t%+zQ-Dr|>RZauIXAm|O4cd%-NPlF8Jv4pl{+hlhvJ#J-=4r&v$t zn^&)29liSQ=+*0^$G~sj)?F!J`ZQA@Ti>(Jxa_g6A3iw`m>D;yBqd zIIz*thqpJ@x1&F_z}Nk7h3jb7*K^+kOO>hq3$J4ZG5EMQoT*if@CT6bubDr7i**L8 z+m1kQ65|rPxCxm1A;^C zYh^UBxOg1f7qUJ%M+C!Xk8`N{f8R+@lv3BB%AI5qe)7dMmNiJFxNQ80#^Ul{e@d9a{J z(}dZR<_<9`G@_3+&n*Irpny54la$G7u-!-;Hv^TV21EFyJ)<-gt=}=KayQL6u-;OR zN*iyiK;u1a?}NDDFM`I~gIcM&w+~1mZMX=;FROy;ErEn{m&YlC3%_HJHstK-!pWFN zLeKEy7eq|oys*fX3WK6A;3oV*{_XXFen+fN4Yl)tO=os&U;CkPy-#?3wvJXo`ec7SJ~72ffADS}`2H<5w@ z%x0QY!V%+eLUCb2#{fxGt+!eB5x|N*-G6|%KL-nXSvTNJhsw?6`ZQgL;NFadN!%g} z{g=p|^A*`n#awGCqQ^98FXyzpACnw(9S0u=g33t)Gd!EOSaGmpk!Q4)Aqdrw+H^>qnW9&uNKd+sn|*xsT| z)CnPb?>IlrAx=YeQZS~9Rk+SdV=2X0+H92ZN)8|`878W-fD+$3Ucz0M!B? z9B=FiNZu}ljvyFDV0}72?Zk4mbT{wW#C8^+#?Ck2{`rr!JNhgLQY;7F0d+lapg2M-)qS;)?to2nGugMw+=g5cm9jIrDd8uv)C+(-Ve#D zB);d0$6)B^?fldc4h3Z>7UCvJcp@OHSbYYe38X?X zcQ>JQ6xw6fPCu6eaZC1^)PXdf3UQJ_gLHUdr*ocz_~Xn!Oi8Q-z-1W3$IJp&^^MA| zRfZojHw{4S9o{{|+S*SbYL&-fh(f?$?0fs#5s;4!%CJ8__-b){F=wZOV;MK%+ z(4`VK(3EZ#8$tq&(W_|c{9w<_8leWfNeE;IHj5rm{B+Pr*68)oxGvP+l8I{@k5y@D zyMxsV#Q?xlFg_Web}fYABt0LSnt(e~eeFHw>3q^@Iw!u5Ng1+px5s$?4MT9eSGBy* zS`MC9bP085>nyIj)hg+Ap@`jkQ5eA4%6kdHj%&-STtzogEz=IoqswnAh=XwCt^&AkWM?;GK$Mz%gw(61@O*S>XQ2E zLbfU5sYCRu^hf1;T{|@~>uzmz=$GW+-4LGBM{9WU)`s1wZ+^P*-RAJmNI47gb~Q=0NAOKKxfT}%44o8^VS&q~<+@syM`w$d5$oRyX2 zg~2!u^1D`B(45kI_4IpRGPpW@KZYTAeasIScE{uyK^o4`p-!Fh7vh&TGB!TXQmKmz zMK$auA|tly&3PLNSwA~}g;@U|*7wfw*!DU5{>VAbevSUBDn+0-`hUmbe6fZ4d+H+p zV$!u3=roQF;lOKP6Ta+!jFU8+1&pOBT)>7cCVxeWo{aHwkw~z>_`BoF3NN`PvpLh+7fL->M$}V<{HBR< z%CDCLJ6REBfIY}Nb_6!G9+mr5epkxC>M^CNu_L%anpJN=>ECz<&6Bi&^94x0YAHE; zoq*|VXR+(*n6Je9HOjT-2O^hRnLGb&$-&)v|O zK+9k;#6-w=KfL&)wcL+rl;SVMI>eJ7Uc7$w!fMkypfRvWg=+&TNbM;ALPLxc?YPvX zY$Kql<6*N~FNMrP$Fmv2;*4=`5@3e8tq%S|aZt)rusJrPqy7@d_!3>(X7s87xH2&-mWxBvnhRfcdUaQC zqLCOwIV+L`lr-6+w6Sc-`}v5%bNh}#Ydk)>(4QHH#c#*9`j(wCs=zwZO(TJ%J3X}y zYT9-R_Mf%Vs8reRslH1+YRA$puy-tP`953@b&^L7j2a0X^s*{lZe4|(d*WcpjxBGj zJ+!^;9awws!(g%pvWe2py*p<8_Ud=*x7WXqRJCvUT7Hfj-8BGV1NE*{xzX%Za-}3^ zy|K}Siw*}A>zPmy-QtfczCVw|RpI&zjEydOt8S>bOC&4Jsrvajdw!0#BxI|NC1maR z`#)Y9dBs{^PMnLk{Kd}{>fGvzQe&ui>893LEEW;O(E>s)X(XLgiD`!bMIO$;^aAc- zY)Ei&eFe3G53J9sZI1Xu?2NkfSu6$45Xx!+u)C0wz7*7@h^9mcBg_G4_Qz0}2q#qX ztwJPrXZzkchT26CIdG6^-<&@IJ%-l*C=St?7qvR-HyOibSqgo@ty>6!pcZvPDeSOX zsL?J)LWYNicj6C?%7ykPtyM2`Xyacs$_KFcE!lpD68JL&(J*0**(01kxx1^Tr>mwK z-B(Td7L<)q7y}|#Oj$C(F6gz<2F^XdQHk7K717L1Ire-eD=1yr@f51l-FgArfB8aY z;m8t~tocoY&r4Rz6Zak%h1;7ww;EpNm|hC5^t?VznAI?2@JwENal3F><)gJYv~t@g z!!AsBUVOE1;;~64O@+6+kO? zU~Y?I^FvVt|6U3FdlLM6uV3x;2>naE6nZDn%-!?!C=`o?A$@)vp9EpBn1u;HV?LXJ zJGE=L<)Nir)L24HFui0B^`AYAA@N*{hfnZyA@pVSX1mg zG+@`BhuAgy6?|h29b*9Hq6QW_HRHLd8Fh$$+81cuuD)b87bdXpcFt+bp|9m_ zxGyfgh|-M3wwUcq^YQHv^3kUWq-ra}n}8|-I)nwNa{EKqY{*l@j!*Z*rz>&&GgSd> z$Co{#{j^L9)kML0S_`gno&AZem2kKKHZ(&7w1b7NzAH3i+m+Q-GVrkMG5l{OhkIhM zx`sv_K|8xx(PP5pSR?Dq8;=<}&EW5@{tL7W4XmksPpZ?s=O&8e+UE^)2DloIerC7y zmYhn*p-#MqHb6bz0Of@ae*0Cxs>`ddCSavvn+8fnE;1u3EykiS%|Gmv) z3r2zuM&iQ{;loSo-z|FOXOeLA-(@T&b&y%Bfr$BLu=icN?ex7DbBY{DRV*I8ofOi& z6jFg*UD2c6Z6XVZP<(H$^2w-_n6o{`vkEx0Pb7<}C!~sWABi&?pd1n`EIXPcGmH;( zp#K}GjQSYsmIU;riK?|l5c?c>5Q@8k!L_!@hEy@{^UW#V!r4Yd)Ya4QZtfjoH5cpK zv=&}#J7lJwo`qc{Zv8&Rk=iA1vXG$O`0iHd=~k#m`_B^eUFaGuX&IkyfZ^2xMJD64 zzA9ucPgZ5c+Y|f7)jK#O8v9&B#G zLvo6Tw>&%C%P5`Mj5yai;+@pIso5O&Rg3)R#<^Mnp?z*Rnog*@9_F@=qj07=3+h&TJv!W%@9TNn zi0Uq>N3htmO#|0o=K=@jRB9HEc@!p-X|dD|1B8@rhnKZK4N7DF0SwxW@vT)e~dMLIV?}-{H1OSuXh3E)e zQcwKSLNQ@S9Gq#nIs=^5G}1eXEarVPi&&P@-;n{50fJ)-m;;u58vy+r=GhTJ;i5=^ zvV;`+CV^~=?w+uZW>IKDT)@2$Az}8k#_N|$3wby&%HrUgp^MXSHurp1RR+}eCw+P?X{WxZX&*&8>p;0)Fc7o-Q$lqWG&8e#Z?2z8sh2m%&$ zPf+li2ScZ1!=E#eZNgbogVD7bEKu5n96+~L5LYei4C?7)KNX(2Ol7xXBB3V;F8v%X z%bsDE+Wqiye?CCGv>%a?q<@Db)3!jI*^k~VnPpOQi>xGD)j+~dUS#>9e_ZJJfzl9m z#4zSepyt+>t~-z;?AW{YgrKpY_yY{2dOdpe1hJAwNr$w3%i;&df-;AHdN5L#ykVru zyZoicSKoRv22zXlK(5%Fs{i6iw2^g$l^&&yu0Z~*!CT`thEhAHQvGe^zgMo3TYJs&J2$+J}=$Mu#ny^ zoGH`~ z@LkG(cXf*VEfWts0nj=0T2cJ;b|D)WRJVACrTzN4--zS#_N!WzZKeZlwlh>4R_EvT zMaTaGRYYvm?v)Ts_K&?|`qz?8UsI+}vvp|otw7BNlj>}L7fd$99acvA`wB8P!YR_a z;@8yBH%I!`Tj&I|2hD%>B->J%Wj43=zWxpV^7~$oLBtii{ggXwM*CcGA`K#j+g={; z?C92>h&$K!u_ip6xYnt=x#M*UNP2R30rYqjEyg2_YB4YHHE zjZL?lZV^j-y=q!{GxcY@W5KJ;p8BjsWxAW!YwhOsmhI-7wRZE(rgw8`KZ<2A(nw7u zOX)S6=nvJVcru@dku1;i?zG41t?%4+_KA0Xcq^E}nP*RekjI|Gt&UuNsbw`@ zI&npR7Z@4+TZ>i2tqrc=t^m?b&FxD#D`Eb*r32TU=EQT?IL`j!FbTYWL12vw)uSPP z&f0(X`Qoh4s>|g?53dK7;WmWcSKjylZHoa!{z6?kz@-F!v+=N$&K6>HR`0h_R&{4f;!3Q=AaG_Vaku^ANG zMj05j>mpV3-_Bx26JNq}NM00$B%jANv8 zm1k|WI#sk+_X|VuDPj{(&}O7c+Q_xYD7=%ai%#pz)&Q<5F3glYbfF{F;j@8~gwL~Q zGDu^>}RR*A@r1ZcC8S(>h)Rs##*=xgM{RiWLsr-9ztkcWtbD zZPZbrCs>Q!jt){ZvDsCzscF( zz`ggw*T4P#qPUC>xnmWy1~(X0<7@zX(UR?N@M>5W8u&bW>VS~wtV`0e&?ku6QQfJ{ z-RO#nWxr2(t;m`RQMdPXB}#^t_49mS$EOJf4kyhi9A&;k^&!mmPS4N^T0Zt+JX<+4@k(cpr1YVV5IM~KF0MM9R7M) z0_-6!nN^_J$InzZ=h3-+#~|TcsKA2lorN=jyFu@t?FH8`*8m(XKg;oU{J$^$zXaD8 zRJ{SdgTfo#8-P`L2$n&N>7UZoXARH3DlLF+t4o;;_p11bv>WgCZQ(y3^0$jLWum_61>58N4Xj!@e5h1Ao9dy z{vv0HR8|7b_Mas1jlyrLrkz-S8X$9NtS3 z4p{sUMt4sc&evfQIjk+Ynn9Z590*5iAG7{-q>JwbDmMDdfcK^A^hnZ$S_@@q?Gi3^ zHxuG39VBq&i;)2=VkNC>n-l=tb&)xf3xBil{lJ7wRRdovvHcW5D_{x{$!o{Nd^kI$ zNOBz<^CV9)eDIahx4ydg%o$JX0DhJJ_!-IwHq8?u^S+?3Y(e%cN7UXhX-)HHbE>-v zG~1bWRj=GlDD8S3Pt8P5)2|v>xzK@hz|1Ch+FyU#Up0!cVrQ?RXH)|_i{yP72_TgH zaV(`3adtiIDd2{&8Cfd*&D&OW;2symG&H=YHtJa1B8ndZvh|*4Er^3c)8;my>X37 zGWZ;L&^*xgZ@fPEMo6^;Ki{0HlOez;#20bTLte6vPq&ycT-wf5XliR+{4*Luh6h1? z5}7wowHvq^_7GP3%#WdpT48KuVWma&hi?Yts*W+Ph~hPmYsyW?B^1g2cJ%zP$= zKay5x5E`T-z6ZQfv` ziip>*`H{!xB^F29=*>)84Xh4Z0>m=TA6mW3W-eSG6YSp!uW8V298NVH?L$lHjob;_ zEWMR>Hu!B(hV1}1MS0sp3#}#6*j4Kpe^s&IG2u}F^*X1 zKCumwt}$4C4C6SQbp@GQ9PQZvr=R))bPHt53k1X^+zgj+B$o)Q8X9er^7Mf{y!V23 z%F_wf4Fao_c`{DxyP#^FyPSh3&i?C&5&}xSsJ(~Gi?9^q0>uA_!beB0?}Gun!)mK_ zq*}FlA+fa-**FAgIu^~Wqhcy2>0ctN+}c3yy$Yme5V|{zeaT{#IENM~UG=t+x9gQ1 zPocx`t>E+fFJHK%UFA`47}0{yOSkEXdkECkL(?Hh)EK$%}UN zDdD7LYEl;Bv!%`P@^D~PN61{unQJ{*Z{zAHvOGzYK))q~;5 zh7;6p>C_K-yWQZI+q02ff08W|^ST;%pr$Sr+Zg?5b9NPZ zVdNR_2|lsZHv=#C?V}f;hOVhH2CrN2{sxxWAnX&Dd1Dr@+2t~SvIEyxu~oE6A8ll% z*eAtsx%7pFpA5cO4j47A5&Dbt+N(=_YIBR>00S@l!gR$~P4uuXSC|P*HI7zHLrDi; ztQY*^1#bAz=%7i;mD&nqU0V-0%Ep#|!r*WY-%AO}q7f_@VoP@N$L~7W zi?#p9?+$OhUK_zxZ3=hP7%TYI22oL1wJ`=t>rTPGi5;{&6Ia`D9@aYyb(`4OL16Y> z%fleP-290sFW(#$l^fV3B7XLwI8p65o1#K~ykTUNw$Kb66`R-`uM!JtEP3EAGGfQ3 z@Q^ON83Kw+-`H`Gwv->kkjHNWNNR4bI?@o%m)E{Q(!ck7ChjHq*Dz{eH%q^^^yizfqseCttP;wA@?m(Z z#3#n*VF0N>EzMJqSFOhwc=6ZbffokGhAR2~@P?}E*p8Z*fE7XDcblML>}}rW5K>e0 zjh?^HoJDPx4&QBd$l+15DmA$2#N8rOdMvcf(p5O^*?)=vqqhX_i(VoZcWiwekA zcw~>vNw8eiHbjanKeliUwm!CM!>U@BtV%UdMXuT%Z0Pu^;7NqWE@XerBi|V5zrevn zDV)dlY`z5h>Mt@RN&WuL4{sr2k^<~b6F*KO)`U2IA=aQ)fWhoEC2?|jJf>4R9&g6u z@jA#gz(>rDUUO)#RqwWCFIYrzty+LoBvDnqvzL?r?2*URY-3;!lL3W{z{?c=+tvE( zOT4H<{;t?xt1|GnFaR;{>=Tgv9dvDBOcg1aTz8KuGh>)D9+0PysxI^({u!r4J(7rQG(y}5d`eb-K@H!%`ZsDiVBg8$coh|I3H2eQ{@aJ+h_U=&0w}XY4B^;f z#Tz^Gh@Ut#xy96tN)yTt!D|2%~Cwz{^Y_nXr|f;RB(M-^dT)_~{M<-$4( zodim5^8@(pGU1+c0H&!4>>1Jz#UIWXzl+290bw|dSf8D)mu!8P0{gu0xFwjUhpj72 zR2~LO9ayimDJb`r?-3Iua|t>s?0ehuQA8B{{(IY+B9f+YJb!a^G~;gY&1mL1QOLt_ zJaWR>5ep6zenbl$vEbf|!T`?YNG_VzJhJ)xaqsx@`s~B^M|P2burw_&WHI1O@b55y zT(pS2DQqS2i<|Sk`w} z?T85_BA~u3I0II`%IY4}TdYs7S!rkIzB!7-t9oyh4bixuQa%^x5}PE8j@Xyau!q;6 zyEhYnk(1s@kb7nN~pq!PfMxL-2Zu*wQ#S&RvL^USHc_7i;Ex(7C?zIs;D%6fQ=6lF(Sc zB($cEOc6|St2{-3z}ru}n;(21{tmT7hobN0x#-Q5SSn4?6G-9^fOXEa0}XH77RNk*iR)xLU-q( z!vm4&#sh~Xp&|%&B-#^+dd?khO`Z6)jP?;kst}j!bK57KmKQ$|iN@6%-^IrEN~&w{ z(X`|8H{Tsj!z3y&U}ly5{xS#oukFL>l zOTYb>=`j(*SrbOJ<69gC0!M9%3WY@QV+fO?pL&DK(A}0af$s#0egujdJh#mWEm{q8 zTxuJngl1qkV`Dq0t4OeEUoSeE6m zf7pV^XmKc z25)z1*2R#IAV_C;@O(cTa7CGql<_Ezcf{~U=gBQ+|4IaP_~o#Q^0aHiR{oIxJ9M^a z(gcHInjueS^{rL9rnn$e&zV{euo6HH;ib(;qk^VYM2|;31q#<|-AP>uBB25Y#HDqg zmwnocm`DnOWEXYpKnsFcD8)98Fk_E4XrG10U;mcCnjlT}&DXzSEYk14TSrHKm*VRc zuyz)+=pXgp;p%@#zb-DQJacP7VKpd+krwDc&KQS?uLD({grPXFlMebROJacho5&70 z$Y~1yv{7?Yi~Kwn2P}ASp2xSr3$*jzJN`%`k~SBs+3LWnxb#J>AfKUPz#=GujET$m zzzXkKL}ipRpACDe1OeA7kjmJkArAZuM(xrLWw0;$1sT|Whm1kq)Y!&7h+F0Vr{@Vy zGWZJW&QlJcr*cZ5+U#1|0e0ORt)=Y)Z*V~omB%grTlt={cxd75ZpFY_l+5n9aiazX_`G=O?VU=ShrI3fKqFif;NmtW8vZWu`qu@%1~l7+F$VaO4A366*l!YAFE=!7zf9e@iOo2ldF0sV3rXrJ>AV{^Nao%fbdki z?9=>$5gWLZZiP?}Vy%=6=WYd9Q1sdYxHzzmmLOR*JET~V`1S#mq_X_o%<3+Ni$UxV ztSqt}{1NmzD8TnXWgv7u78Sv`T?lSB_iYDl^iwvY3?pujSvp9M#UfTH$Ye8l#>R2> zIA@N$YvR1F3|8wfy0gHIYHpw$Kq*;;s@^Tj7RH2PSgajE#8(2PO~{sE(XyygVT?DI z0;{;C#Xms)f%ufHxa$~>8`*jXv+ic_pmiy#@(@G+K8}X?dfaS-`iMwvpg{HyNqUw8 zBS5i4#|LY}wP(dqx*SaEoJuT6%Z|UW*lZpz8n{Y;0h5yi%G7T30JJlav^ISV7(&{V zhS#)ftVMjA0E?-BwK?msu?RS%sn{57ecmyjP%;G=`#zM_Jj{!woMhDm8Kwg_ySOT# z{4}Vro{M5GlsjJMj<3FhP#fqhma8$$&#(0h-KQeWLf0EF3YR+C*p%TL{6=1!i?Fa^ z)H(EzgStMTUX%g9@A*EP2+1phKs#bm|6sDV!HfTSVcb|~_-Y0kSAXGQ@HTKlcP(}8 zEqClW6k)HCo}^&=m+OxotSIq~>Z7lH^jBN_Z*l<8cmLs<;{JRRLJfm4VM1i zIgX=*LGltr`xs95A7l-E@HjhwA;z}Pag0&9RvymVdqB{d=sQ)-#+oCK9Dcs)wnN=_ zA{C==Oya#mXcgD`7`%OS7|ycJmGKc{>+x(>Sg+8B$kaR-6MoCYBbSZ6K*A0J8We*V zfJLs__b$MuPvAbgD4UW1RULCvTu=+xuR73IwhIF5PhsT!uULldpZMMcTge!LHT}}E z)u(tu=QMIL60Q@8W|i}}epjRSY;4>`8~Bi1KB_<-6d(oxHkcgHZZoL}z8JV*#E94| zyw4e-#!)yUDaV^kd+j4`0*g0W14Ur0b9bp^HAUZRB&)5>IhSo` zbE?f!AP=e7ECtW*#%?btF9odp&29e)? zFV5dXuJ|%oKZ69ZrQ3VH4!hja`n35hg|GZ0lv;7$MPV|}!}-AAH*`sSVw1$TqqmRq zNbCo0snMk!J5%G9?A8okw;1q$?6w1j4LPcn4r|@o04*IH-2!)BFi$Xm4w#Jgl&%cC zn*emEBn<+JO72LOg&e|U6vLYpV#V{*7kO78Md^n(U$TvXSbnTlu~}h7*83T?^1T%4yKco$qSw$p+gQc z3jeC0(*o4rGy5K_EIyVera0~FSOVi|G+8=dbKGUVeUdo4m;_dwrLPd z2C(%U3jOh!3UWAuENn`5hgie1eDA z$kP$pl*BoQkp|SPmjYmOzAGd24C%u%0@p4?ujzfV9G;)D3UMbF3l=LRgCa7eg6=TJ zPqC*jTIgYEgIG+%`1QBz@SrmWLDig8)IAnB(PA#hZ;!ajr;j&>ufJWdZ0of+yWiW^ z6p!yTj^}TVj#w~y@b0`hb3J<$Mw27>?MTe_`rEzZ)$e?NWS7f8wy55^^6b_^cSLZ* z7up#SDVm)hDFhIxi^29S&ZQjTXP{uRCMvqc6Dt3F$J>XEsBkR-JTzA zFW~zG;j_76*2)cEdATeBAR6b}Y5gkf3O9hYCYlNjf{{OX*j>5!B#qNm#sv@#EF7!|$|h4&ubp~%;s1Vc1~Z}y#CYRpDb zV^$s9&+yOCnSxjhzmbu2Q|0*O^Edi^7~cB($?Vn>I^>n?Kk$#@E_#T|SdOU8asCwq zG$hks0itIk>h^C;SpiA?=dK&(XudEAQ#YJ$>v;N_*xRK$jy^|z2ZcKVX(BVY^Z-r} zOpeyG&!658!w;A4a)VdKa_A3wWh@8LE|+8tF0>r9s1%&=D?jPl$1An1l#e4|eDpI4 zNWJ)X;49XPfBWXui>_`GvKK6war+d5HPJ^^i_YxW{xo*J{qvvxxDFB(<`@hLs1zV{ z!vI>FJ7Ry*Rw^g5_OHdo9fG=X5ya4848piX~d4}7MF*2Sj_ZqTaR z2-k8MwHT!|b~dq{1-$#sw}1ZQ(?>E4^B(uqKc10QigN^WT0CAr)AgTOw4my5;?i;L z$n6T75>cwa&vLA)$*s>f=YL9z0&S~q52?LxAr5S2^Q7P z^8vRhAHe6EE}#a0T8nG0E`$^3+FS~fcD;OAoS9LF`c97fj$`%&!X2~Ra%Nf2CtKUc z^hw5muvx-mAV6`N^^Usjf}G>Ya{cnSm?L%42L+-Szq}ygr90o8#d0}9hBR0%2hc8oxsxWn^#E3XZ7n~;Nu)X*lz{@{ zHi#>%j>JM~bFS*%$XYf~R$cadDh|G_@mznKb>Nn18jK)F@o$&!4dHOh|_oXb;gCyjiHd$mNk1 z1BrR8tC~OORjVC&JmqJmJ%TTIRzA;mu>4O-GD-R0W#y#ll%$x88)WREehzK2=(i+7 z(t6oVcfIP($GKca(?p#xUra}m8$8R7mKW^#e}dAaUj@fX{`Et89p8oz4rCj>ES$k7 zz(Z7(@*fvDX8{RU)kxs^R8F{TfCqMsz0U70y^wJJKNlcFI9^=1l>Wc=2UANkwlxvL zU7+t3yY^n!GZ<|apI2OA>GegiQSs`VtA0V($U5}0tnl`q%mHGAq+SLF3ur>B%Bpmb zN2HN*E>vB@LOVf0VN~2yPFAo?Ew^bh&oY!0AkfMfhacZ)2}7R4Cz7j( zIkxX45IWPoB7Am~+})_`uPHfblQ!NpTtG7y(3c_wf8n6`Hv>&Mv|g z7k2Oh3Qh`L{qOlp?;p4f@rKZ{^;NEgFto)Lzi6eVG%jynWiL3jeV_84g(xr+Vtwce zNgfi)xFr^hwKihx$d{c1plDmS$#~47{CHyPM^Ilr1b2mW8Bl>X1{KKRJE_ByxPjwY zP}OEKttg->!9BAV8j$qeq08nd*DT53S~qD}Q#9#Q-E=ol@EeDgri%5wI_apZ*aI=_ z^wvfelcAl?*Z^(%WDaPO4xuJ4Gxe7r!_a4T&=sgvY|{GqT1^p9;gSG#;c89AUETU-TLkyg#bWJUCO?9DK&apjC%_?b;K+ZCkjlhS4G zC5~9a;l@yI-{ahxfOMzKpIbAb)B_~YpiQ-)x%KyOPLZGgFcPPFp=_K+$5m&oh>|^b z&J~A_C0HgprML$5%?s|syOy0{x~8iwh(4%BB0T#_#x46_U8qpz)QIs_BYQ@39|1~h z%0IYEm^g!C1_m7r&c zSL)%$&WAA!6l7G2p6D%xsIb>jdM~s>ekoY@^!n$HBXq_7 z`2A_uUyA}^G*F&quDb9`PF;DIv* z85y2v#e_Zi^5ACzDOQcq_$X`WuhYk+VtebHXIfFmbs(~PZNyRQvVpg6zjZ`>#(Zz) z35EL7JfitpTAsMdrcgZ2RfBcH49-oKJUU6@(3BU8S0NtS!Ry>*F+|*{Hg4!Q14M$h zI^g=ng*mg0Lm$OcYyaf>^y0$$?z>L<$eXS5n$0|cWMd6azpqyNhd&Rv+8g`UH0j#D zP169?T8CWfl{Ys%cJOL>v9G@wlnxpcuElrD3;y<-0oQwqHbT?mMFvGuzYa16b{UCF zf7cWAkf9)U(dhm;p+(A4Pbw$}OiePX9pueJt$LF7V=S*IQ_+%aVkLM%_q?B&4Z$ga zdme@W9{OFT4|7Nzj#ZV1DgMb4*Bz5KA2hYmH3E>~y4ADmVK{_4YGt~r3afUJ%jZ73uO>(%H26~Xp z=3KklKz75Vt~Pd!*imFJ;E>E!D-W)UD%iY18~A>_CAGUvuhWjpCY=6!t;$S$f#WBx zLV8z~tZOG&zk+qYAlHV9_I2CxR^2Tnt^ZC!poq4+{1<(0&A?u?y*p&5Q@b@LVUNr@ zRi?Nt-6q-B3TC|aO*zn*SEONi%=hmxqX~133KL3e6_%-|6}@P$m-Xa=RsiGo#8VrI zwDd{V;zrjYUhc5q0c705%B6p|`sIO~x-~Fe$H^;x*1{V7+(AffJrH-szut|1^}yd5 z|DKc{Qa=AujA-Qt2da8rM|{`et{ zVejFV&n;>&b7CG8J(?6NwznODX{{lE&sPVhr8Kive3~BS1*h}WflSm2CoO9s>`+ua z9Fs*csW_(UZv;xlKgF&O>CfxC>GG)VDl)NCezn88_Qpp&iHEzzy3b=%x+V8`x==fmY8~ z?3TD|Y=9ApOm65Tv#bZFL3!Tir90JQYXH~f00?R8&%{;r>C~)X!V>VB7q|B(Y0k@E ziUP1@BRX98Q`#YEX%{#|HM`(;x4@P8Fgo96-J+be3P$(LG86{Ep{Z((}z8( z;>{xqDiK48SMh-bQKV29;_KghSl;8z#})lvJWqWTaV^7oFy*5P&pm1(Ra@P;*!qvJ zuK@ebx%Q+K#9}~oEk>J#cP!%$X&;}8+4N)}5-E0*WAmx3*u(vlD-UlO z0`0)RvNG$ z?TESpS2qq8GlB zuhzGZl3!F^^$1?9zt1ffTJ#AKH^T18@DN}YI!+SFqZy9#U%&YJw-+R=h@T|1-@r0{ z`1-fsU-W!Yzm@$_D&7ArbTldo`dx>@}Qwj1$*zB<5bed zFqDuVOK={z*H;(wl!E+lbo30-eiIU+ja4t4z1R&cM>BiJ0tJj6DZrG3b+?7SS`Nwx7cmA;S~f4KS9}uAA^f?J6N1aD_9z z7INf;&*T*Myi~nobZy%bs2kh1ZCfjLR&3k0vtrw}ZQHhOXT`qR=iGPhet&11qgAh} zuX-D!_ky`Kgsn==4y3m(1k{m_jkC&AynYr5tj?jo4lt=(Rg~^Xv!g3Aq{IXBZ`}ih zhk%y1T35IOwb}P9KF@es?`f32OI*u! z^|}@nBj0er(U8ICqI6r~tcN6NUF03M26~DN*vWNe@20=m?I~#W9kMA~)1`m2qf^Hp z%$z6rjF7<3+=;_`B$N-8n_D7aZq&zI+5AU!27^!hZ-`vG(#nm9j^NKSthU0hd31XWsiHX7WS;F3$e9L18;`E{a$bxR92mj1da$HJP z{6N|MJB$7y-3G*vefi%8s*F*iz{H0Ee-BLecpVuxN3h5V`UDF&O$;$Mu$kbLkDNE>OVq2SNpvEwyk$xFCWAuDo$B3*IxG z{szFf#(eKOI=&3W(g3%hEonU`SnY#SqEuJ3!&68UspA5aeCFD+d1OVo^}sFY7{-LQ|iS zou5j)eqTD6G21y(9sHT}rc}XTY1+0E6S*~YYGb%Xj~W|;!1LMVoU&S@83kjVR-OAB zT=QCvt!FwD^WK=AGAM_4Suu}jiwTM$)^zjW)8@=^4}qPVZLNS7k?@i4;a6*RhR8I7 z=Sytwg^VlGuBu;dVu-P;Drz+T2D-yO}~qkXY7(Y^9M~RVkt^T;EAP5AwBn zl&#`i=N6}F5?xj|hk_`o`B*a3SEmlTJ1=ZO>zO1o_2F&T8P}crbZ>#w?qaGNNcSy( z7qiDwi**TLrTDoA$XpJQ6fqiF4kGj7e1x&EFA|OMxy& zaA`5`#PX5`TOM^QMF0f7@V>75PkJZjk{X4t<>Dv=?XU^o@n~a+?IF_(T{b*y`(1$ z!A&{aF1IMlw@A*2pYRh>I9=pv5GQI*Vqr)!yBW+{M0$ns$ zn!j(%x0XRCuRUNe~FscF-oXmEhX%3wnDWDp) z=jW_M+$#WZ-M8jCFGM_ti`X4GjK)0jwwJo1m=YN-D-?w^Q=B zMOK;#YhGsEG2w(d+RO$*Wm|WV&zj$&`V+}2Z2W)}rwQBQ!#wrUE1h|bhqe59yT>32 zR5>SnoVq`m5_>kVXQLfB76F0Xre-4^jTp0VbrG`XrLFs}An^TmabX?UgyYSK-UD1)y?S^=m>^+Nhx07q<32joBT$Fg0&R z-=kHv_B^f<8rSqU0s~k&VO3jEfu@X55|-pkP#dMbxzQQB$#2Oi=wj(mox_&OB!ZY| z*!hklB?iX$b0)pYDLx03;CQrH47Xn_aS{Xc^BO+!(UkOZ)>A|_3KLCFpZ(I+1`V{M zgk~7czx{=@nWO+T#0T+|Qh`oE1n( zVewdKL?-3Sj>O}1lmJkYK>A!qvf)L&bZL->a_sjtpD^(LbN8yGq*xt5tfof>6vAba z$KYjF2T+L`Rc{DMY3vT+2&e`k z_rq8+Z5##^5rMEt(eo2L0$9D3mvX(;jh0U6ba=BfX{(*vRyjFRuff&JoZq9tD7d#j zAhkOd&6#5!BblvUc5wZ{BUCu9^R^(MMC1uNVL4zN$@BuKRlaozEYFitZ%?A#68NmY zNY~G^Cia>H$O$?3hCrnOKes6y)hi$2V;*j>4|)HCH@_ufqmY~=+kLb9G0iCw<9T$D zV#bP21fT%oh2$3vDW5IOwCr6rGb%k^x5|yf;=ES+ig0)T$x@QvQGH*g5OuFPv%HP_ zjd7AR&GAA9I6f@Yi$N!3IYFp@u3dMoz*SGKJK!ncglLZ}$E>aWOMmu#4`yK^WzJvM zD6er50aYQEsy^IOJS(Mota6?y27=pwP0>)hb8fm%@pt;AeqtB#mt8KR`qrt&UHb8o z5?z1EB)^E!b>A>7)EH186WqXBYNt-v^n^E&+0;edD+=!o$}Z456qi=R#DRpFl+lL2 zb~`TFtN>}KlUxE$mI>-&H2VP)acBAV*ks|TKx}yg)F%W=ldxF%;*ZO@ zAh1DU!^n6jpHr{$|J)y^BE<9I@#t9hY{o_5eHq3^h;gA>W-z!KZ^nDU1Cz+*L$X&h zSbK)EmL}4pDXl8jc_-no=USu&V;mwSJxA{-NLiVG+9Ag*j*34=Bp?Q|-lL zz3bIxSAf0G=)mNjr^kig#^fRVd{phqk<8sn8=>4@3$2-8DBiwG<}XLE|yM`e}kf8LkdKJeMyT z$9YRSg%$F8$1LPZqNTM0EQxqoM%OtBss)VZK7G1hr8hwXB>Jg2z3|#Wsa@jVme^7U z7ppn@#z7haMsVZD#Q$s85O!21Esf(B2r@2C7OC>zrZ^$SNe^!ihuhEu2T^1vyTkJR z!WH;=o2G@9qtvwRZ5PCY6 zN-?$!#W@G?F(gsP&om&l%lX)m4Wv71#r#bbxnzhs;mjq=oGr(EH!)zr3C{c_J_|)G z;rTD|)Ry_TMaweb>Dw-5k312ru^?qx;@#?4A>T9owN<3RLVq7-G za-3GYTshF{#`lcJ$S==`?X^_+k1^U7kGB$-Qg%SlOU)!pMj{{5h=doZnksoot{2+9 z6fo@}d4`;v&@0+h^1fU9R;GFO081Awokc+HDC)??tUi}l%?n`7q`SU1UWA!V*oT|lMO*rZ z6o*Q*%W_v0(g%IIz?7J|leP@nC=D63cIt=0PHz$!KUMDl$5d=WN63-%6YP)&)vk58 zKZm@`GP2$o&uc(kCxslS+NoTA&g;x(isK@i>SaZeK(U%sP6=`JFbRIyL6=-@r-sU! zK(r+em$H!sm>h`n-QxsT6(()xpyj7Pb)=zKClC2AA)y16*sq*J6dW$OmrZTy*snbD zyJy3z<>SZYQ;okqL*v;9ri#>)Wt0Wg90$MO+8eaQb~viqK#vsH70KKopu?+Lf#m`= zDXkMtw$KtUNZ;6Jz^V_P1hkqwoL0(rDKe4Q_DX}5LjPU-(D*z^W3!|et9bp?4WmY z78IfBXdh+jZRi&_K@ji|x+G*;j}s-`jn~&zwYC7 zMhDJ7Y~^7eSP4aIwuCU>+9+(_(92hz47{AAw%`5v{W<%r)krT>EDt)nkgW6$CttfO zy1Gey6xZ1hnaUz6KW`M6UdgzsSx6E6RrkJ>Dq=$<4zDy&PE$gM+{)4`jZtG9(~ntrnb5K@dE2f=(~Ov0Q3 z@pHWt%H!8W&yudXVdd1bjsg#&7BZdR{$biFCsx2>U6_^1ymIPciG8SB8PCUL9(j5q ztmM1!e)71GZX894k}HD3jP5r{D_0uyk*Xh!eP~04T}a7-olUWZU&{nZ=$)S|wQa|h zX~obgitjzkC46fQ(!k8i8C^=SG~eOAZ9e_5*^;>vg3D^~sqCKg84QC&hDbY3~{Hd42lm^H7an z>(&-t#ABcC=Fdm!f4Nlsmb?MC=0v4u=Q< zc737~VuwM2sV~Q%LMClMXF|HZ=#!|jw2y0^#!Kfht)6{q@ zUEY8_@kyMXUQpwEan+b+4zk$2JiS0R8)+HhIqx5IC?6?=alb_dR8{W1*~NNX~FW!333N8PH~0B^)st6&h>z|GJgHtJ?hCKtz{+4ayjs*7+2K9 zD(7<>$MX=k&z1xij0PsC(iXg7AD1q@BTyEZyr}I`7Op3!v8fO=ydNq5zHc}Hv`(i; z3j4bu+1Y(}Dm8Tjj#*P?8>Fu!5$6>k-#Lco!h2@QHNaF~t zGons~akwL*2@62Um2)|~cSF5WS;ol5wi4Ca4WmwFs?SFNE{xVe@LmF2urg_Us@$-u znXH>sNbPD+gLRA>E2@cV?Y&lZCVNPusxPGb_~|D7f^^wp<)=6x7SWU9S~fwGgJ-z4pjia{u~jTocIoQCFe9DY(#}-= zX4pDnpboS#l~;NE-PZL>rFBPtP>mJr74Vg?dGuMj#0mmY1q!_!u68{=H z#o>~vv@$BCWQY>%n&P6)q)fDE$gfCXf=XOLo1Qx*D7TgCM`e#-0f-R)F_WDh3Is;UuVko3*`|i^9h$P-*_+pFqu_d~8iNOVR;4~;1f+OC< z84gZ=e?{f~h$*ft5xE!1MrH4-QC(3#M=eEdj1@)!XKd5Arie=4Wm}w@jW= z8|aMzjdJAObwC*yz>;=!G109HnyfN%+6K0q2sWOmfU;vPek`&KtH!FJmyv=8Opsj~TB*qQaIFphX(YWd#Yhxf@u%=xO z7u_jVtJn;1Wn88jc5|&$0roqm8__^?QAafThs8b>J#9uyJYf!6TeVJX^{L*&p8q~PL0&Vp3vl*~+ zfh7#GZ#O6vif*z182gj*?ULO47THuzB6p@%LD&(y4m~`kcqTAv4^Y@7b$Z3VED3tQ z{@fid{uDT5t*j>XrS|CSiV=T_{ z*fsX;hOg`!3{6?!1sISNm$IR=)wo^&`tt0DK&U4>gtJ&!(M~QpDwoAL>P1J z$fawAAj&e%{Fj^|{r=f99=*(dImx!KKy-J63lo>Xj-4l3+N{1?OgBTzAMjJh)mKiQ z$y5c`1!3BJA}Habh3uqEldHE17t9x6h!9MG{fQ5>ECXK-SDg_)7`+Gd3`Y0e8`rHe zwR4n$GgI=jpX~(+x*ZKNF@Spewc9d7M%l7V*c)fhEI7E06|Ox`E0X(+gz_X4n0S^} zKT$Ktj#Si{jddeha#>5#u`FH7LVU4IT}iiok*PjJ5F}m19F0}$e37P{9BoO0q`^cX zU1G^dVIW^_s@TIoF-7OWnqJ3fs)!}UBU=hKoQE~xJVxU4nq4RlXsVDU0gJ)if@~?J zADqAA&)hp}%Dk4v=tJ3>lAP7~rY;Xm2n{}@BAZDdIW+A#9E2#nxmFKAq?8a*iQ)=|cAa3$AxRo!?vWB!m*=SdI zc8Rn?Q=wB)a@9}r&SbPPOJH69c3@dbB}KqNjl9FQ*Y=z9tii~cR11F7rCdtIHpSdV zZLkYFu)Sb#-ge9am22Ku(0T0qijHJ;lkn=B<%uZU=IU;qq*`+SGo^CbRUSS>B&BjY z?4ZY?l1}RAm~)IlEx4QE{RHq0$HfP3gI1jv2HCkLDMI-}xdY|{FmM0{;BG6W67Mo= zr4HUOLQ+Mw5JQHaTY}$M$Vs`r-NQ~q3e{h^RF0h8>QDbhRzl%I{E{=IlN8303SnnU z{8GA)#33D>#1PRy(KGux$ zFqtL=WHm?1siJd*E59*C=CZF;rF&L?)`WTKa=InB)PH;{wdc4_0a@9Wc&y+&=JJ1C zS)LW&n=WI{rkr9GBAt^i^EgzzUIy_Ww>h7=%z~6-D$7Nd_oNz3m9XR}M1|l(d0Vh4 z105x}zG~(@b>6)8T+i%%#tHbRr z#RqE?g=kNroJWhZj9o&ECBn{GIH)gamVO@Mq6Sz>K(4J}+qRI-?ad#?uI;((wdUY3 zO+~QKuLq*T1{1InpR3SWaG{Ga6HSG(A%zDE#-<}WkB4fEw#-$EH{{Ex&H0HdFc-+C z$={o^rlXtdG(ys2!HHO?EV5EtaJY*$5KV=%8HoVriBE;ME6=6R#Ljh!-{(guHSWb0 znuumG6`=jqV_}}3G($FFA&6g`EY&nw6s(Up7EQ;t9*hDLPDsaf9*_2bs$SX@cPx0U z+x|av-wQX{Jl*TuV}xCVw(%M&P3~75S8; z04^1uj;Sncf5V#!zAoTis+|C?3tVcdWUZca&}GfEK^M(B91?O@PpDD#k?RR*+vi;8 zDY%#`Q4Vdw;)QZ$*rPKA>2VAqluted_EzDPyVk4I;7>T0U;^yDj5!;rSA*GCOCi}1 zfYU$7|?YLGLTO(1@$&bzf!4JqyFE= zbQ(HX=~r!a7--_>Cv#^uEvBHK($Qfe@>!@)85`99^VlCEiYbV$Z;1_{n&VYrs^pxbn=z0w-E5U5^O&Vu z!Pt%Z+C)XunP4Q2>M>_y`Z=yy*#Y7WO z-jfvzm0Gz#Hly(Q%G{d|jUUCr=D}nX(lH-0bt~Na_z>4)DSr&-^COIWm7EKk;g`AS zKf;dxC(L8IW~ovy2f}(3rKzQI7pb&<>p>$^f1}=V;rAI!n~S5~<5-mP&)) zCt-b`LV^k4XYsrRSuMX2o1VwKRqhIl#uVsN$at`nY&zsax?n|G@7M1&yDK8T%}&!s8!+WJION-YoJ80cNdcz~3A3dCb7Zb@3tx74cjurN)a zhqL}4L;c^ivx})T_j4FAS8!Q|h#?pOW`SDEa8;|kgMZ(PIvjVt;5zi~DC|Ka-k-?%1N{2Nz;f8#1! z{cl|RBc)rmJ~Yw|HvU>N+nurWGy~c_j#m_s~)ciyj@+EQ_Y|4KS>iKblH&Mgh{D0iAVj=p!=-T;-F36{_ zX)x*E>4*;*x)qpxd~<7lkdn*++5e3$L2M=wbCv&uGU)$8`6s$M^>QezXGx0Ee$D&{ zL%&4MgH8Kq>tX*-DCai-A}5-F{1eKu{}XodBMj;(Y&KY0-g6LY+mvDO+iQ@gEbJbl zky~YOG|HGZVAd^tJ$rASAQ{lt=Qp^1Typnz|EPfkRihqyAsIvAWs{}uHH|i>utKe==(?L$4e*=K(6Na z8>G{<*&6@?gp3Et2 z5xs*7HmDhz%(t;^EBLRvjM)0>zn0kA02(vWD?#qn0A*hz=1w}=cAQzE8 zH;X=Zv;l1a?E^sc*BHSe-zKCk1Mr7(a{in-18vOL^0L9-@UxEEe+Xj&FNEputb!uI zCs+p%z>&n9hnPqxbvz8;D>7X{3G{Jm?2!bl-Z-T({EGKHM_xo|&*@4CG!~{vgv8_B zroC30Xaj9I-sYYzd+S8;Ga24geF*X^p|wuP$9 z!T@n+zTZM{fR;AB1Pr~Spd@mquI-S#nc8`g%oBnCPSlGjVJ0_YGcbU@3yv4bYRq*zVN40WIb1e!8o)Du}Qcxl*bcGQuSE{X7qMIy?7cU*A**RK-?%$ zkP7B9?RyB1U+5ABTQB6ynN_gaH7Bc0ZQg-2r+~IBJ_ZN2j3jXGTWus8J@yP>CQ*O< zuA76bV&h>Y?ha;hcY6REsiuqg0P;82Bl>k}veJzxHP8*y2Lf~dV{e6{gjR5;HWxK0 zSqGpR{+-_l@bD9Kr>ny4)(e(f^dI&>5It4&XzV;|8m-njE+5adTgfjHlP&f@fU)UZ@wy!rFyjx=(XNRo) zLD(^GW7jw$t23$Y@iA)x8$#?=+O;!KMWbL`@#)oYKehU>Ip{|4;cZN(R9x2nUo}_c zOgt+|?`BMZCu-8;x@BV-c5!6C14F0^li#pd5*daSVVR$+kScHfVk;Wv-CfJK)agAh zolyIgm^0UmW1-Y+qmW^#89OBM=dPEwhB|rzSzw8?>q?J^C?|3tQf5cJV9?c9U_sJ~ znOi^D)Mv9L3#lj>|L*I!q64pCIvQZQ+t7wd-%|Pvy|w6wAT&(ew>aH$NfBbh8akT& z`O}FBll&vSEZG#@5mig#Bx}d7{`aC2;pj82Z{cGjH@7j5UV7e%=`95JZdJLthfrH7 ziO8dZMd1OPcDn7$j^UkLx**aLss?@K~vcH_74wATo$s+d`gbM~1A5 z(1VwK_WrNo2(@=>4Lmuk?qyA#{!>wc?+|>qRNF)3MLYH-Gee8khs&)3@R=Bw46?5( z<@A?01Kfc3va>4$d7i)344DHP68SH__yzn?Kdq;%g@QWnr9pWAA=<+h zq_VtK_trrz!yn>f@2!~RQp1GQdAHLUf$}x-jk?_hf5JJI8>tsI_tptQv6_9fMl6*v zt-}=Fe1~}nw;QQN`M6xmqU`^DeJHdoINyur5BOmeyuj>RX@M*2!Wjhb?=jpQn%}<* z>V8gTL;L>Xv^6UxkR>Zj=J>HeRQQ|V1K^iUdyLPn@PfK{iG!7BU{p|07>(TxM~-!y z1D2uDq3Sxo@3UsOi>6nuk&h_MSFl6v^rOZ!5to(KSUL@laPw) zG%BN=MGu`bI6FOs)v}mjeski^>{;kM3R15^NOP`%3-Xsbj;?jR9<+6pSj(z9F0cjo zEAoN>LzabxKor-$2p|MT7oI)aV{*cdog|?%5f`Z{RU}m_d`D|N2_&Mx)mW~ylJ}dL zLkGgg-zB&&nHEV!gp~CYh&(NQ9^Kw#=aMboLn)Z z18#%aUBpkNxOwy!$_-ziMshedn&y^kT}5nz^R&4qeWHx|kt1VCcYNdT-bn@U1DNuy zZtIYvJkY7LsuS9gS6+#x#IxoEaSj*$8eTXG z=o6qxw9bHs?xF_G<|{)~t^B+@!#7%CLDDjYSF=+wT9RE3iCPolVBx59{PrP3K#$Dg z+SaD|0KQG3e{*%6!knP)R)}*~hi0Xu{WaHUadX;UrocD(tYmY@iJqqES=`me*kkUV zVBE+xY5iKTuf6S5YILoLn~~TeDedK`zHz*ym8(T8lp8t7 znFn05fA}lrNd&|%_E&B^Z{mQ_5CE1$2g!YsaZ@g}4FCq6IP}Ej%b}&!CguK1{0Ngf{8RekNvSLq2hFr9{Tp9QF$Lk+F^7)y7Kh`>zV*eD=f=#U(@j z-XQ-$te1$9vcue$E=F+m?K^Zr2s#*2fb)U*Q1-+EeU~|){mLNAa4sP@0qEaGVp>+= zjwV`aWRUO)LDUXVreCXRG{#AJR*;$QyZk^?dUHPwx{asjkFlG@QhxF<&mQHb=-EaC z*3E?T4guLf1O`;c zBx2Li$gJO>$5A})HTPs}B*+VgM*7JnJ=s-ne7nx3FBs$iGyb%w9;=!*r~b4kz^5Gc z4M+Y<-r5*v4`ms#GC(4ED1tAcEfk6?AQd%wj~T1tQ1T2hL+uwtOksUnTU28DWhHt} z4zNG@?59r`Is=2bYT{F;P$L~>TlBSwIUC&^3d{m9s9d7gLD{3yKOC)ZC-t)0hMfN` z{6d}B)oG>zd$sCEIX(+eiIz9Xr1hSs_9ptG z#wkN)x=Lr08UZ-=X+SBi0Hcsyo0&1l5Dw^LX*%k!Br9(rgy@Mp@j%$Et|qle!e?;)he%p<6NPHKDE_r3LA2OnnC)qq|KXU{r4pjrqUgb1KN z9CjFWx~T3~fw)?vn%1jh`DP*ddccIv;LudBZmPKPhI3r52zgI;Dgl(LEaPY_QVYde z3)O&=q}mbyA5j}aOqs2^#cI7NgFd(Fs~~fMDjn{!5)xtvYi>`TRC>ol{Mjx|kW_~nw(hI~_0KEM}%Eb$ZEYr~94Y+jK%ppdBE(@`H z9)QCJdRIJBTp5sX3a}`do703#rOp4bhn@?5UNn=L%22C?iixP0MZCm`j!V=!Q6{-z z>rdtD!&imzOj&>o>H~l&L=L5zxQ(PdJYeJnI*^5b)imI1ErKe6wHZd6g*i=%U+XFw`&s{bViO zevFv5y{R#Ng6r%FW$goU?{QxvAAerWMXDe^@d@C9zgShA2%Zw_brDhA$6E7=FC#D% zD70;7O!GxX(z!Pkf&`Bb6lV?~%IW6JdJ1qlU(1anAV1#sDgjKhqfz~21sKYFw)+?z zv*u(?M`TjCXI`(Q=Gxzw>TkXFUTQ0WXiexx6iC5=*nY&ZI#IW}3AGMz>_->*QkhPK z9AF1z793`DXcuWd)6KDb!K{>iyrW-eGK{|qwJ79?cxMJNYtczGu;fh4b{(;yU;L4< z->Px*DnK|Qr_g6@MR%gNJN1WX15#4le1v(0;aE~>%y{iQem_=_*P{g-ag-KO%}(pX z#t_7g>?H$qC5XvWDgwcwX`|a2a(>PF4KI_I=bDy}oRXHYP$uAV9zwVoK15^9$B;9H z))R}f>Ndjx((c%cw5dTiR0trLy1Hf=5x3>TN^N>K(r&yOfV;Zf4gpd=Gd*5TI+vp5 zAaxD`7-_)h`8pvU2p*Z`>g?JznMt*7g$Ssrq6)Bkm=5qdV!seD1wvAixl_Cn-g2S} zz!bHmUCjzmQ!FfAxJpD23v1=9L z-tOC2Xr#=r@|+n`JEXB^0YKkCsgEc{oV+{5NbN7_T%^nMdw$+-1-Y326Px~}tZrT$ zC7n1`EgRLpZRlY!+&4>8XKy|8M=5KDD;kKk*!5s7XVO@=vW8H&ggq~9wwo~z<_UZ} z{Jh%!8)N=6q308ZvI}x5_9=?cxR(ESu##)kdtYpL%qmFn<$LrcKmufgsEAEcyj>B` zj>X_dw}&F5?oZYF1&F<-%wcJv^E|*6)4W?&QasEGdW5#RuL*1Htf6q+Ew1&`wlBRV zrcx_bIcXLE>VVnBIZaiNSYy7dYUgcwlItD7s%`=6BknRCb#&_(*fzCKl<05fUVyVW zk9m-{d|Q3A6H7AZfXxX<4_Qil|0sVuv#2xx{K$GrEXxRJsbPAC=JHEnu)o+Q_cdfw z6YI-vXr0mcYgl2yWsD!u-7f+_12*9WrI&#UgO*02CC`f{#jW#rp&o3Tfz;T(cRFxw z>>&rnF|GX$f_(wyjjjf+C*Jy)q}j8g1i^8mC(YPt&Uqqx8HPCi0cyk}Z#dmRl#Cwr zZPDO8am8j#lYDxO)L&)P>j?cD!GnY{FZnJQbE2x;xmY|+`M?}f;%taSj0;)@=g@OX z19h-7R(@~(N*ki~uW<17XJsst1PJOD7-nhyl43|DR0NVDvV5|Rvxswmi%~3SCWCcT z#ns)JgUckelgBizEdcVhLECUX zHKT6)`*gyb>y+~?T20@uMuXi|?gq&6CB`tWLdo||aYG>~3O;buon3LHu!i?$o=p`5 zf1US@YX6Fco1i+cWC4#iLP{-QHS@}Shn(A~#1Qz^QQu|i_er|fV>pocs#K{cSQdAEG3~RU+tRcn=^!NEW#4LTt(`c$d^w(>NejyemcW)$-u7ZZO%rLz z$S@Nlo-(|^JK%<36&aS)56tA36#UFeO@7oeA5v5eFii&QVz5qa70fHk8p4y1OjVTi z_eAvEQwT;62b(MiKmEXPrA3;(3}!OTFvr?c7IXn;9VapimrDr2kfp}gez=+D*ROc+ z+rrm?{VkKx*EA{A{-GK@eL72UCXdy=Tm5OeKLuadGdAqyKXq|)>Xqm<z()n~LS#Y?`*CIS${sNqaU&Tm^Lg-R zh)ETBn5IlVh%EYqqIym~{suIM&1>T^$mkgY)nRb8Ke~#Ov?oe};!7#h7MXzJejlBc zRF&qk>Lv-t9!7D_OpS=gqZo&*9#O%CcoE>H9tzGkI)MV<@_8YX&75lK5(2x zfTN??myK zhxKYhi#E4Y48(tAc-@hdTafF@??E;Se8<&#fm#Z5lFk)Wzk25vHOH$sB#v_i?Ow}k zd{V`eXb?_^;N)>5RH#xlYs8IY1G?ArcDRP7G8;-}4y!(Lu2vJIE1g&ucSU?liqyl@ z>CZi?Foa9h*$RNhMEU8g2w;`j6U8voYZHAPToyz|ycl4%#*>2Xb#bkYPH{dfyrQ4r zI#zR~Qxy%h_J)3=g37tL^xv*(5fZ%|XYCk`1T||c_WbZb z$IO<>{31VREqunCOU2R@ao+@5M|0E7u%IJu^>{6oa^eH+^9y+eQ+chu+R1vRa3vwc zZHr_3!!Zl=G+ptNMw+R$2k3PpJc4%vC!bTbbC6w1^ABU{wrcf<7Td=T@KoMuw!$6%yl-kTS;CScJ4x zqRuS#Yno-O$yn1AxvTj;US6GyUETuezLN*HDF#Av$xZxYS zvGlWRRsRsDvd?f@acj9;~+G<$4K;F)sX$l zlTzVKO&YB`!!!gLPJ>7Yl=o%oa}Cd>Ee#TAD4s$i&Q!$~9+-HGyl<%5`{K<~)Y$zMf=e7D8OeZoc0OUB<~y z8j(8d+q8Y(JvVOOL!GxwT}om#AGc`v>WR-Svp#U1jZkcxV!~eT=B{&x?{=eQe=;u- zc%{}ylzJDN4LKraUy8PjRbc0Y7Tgd>_}V89+f982#K#IAYsCDmr#W_!Kyzsa^M#zv zRnm}9@`TC28dnUVaR}?eT#;-CS0kkdyl&TalFw})^(N9;Rffr?kElLod+7o*fr0w|G7Gf&(La$3=9#Zf+f&Lf8RE(~st>!+0B zPN7@YOzJx`l#n8%5ZP%Ck5xCraC*jydR~v)leXStc{76NRG@=238s|$ewjLK62#7S zgS6m1X;OBuRw|m8$w*muP&f4n^8L2vSQ5g-l=HdeJT!xV59_6!DIZ{jRpWY#z#*_D zZ>-(3UJjy`da~z^+6=TBhAxQ z5cg|4u)#`9Jo}q{@%-I-()`p*RY^(k>fv7laMAvgNhTY^jW{qOd}l-ln*jc2fKs%8 z57@;ovpNl|0ez;%hvcG@%2X+$zE;1{NzwA8^(hTMKVdn4|JcA&F`*6j|<^#qfC8ways?sU}6ersuax@;nDe)x8Y zXdH%-=2isUZ4tQbz{C+#WNa@LE|V%(as>Z`V{XrP&BV?~tB;nKHvltPY*@~YZ~%Ek zQ}~HGk>RqKYNMk6U=drj&fBRHjiW(6EEB%kgn6vyqKyczeIzhwtHqLUkwCE)dh! zEPJsNq)dSso{y`;UkCsVo=5-_a=gfqZ+8biZgPk1197XX%@%PIl$FrYn-7qi{!AV> z`FQ5LZTd|E_qE7&Y3vA2@Vr^C`qRJ9#cGW231SOo$9SDnY@z8KbY?xr8wEHt3=l9Q zsQ}>jIiVr6`k%Tz6MtxWa&KrkxPmP`V)$`B9?u8-5z2iz5U`=-+~W2mhDEKldIb%7 zvk>xbCFMQb;UL^72adXW=S9EO^zJn1!NBlD76dl1ar*W4)`>ZI{Ii_vO-Jq}aE_d) zW-K*R90Iib&%;D`D-khaR8AUXh{Q=*GP`~c z_n%!E2Ly7*^T=)AlM_=b2@E|>eZJpBPK4D3LWbS{-l=;41kuv(1+xZY8v#n;Ps15d zHpj;_#3ydBn|L;DfruDw@nR3j1sL&#{6N|Zx*_}?h{O?OpUTRPSF1oxm9zPp>~UqF znSk)$@F#$`e0{|MgO;Yxd|%C@%uO0BH7&Jw9hCEzxTBT^KNAy&2TEI86Uj!e ze7wg>UOgU$X_F57JQfTJcYeF;d1-g#7KacxtAK|$_a+@#*bbDNo0-@kPL^&8mlC8!BH2FG z!+g@aHIxi`5(z-b&9I$VudJJzhhcMv%UCJMJryMj(~6M$3nNev0iw>G9Gl9GmIu#P zM^x2Fu?&O_#F|IWcp665LN7`0Z5qmI1GYCR6vUDrkTN*yL-a-OQ!^xv=D(FF#@2zWH{fy2P|3?amQYW<~4LF`M<5E656w5C;$Jr6-qq2@$U8 zQGS#n4~&|7VviB!m_%RZdF5y$-gtiS!iN!bGiXNO#i~ZD8FUG?X5_+dH{Uw6B-;K| zmnO%x+8VT1a(irMn0#e?dd7uG^v7||Q^$~z0XPRUSxX%0C*a22I$m`lBL0T*84$;m z@~%8DV7#4p2aTA~Qsan>f}10EzbQQ(uai#3b;Ja>y&tmbZN%ZozzNmLvONnj1_^N0 znjoJ#U`KpInC2sK2Gzj%q_SK}fosK0&+&Ri(cdA<2JFL#Bj^shy2R+*O3ctqni0K+ z*aKRsI8;~>18%lTT8NTE^#Q)*RcFAHRIu)lvn0VyCHv~RdzQzv*C8fQli?NxUz=zw zTgAywdcKd9IBAYZV1a#;>hYr>e??SDtqB{y{p(|2=KB5*0C{_|f?VVrj+}9o#L`!Tg%ija{xfszUN=2F#PbOzu^$n2jD(+-FbY!jZ_a{Ly z5*wqASH%#q_B`xL!7EDu494qm?ikBZ`7X$|4w+5qtkCf+p)j-z9G88oKv!$HVd-hn zB*kHLP7|CyqM`3A(0fb5kMrtoO^U&Z7E`TANBUQ#UA7H{z93UMF|91;E>h7XQ#QS8 z5ssD9x7=;>t*O^SKT01-HFbT z)&qbNcT5GLi>tn}A?`hCfr}-btaE8(T%msqt@2;&AaKTG8|#y%jz)G=aZWatys~S8 z=}`cSU~W`?+5llgawy?FmGoK!=thvC-?5nN{=VE~xK5w#h@hb$!*C1WEN zP+w)|Do2x-k&Baq8J2O2cS|hxh7GhZUkC$+??Z13_``miD^)&M;!Ekrall> z2i#x&9wu)pha4oXc>4iIE$ME29Y?8Q7B>-4!A+>gWtf^ zWtj*bMt(p&%Cf`9SWHWPF1<5j2E1V|8>kfQ7ZY!x0hhl-En70B9m zvwn-C+KAz?!xTbjYjGQrS^yJ47x%GqUL`eu6_}r^1i*!ZaSzYrSrfbX{v>{J9iH*OFu*mY`{xH}?7%Rf%gdzT(svzY znWi|jV%+sAymgDS@-UcdnnDRFKVms)0ApNM+DomgnmJ(XTaQ?c9wh8X0O=1eNq#V0 zmIeE$ZJGy2g3$u}7B}sP*bU=>#te^09gtPXr{)*3 zJX<~)=COwqXc0bcn2I5YkMdOi%fbm{?{@pqw3ZaxC*tVCBldRMU*}YnUW~ye>X`|5 z2TX+l#pVQ$4vA04Lcy@VI#FHR-103;*3{_+6=7nC@1(t* zT&5zH#+7bte?<5^61poq~1#@Lrs~9_=Dqpw#Q^A z{-6JO9e3(k|LQd`6?$D2L$Dg57{Q8^t4@@dTolbKE-VsXeqN`idT`Ge*JQuP&`13Z zaQ4S03~E_?fvogy8QI~zzhUS_tdcw|BRgjtZ^*y>oG}tN!d`-n8kLm;>U2B~fSK2} zl87^J@-UlU;JE>X!kf>DUby)YUFU6NVY=|t52NoW`}3GGOb^WkD#|vVKjZTD%WqEL zKfilr9AciPuza9{%`-lMy5>KH#_beS%>RA#`qlR*Fl^~Wzsb!6vbRNW|HXQtS z>jwYbCW9}=c@Sa3Y&nRIjKVy3jtk7*bsnc2omO$`a-hKqRsn6p`O4ua=KGz|@Pr~= zJ)RH_^`lJ^-?8!2{r#;-?7Y3XyT=^ehc&~5>&CfL8R(>NLN4Ig-rbzu9zU4WCfa@o z?cj@p<^C7~e36Tl+QujQ;ZD4;LWEf%_7-%>vn1cSY13Mkm;Kqc=gDMsSlT+njcRC=i$^y=}vT-#781fUzTET z+APs1cn~)4N!O`+E6N=s5Cps?DXAALnh>NgPj}cD&g*!&=CNe*xQ-aA$mSCBQx=JxU!AG7lkIJEO z_^j%GFYHAljOrI0hz@KEeyTiWbU+W1@nThZoR*3sJo6_uDL!x!wk9^JP{)e{|KhrimLCL?Mu>ijdx~}6f-j3W5ueZ z_g~z$&;$i=J};!3KLESJXh&R|6bQM1Gj3s=j5K^`a)OI;^~NNum3J)yDFR`Wn+N`Q zfi+P-pu~1;`Lj73P>gl{>(vMK+BO^SYO`R(^&Rly)FRm8pZ+>?$p@ZGS6Y>??4PwZp{~bHXcxHORx6#U9R>=EG%DTxsUikYQ4Yj7P@Ckv(j?${mg1R zh3-e?yb@Y0ydJOh_g&NN72Lv}vN4O+D?Z7rxl{Q5m+h*%LukqTMQX(z((jLfxl|Ru zux5Z<VLroZihWvom;J`=HQxkIM2N z)$q3H6KRZ5QU+=&Eg$`-pPa`j#lM1r_i^DWXOd%2DF5krn))0y8P);XP)}E`7*y4o z%6N!9+$@8qjjO(_o~b?Ed)?+bGBm8Fh&GK5&ul!dpe%IDKaZX{gwOrG z6SGDm(52_OQqByGxQw$ne+sEP6F;yY1ApO-h0%f;q}WRGSCz3IK*3%;R`S;d(zMo4 z%-PhoKF0*IL8}KGC(LB<3zs|R!ihY%8CJ8irO{l>Y8+zZueYp~_?YAhWncQB+)06+ zuIfDyM`#e8Vn4wrKN$aTfYBF7hR!6n7bm2Y5NR+1jAn;~51bedNBLo?>@+pIKrlWz zVIv(3Zk5U5oC5-?+U#W)mv?+JbZU9o_NzzPkBUb7HmP)ZP{Tft8(;R>Z#)X zE1km<3CrIkP-w-LzioHR{CnLkPwDHXxBN}JTmJCV#fHVrDEff+PM2;q%oEc{)eK%W z-1jH^=ElZe5iRrIa}%!D4_uN)wd@WjT**2%4>tan#u=Z4k&nTw@X#_viB5!3U|MPQ z?P2kVLYi0#mjuF);y-T0gpGK>n?;liYMjK+-v z2jos0*EfT^&pGCr@Af#q*gU3^|7HJjv2b03_WYfZ|Aw$ zDja@i+=@LImnX(eo*rTI04FRqF~u-<%bzcC4md`@l1BM;;3=h1<^VX6Vunm9^_&$BcHqeH`LgB1MVZS=N!U$D801~eu$7z5~|2A$2GEx_Gipw$}O z)wKHu3`J}NCFv;3=ZydI7i`629cyXW4#`p9TO?A0cK;SfgkK4g`1`O!kxGGx>XGBx zRbVMT$zM)2PTe0l`T>h?JF|JBSvSqg?-j=HRV z?TstT5PT2u$E899#Wsr=eZidZ5p;q)P02EoFv z!u+KT^pxC{T);stl#BCPsau~W8`ZL$=2Td$TZo+k;=(}{ilU{$=FC)qAhdHCa@_V@ z6QwKf%!pDBw-(JOYqncvILY?-?!p+dF+}KjTEmG+>bl^LONvM-STN$3WiZ}-dW6+& z#;fwXauo66>v8$9JVnWBtCYeishlN;X`0uU@4b<}m$@?46kG0N)kivv<%3$Vrc9N#bHyvEaVo?|-gST#6ZIHaNcy)>_1~bf5 zM3xu)%Mi&3E?9)sL@qV~=c@Pl)jHQZt(5L!8i*RrqmpZ9=Hs^La<<5S)@W|My%(~# z^sy$p!7(^92asgCM@fz<%Ip`?cvY|eo*FrnNo+Z4I4b??r5AnsO-F)U*%570wk@*6 zGEiYsR|V+_DQSWMu<63zl09IiT6ZfyH=r4n1Bxx7;lb7|-pbvxxCn=%^}e)DQTsC1+K_ z>XmPOmiRozs}Q3s$y|r&eV%eqd(}!Bv{GG1qmBfp#kao2w@ziZJ_NU2l@B&XKu;pu zuHu89cPXzmBQsojXw#O`P}1$WYNwPI1%tdfDYf}Cf8kZE{E^*eL2!S{4!pAP3ud6FpfQBq7nleg_dkWccV`F8 zic|?e#>sQrmkD{dcnDMWq#`at#<@S;-CV0X9;$BRvepJD?`mSQ^JLZHkBphQe6Z=j z3C~7hLpc%f=R{Z*H3=9z_E(2Q=XfgY)z!Qjlmo^n{_%!ZFK;UTO+5mhoGU03=HX;Y zxMaU@yvk^&=V{(YC}76NQ*er-*pEcRbN;0m0At2!Grpp-lhY%tHK@~|K8o8P$rgFx z=ttXwPb~EAPVemKUzrbnt>v@ZLQJJc671~KyEUU}dc+Vl;kmgw-zno1w&(I|=>euk z#vuuYuMir64Sx#P)VnUPgj^t}qU6{PanY|N%2OA5yPUe-`MztL-hV2WtMSjhoc)3JA1mi@e=~x1!jU2t9zCkC#U8h~R=>7Jg)h&tNjW z2s9hu&bgOa$zD6bB+Xb)Q4@v69ZI7Xpy8U@o^6lA)Rxfw&+VAa&mj7EHUCfI(}Q8HnG2vaT#&G0v3lzN}jZ`x!jpVzQCXS#Rdq63$7!CJKjS1zA3{vec#Da z?-t&;9@crO{C!u)Xrra__nj>Deqo0jtyK)r$zng*V{gOd#zS-i-6`nan}Ju1(8+Qy z0%xPe^7q|v0}~Xg&G>;Bp(WW04Lg5!JXNvkemN&y3}q=a|Fi=`xv0_4-e=E$Qf>-O z72nvJxxUG=h8v@&JH7TWu(fD zG?CJb`)MKs90OQjbyVww^ntdblyJc{gOuvvx)4e@#;4&KS|1nlN}5yRwS#XljAl+> zOP$ccDcIu505m>fp1sLg0QOgl%w3f2lN-PZ;atxAFZgBP&)6&KgvusvNkwPHab;UO z#{=1U8P?09uK-r|gI}4dRSxdioa4+Evy?a75yOTOmROSqqai8G3Uxl?25n#DAr_y( zPYh%DCIN8ZTlRPn*kN{B47B1&gkd$XF@G%QlrJo!rJGRzQ(SMS4?qc+BP+^OD&If| z47M4MWr0f~y+qMZ^yVpB&Qxl?ZLlLJM;@wWD}7g-lp-P6rZqJl9ds!pAxM+o>R_J~ zgT#6j!fZM+P9IJDg$Km3kCJEvHd)d54mL#cu@#MKc|3W*KCBoC&!X#Frpu2HJ>U5G z{_IuLM-#p07)x(NQT%XnMsZs#sQy|0bdb}7ujj?3S3KqBUj;FR`Dl1dKmnihcFUZzjEa^}YA}Q&>h}oHOGM?+f1|gEZ_6-c3Y!_0P zQd=hzS1gzE&1t08SDB*Cii=GXqtW52B^Ao>P|W@Yo-~_RSUYF!i?TRkyrf-qH>U{x zT$4mH$=dBK|7zv(yNY(tUOT%LT)ipyyN`9>Wo*#%jzZm2nEYr@K%tzb81O9?+z7mT z{}YztQ#N$bFtp5-W64t5EAd=Kz%`1PMBYQ3Np=u>;@YoVa3)q9>9USp_@q@+7ca9I zsX*0NvJ?5Rj>c+Itj3G5>Evw^%IHA31T8TZ*J(`z(AcEIlH1gT%aa}cu&9Os^Xo-Lr}P`A-hKr>%zLB+##_J(#-sN7;E$xTNKJ8M05ZjdQZ_D3A#V zAu9U78pY&~c9gzPs#%m|pf??{g%eTt9BIceCc@rysD8CwmaXOF?JJ>QO3T$F#;m7p zS2+fdSdjEuVaYa6{240^Vg&HQiqM5Xmr8aRQ2KF~_GIE% z4#xU%XWR6MZOc3x)SSR&9)_<-J`*CJxI5Zaqyu|F{t0|U?nrL?s=5Kwi_f`}vH6zv z@g8B~-wY7_ZZVnI!AF>z%Dct+m5jqiS~WbsWxD*0))kj+5R1`K9QZ&P7zM! zPL41%$F;!X00E~dax99$tAK#ljL842sviP< zNmWiHzAeH;Rlr`taSLKe(Saa2&Ugy_AS&cM;_CsHC&eCC@RH<&Bc4%`ZoUi!N`faA zN{Cc;A|Ew_oD&Yl)OP1_3$0Wt+nN-YCjL6k`(s)tnN?B_DAPh}o! zAbY}?X(N5&&ujSN2k;Ui@BIyh%pc>%N<RQ!-q!9OQS% zE{qXZu9%v^-~Jxo12?1ewK1$CQi~1cdLP5f0sseD!`(_ip|k>X(KXHkWO&xI zlSc8O5!yW0R>Fuzdp7q2%Gn1b95eNAG8JFD(!h021vHr+%eI=sHSSaTM`RTS?m*kL zL%58DtB~&Y-iaBy5NHyjnY%QA9HM0@s>-QSVyg`-#jO50&QgimsE`Raag-M*%lt5eFQ=%=1niYbv`$lrCB2l!?3lFBE&jLsAKXKy=!!Fs!`D zFN&avLwi=jNT}m;KXlU4Z*l5I#f38gJ!u6fC8YxOtRkOuk0B@Jos&_KWt>Y?`@v`` ziAi%U={eCTZ~MxvLKMCIF8>_=2bZm7!$>1!&EkJ&>quzz7%$SJ)Ewils$&?3cQ!@) zq6Og9$`RAsLVWmG`NxkWY?;K$SGDRGCbpIv%Q8cfOx)#B#+FA-z{kKWv8y%72N=(6 zr$Xuwc`-IYcnAX9iri&smH^M1RlsF{XmYmrMzydW(#rcZ=Yz$1%Gfp!P~KB@m$0O?Beft{w-*=ZtJr0~}vac1o-k_#5q4;N!Tp1*11Yy`SAl_t!B zVbcqEgL5aS>fKVdu3C5MT03ZQ_p97VV|zmSq{*W)fpGS1EAE1HqhzMo+&Ic{Pc zI=Nfj@@Egyf)r1W!{;SbMzR9MOhBT!JG8N2D^NIfzyqlWIQq zO8{`@WJyy7rLJ%et4aB+d2U#?D$J|7_IW*2a6=3^sSP#}x4XpQ{%Hq(%VGMCH!kmt z8mcIBC8}N7WmP&cgYaH(4OLpdvk~o-3daOKc2G4(Cw-E%B;APEWEl>4p|P`M(dDLv zX9J{9F_;iJT2i!J4CugZ93C+h#T99tfa!xHi+ztXOd5A(E^o0fZDm110XO-k&HtG} zxN;S5T3-^CM_4IJ69OkSxJFKf`vl|ri-=3KtCVAhrLc$P;4S_v99Ai+QVP9rW3VaD zdhnKb8rpGUl4QwZV#0W1s!ig_&^Hy6e%#c!fq`3!V-#s6F`K!(8J)|coc705(=uYm ztrcIfvMyU(v?P`474r_3S>UfrV@C0O>%`$JGyII4zXpwt(_1`v8}FD~5fE!r^Zcfl z@>ZC^lU;}n$MUxr*)X~6&2t_BdDZeL1Q5#cOj%#$u%wb&0 zjw1GkP#EbrBN$|7;yntX7VDb*rQlF%&y`fRGZjKAEO)(StI9OxttqN_o62Ch!tqqP zu%hVHAjxKQ_jVNaddj)7J|1HrJL`IV{K&xK$nb<}2dB03{&Zoj_6|txWo`7vWxb+Q znW(DRX2}RRK!8PHF-)0qbOA`%x>P7{pl3Vqv*#|0q@AO-m6XbA@kZSGKINqoF^$O# z_^vpPbh|bkhbuOD9*eXL_j*`J$yDS9m0>~1a&lhB#5l7d!6yG4n2jkhAFL0xkZ(MD0_ z(k0VVbvrT4}EECkY|K#&k6L^+kQh^mT92T>m&R!v1Agyhq8!2}zLbt2M+8?sjr@$5LO zYkNel8dgSgwwUSRGAXJKBw1O4KSb z*?!E(HacSWnLt;p^NhT5-3^{SWxX7)^b!_xkhbAnE~7y?j<}~x-epF>u%-*|Gd`iB zF4=S*VNhy5xTDCGTcMguZ;V-5Ner_I*FLZq$11s@6H>Cj+Sa0RV@i^!r|D>Y#JvQX zIMO6Ues8@+o$&h;>#cCjc)-s@c}4kR^M06HKf+jOlZtPETzx9Zrk=eZUGpn885DP1 z^|EMu+quK}4$Txd9{!q6E8ie`IhL9dW}7LjiH>3e5soJ}IjiD~VjMgvMu`E1#-Yv) zeH~hTV%Crjs+>(p-04Hq6#1Z;Hl5$WPs zpTio2MN2t&`;+rHP0xy3SMp!VFMt!FUFl;o#0M-o{hUoofMslafL(vg&)K&PDtM1}TcQFs$N+32?guO`msmcOO!{zYo0wit zo-J6#k*F;DD&Z@#G-Xn9ve40?^4X4iM|0t({p48bh0xV{@b;tml*CF&BYmO=<6DXQ zCAnxt%>sc#LVG%vGG2h3dd))qu?QpJO(te~OU;8ILXHnPLnwl8iUie~zLiw{iBsM0v)RBzaqQPe;nfmTYMR$v9 zE;?l8?N2ov%%N+S)@eEwV;IpH^WowoJ=nr79BX_oEnIfC( z!VI%QxyWh|mmqvf%{0-H2$#*0!fLY<|0FaCv0ECBS)rISf zXdNa|=g(dJ+1&(TbQ)naVT1<(OEjANYs~Nd_)MZxF6W;_(zs%TTwl(u$`1JBxX7$0 z`m1wAsfI%m=&oQYI9%6Q0L9_-lNxuCkd_*|i)6=!gKSIE(*6;xxRO3lgDoyp$QKbk z2*tn3W+1fI)*x}A>~Mq!?A~4S6}A*{Wb#6TC)o+(a&g?GC64w;nq3#Ub9QSrQ!Th7 znJ8?=-N|HkkbrRqkLK`HbRK(7K(EReo)2OAIb2YkG$)FWYqGc$5hGluEL)|xO3ilO zt1tVDn4zkBH$X5ArI(|O1;=ulvbSetF%!8w8D4=ETqI)Im^Cw(SgglgjP3X;CwWP{ z#gIh?Q!>1Z+kn@o0JCY}b??d!a_OBUjnEhg`HiipfFeTGN>1a%cU}Jpcf@g`Tm~AE zB<6Gr#j#oa&j^Re&#B3typPhkO|a?Qp_~#6b7gtYU{P$JB)a&~EKcz2iD=?S1)xfs z^qsmc+R)GKhXuayRvs)78uaMn(&Y!GX{Owdv4MH1^7c7 z1}FMc5w98b49+wujOhUXjwpXJxfUNtdejJ>s?t9=5!JGcZ%U-^0=mob`u*6q9&IeA z8rhG4gCAbrFt6cSnc+*0RsZ4To0rB(GpASdS*v)6#aC$Y0bO$}b&Qzd>VnKH)%356jPPy9HWtWs1KTwtk;FXxW2?Jl zh2b1z(mGdzDfpVh)(#OBil(Vli+RbdoY)w$#5%<2W1`w@o82FGT#A5+68R^R6JHm_ zI`*(&IQmD%0~}Xi4lgNo*Rm1RfC4)R{2)6z$GEbrF1&^DWnrfHFsh?3xxSq!9IkqK zD07q7jj@vznt$W?=YT#6_lp@Vno@bb2E+!@LKOtH&tWPz1JB?=e7sU6KgTv8i0TUn z5uj9K7!IO}R)p}zdk>m8w>fDXVKN&ut^8997SjHi@EzGQW+D_N90SoS?sh}AwD6RD z3_U>h&$dn1=?(0lc{qNC(NiQpCp9Yu8~&cy2z^TLbfOr{8IiC--WV4j;cNF^T<285 zJFMCCqa1y=DTaH$puM(;%9;7~1NUvGDC@c!4h-YW7PFLxP9l(V$jIQBIB3EMn|z{> zNq1O4(LF&8ysaVgJ0jjxSnHqW(*X3Sut&d<#ge;g%GCb$Vsl31=D zsI`SmXp5Prv=r6_ShoxWpQj*L@0D#5}P##=!45n07} z2<%2qh8U6$V>JmNpB)%Z8~Tk9@gh0gIF*z`p`&kJAHVr+YEa5Sv8exM(gz(C?p&-B zk(xc{0w*q#K!G4hdXDRF0RAv%jC`XMQMw2$bwllt4(&bnj&Dv}4FT`iU7Uz2A=}hZ zzMSM`OV55}LsOI?_3Ydf44mPp6cRI*4xYICnzJ492IfTW6->(K76SZ&+Bf z;^E`q6F+yXmWfv`31;(h{K*}2msLA$t09;S-RC^cdxQTGt3+8+K$lJIy6!kJIH$ROOF>wG@;CW z*ARtGNibYC2dj{fL6lKQF%BHfncT74fyUgS7NJSCO=pP=!s$d*Ooolcp^T=9o!N{@ z?w5w^%Z@FWXL7Y}ms(a1*mK)8mvw4$-cXMs*6bu&g)Q{E@8|iF zU~54RLuIJs*m#qK8h-x}R2uA?!eHNc3&%38J};=6g;x{b|igLeM8t* zt{DFC5qSFGf7!@Xn=Qm(;&8$+CTTjU0-UwitSBv%{Y^OKz7qj29kq=Vu3zWf9fa>6cU;>8A)S}uOwRUZ0h@= z{hd)~r71GPMQ=pxXC|eXe`k=3F9xC@e~w@DLI-FJ{tVm0eEhNhev0{V==h0_@uwZjdnb@U>coeToHg~}wfxPyQ0RuTDHygu8 zI<2%#HV{i7cmoKXtzWHN{GL!)YKvtNgdCQ(~z!sW?a zW}Dt|2__mAW#%EnfJ2jK81o+bfg%Kc4rO>Bf0&Yno~hI?95u`MC~;!X7r6WQ62{xu zK_LVas*@IO#y_38jB1vPJt_zi*y{r?y^yPG7}O>aeICCV;K=Gr;bMg z4IEN@%?44QE4n46J6gRLIL5GKWmHeAX)!m(Wxk(>kW&x=@t?@xFzB-l;;dy~al}t` zV6B6d83z(^etrac@C+rs2~IgaN=J%w>mRnt#zGppdQPs1Ln<3?##BUXs!WlFby9gmYJpOQw4 zvTRSwU_D+ytP{VC>OEj;8RrC9_O9UGm^9^NVx}<&h|eKlbe~$qlVnSS?+03;V}Y zWGx%N!i9w<7L1Nv_E24|jF`sb`xUKR8lk9spe7+RvXB65k6MAHXt?P>- z0={@%NRadiw;ngg;{@28o-JiQSF{?9n|U`u#0#zoTdeG3{9jDlGB3`c3O$yMr8SDLi-VMU zS-$?}x5Y0KjICPP#wRXa!<(TTE}V$c*fK>DYq8`tLBU1h$x^W(;z3!xp55=oT9XZ; zMz%5^iGETPQF0cmEvkZlqUWT0gOP|BrQAvxF0pC}4Ka%9dw=hZo7_2^{yz4-uBdBn zVo_P3w3S%J?%T}RWS4STCoRzrc+fg`f3bgc8*S{Luh0@hP5z(=poEcen1(C_1`=u9 zS(trpq6s_7Q>jfC>*i2`oc(pqh55g`7@|+ThWHl1u&>6>XxJV*W4L~$Eq)2m@pcNIgC;mdIwndZR1qM|KxI+He zU)bi%O_#MC6{@vmg+~GofWEl!J|KSWd#Y#joa^X0yaOzkkg5RE0a}Y|3^(FL4M;RgnUQV7UbLw9_vR_i4Zen1lL7;LjMm^%S>E z1G?2RPVUmc)F`x7P*J9EF4NFR*;`<}S-8OR1?D}Dj;oKN+`#>TECFl6jN&v5d z>&i0JoFz_St6~9h!-2;I>XtW)=w|W}<8R-~SBaPdvHb!d%T#-DZsN(BBXNKJ-|v3` zEIZNiaLs#1YyPGzUQ&NNw8TC6m2l=i`~&pxP-yLZqRgC{vp(p7#BvP$MXesU8y_gj zY{Ng*IXZ~0H`4iyQ&43bCFeGL`Hg7%$xB%KX`0%3r#`h>qy?nICj?Xc;Rhn6Z;F4y z_~S-=ZACh|^z8kjB=SDBNKN>l7A>v$uqq|}Tj!K?@AD;FvB#?^OWLovu4HL<^`L6r z*N3+$`pFEZXX*-LvS$vQ##@6OWlqwzuIfg!k5AVPeUx<=VK$@V(FbH) zbszlz?yy;yuWkjTNrhUH_F-JrO6-G1EQaAW4sg2gLMhVS5KmBLJ?C*ydWJ6~S9OLR zWv1Xfz1;Rv{G$f$(rf^D+d)wrDy$%qjcSFUksUF+if4F8_VHg*+(eeJmjNQG;K`1d zy{uCU`$G~pa+JxeDT(f{CbeBJT=%0*HBPLwz*aQ;<|Rc0KeqHrC)8pTa!J;E4I%D! zy&hXJ9VMTJk{zxJ6>hrlqMlcA7bP0uA>C`Qp4(i(t=@q3J8u}t{CehlU+f^VRgL1e z9K(QYK3dMn>doH^e-!>wOZveGBv14X;sE^Yov9K(v>^*#0h!U6>4{%Z_m(Ugu6SS|bCN7HEL9=w&#cwP&7RKGtl-yY?pE2KZpKa!2w z!X>Q#>vsifZ+?ZOf@0|S4+np}`fy+{|Nr4YY$!b8MTRG5nT4P;n1FV2N6B0#L&cBNy4JfBjXBV0WzS-j>okPIC)}BY~ca5p;CyV zaTsCvd_92m*h88XD+cO(goByX$3T2AWKjV}u3iZfXD^fyae8~1!Gj2_9a*6Q8t_B8 z2QF#!fOWblsD)dzq7KW&g#jI(0t^Wb#24A2Lzn)c z{{}*->jDqU<4~u?4yC9Wf8^ zDi}*i|G^)}4YcWnMu~^_@($);;dLzx-&4gbbhSPM$s-v67(XgLsR(V+x&@ua2$2n- zj7>lIXQi~{AdJKfnhMdUbxh&*xcuvMKHgSyrwLvT%%Hd3b6pj@Uv;IlK=fwdg2 zz?basH@du=MRR^v6>oQ}lwm(p>?)1k-JIXkqVW!j3X%$wT?tZPTmimwg7+)d3{XiP z=aszWf03t!xz&3sam3&srO9T}_1BvW1{h7?sT&V4c~TW!6&zkH~- zF{F|rZZi7IU0tTAjH1P{<+8O2`u_k@0lp5x`NjvYEMwrg!zbAzEC~}4<% z=rFLLP9=?yHuo|V4os?dN7$2D-&&7(BQ+tW<;LpokL znItI|M9g}1)baNxJm_;cSkZX(KmMaJ6x=O1E~f_grR-#cJVxV`_S@!8BgkxZwn*EP zvLTt|4g-5`(_zG$J>R3Aje;qqt8$<7Q`a%WxQH1L4U+)Tnh->nrP_Zr(EhG5&~DP9 zST-ikm*5XYcB6faFl@SQ@i)y04L?!*Mbn&%BTb~wFf@L;zxt3aK0SA_uuzp~VC9a^ z&B+LC_z1ozN3Ul9L=kfQ`3mBwy>%M8ML`lbe!2i$dXXc|PBj6L9Y(d(N0n_ii|?O9 zJE)pklDF&#QrAI#9P4(iK5ixwf#s*dBNJX&4I4iH5+l z*u-{iNBCG8>sx50AfrX(6r50%Gw{WK%u-sz@M})~JGWg28|7V5V2Y}jP^5l@#?*hp zSQ2ikW~b%tq-Exm{7FrN;P;Jz;C7X_sot^5RMR)HehZHWB!RxbER0w<67A{OM8I)M z*x;%?F7)rs0WWYc`MY)(_PO}Js68N{8p%vty?9Y*_1b1qS#Od&K_FTMdk6;g%9&O5ofLoIRcF(^*q*V%(c$U zCaZlTFh(d6q03MJ9=$5W;zqsyv;$uj{BXPphDuTUcu^y}G92=8!1fHzW~I0<5#g9g zTcEVwRNyH#!=#bv7^Oq&vGz&e*Z{ZIvXy9Jov&0iy@J4|Q$m z=ssb!qWl6$;W15dA&Mp#-YS4*s|D`}cw+!w7w(YwPbvjCi)iW>7j>!^4GAwvp=YmE zloY;-s1VS7rbNy9iL2j^MXYY(7Apr(U4ve{rskcXCHv;GOZE0$jvwPjB!e1e94oQL zFjcaq_$N{KsU{>33XnVykUV(v`k-k*W*6NkM7M*IK8Vv^Z|Cx6&GvL7qm2(+a;=3c zVkbPJvPm);luvwf%>WmInEDw1#3=2bY@jcINv zNXMJW)I9v#-;WBw$MTMjw;=AIoU#^Q+k&CVnju%nngQ;_Rq#e+QyTD7Aj-&=6&yCw zp2LH;yk$Q1$#bPH-KpKir5ocXjq1?~*w{IE*O#tS(7H{{T+NpI93vQl;QS1|^mZY1 zc^UNQtE#_edfu5QC}p2jZ@c%+Ih9 z3e$@?ax}mmimZ{#sqjypNZk9{Lc2`0Esjpn{BdnR;TxV^W!ry3!Zh)7HCt0l8#s4D z%M8XMyH2$e5Pu}=%Zs70aNw-JoxB6J{j=f*=v`w0lDo?^_A+D&3w(bj?PI?z?2>x< zn>*$+`>AzgPQ`J_nt=J-h_*x0*6EA!8xhOaAtr~7_d%d6hJLgu{{l2|8^7v!rFV1J zQ7(v&?`GiZc$nrmgM$on&mG%R(w3TBzc`FFjxMH31@Ttepmg}B6vk@t#k&N7)P`YCEooQIBpx30Lb*r}Jx{}!!Mp1&ijU>|cymYJf-L|K0`y6%H zC9aYVDHu*RV1I-XHr2n!%naQ3*nU{Bm6Iw{*`77USjr0N(N+C$xD)MxtLTA4plRP* zkG?lTKt~b!$yx92&Rf*BtqndFd{gjuZ|~e?Y|!(fJ$7^BYYJ@}2H~IkHYMIosWvL# zCT!m&sX{%V&;!3?$Hl=}@#lkCXD5&KN9bLm!ui7%h&#kq)RlcL*Ac~eFeAhTm z3cSc*GAvxuAz&j{wZ`T3{fDbu{hbz6eg5|}g1ZU$k1EoykSPmig^9;jGL^J=7>3Rx zb$lmySBlM(Y@cONxj3269N51soIut-3G7F#@)1`z&5G(Edo@z3JO`(~ZuUI7hT_P) zT@S6xP_(&g{!&Pz9N&G)^wSfShOpW#EMV@T5RW?joh!SP( z)C+ek;&ozLj_XAE_7sx z3$IE>_5+o8gD{DG%aA-QV@EODs6$vN4@rd zdaZ^A8|8LIl9U|RI4*Q7Fm_L!8;dK$k4iDjvrFMBU%&*s!MmpCP|sB)~qyE7NP`{d@U-SHD_!! zCxQYGC9n6aX3GWO=PysV=ur>1*ZUoN8_P0Mxi$w(0IT2R_|}Jg_Ds)hl>7a4`wF-o z6G-=kR6mK&JT^np5UP4fO)C;#&8*d9$ZM_u`dzdZ3j$;{p}z}gX*>{gHqJ^`O*b4n zE{?lMlQ>xmkS3lYkz!Q{)G)N4R9%QpIs9&U?F>m{{Gq}6I!Z)KJqEuRIKQ*9OzK`- zJpGhLU0D;2#LNG5d9Df$ayJuT7s{KjpEjxiqDW%`(ygKxS>d5Zjos&D{)#uh7^P!( z1?jy<)0@_4=^qZo74PP{`*yuM1dRsHqm=htKMm? zOvcvtzVIkRNh0r)g%BgpkPc~+}eZ*kF|viVQ1KD@X3 zAjmt)?H>wJK`oq_u89fyVSq!^IqD59wsKLur({(2yMK=G=gN&M^M$ED1b0EAmPd)Z zx*IS-Xowa1OnLxGtOmQo0BPxRsK7({9rRXx#$BQvox1^%v)GH)en2eC3MN;asdS4W zLG&pB2EKQmzS?BL2`%&lEq2f7CIvSAzaZGo;gSO#N|ZIIUF*xcZa&xAf|@I;F?3Nw zr39%IZ7XUWCqE4kZq>Zvjx?rjg}XsNZ-wWsf;VpFUe3KA|Mb%z_X#pnk!1l6ipL4g zn2&Z!*YjWlvVp3c$a#9TUSVdi0P>>B@*DsUn!E2@25by-&U}n(orkFPoH%EfXX2S9 zTz7Rtmdj}DeN0pr1vjp@!FPZ7@lSuWZijpz6kd=A99KL%7Ln8wU?k*t5ZNXQoTtAA z>BfnZ_yi3uzMJ}e;Yy-G9j)y+Q;eLGnvUBgxCpGx)t2}ZOy7!jro+dI|=ozCum+cfW=qTQY5FRu(ySW+cP+F>4 zN*I}|am0jNASJxzPFZ{p771rimbttP{=E)F_VgL?KpCD?@@}9@#iLj%p$fZXaBWDtozZQyQ8wm?k)`p*z<6SB~|2@PK5uou|g-MVmN3$RnKINs6K3_ z&DePx6G`+_Vpa}@C1yz);rd7_hLL_l53t%G+a6(QaGj%Ou0VvC1#^r`2pDv|m_(a* z|0bYWUb&gKFpi{kf^MKNj8(|O<$5VaQ!iP^8Ox?HsBDj%W4(k})ksV3l_Mdrs}yoz zH;knT+orTu1wXWqCokX2)fG`Wye_tK_`D6@d3y2!E(aIZ5MU!@N<4nH3x(Hu;nW=a zVtOd#DZBLRB#LCEu<0+DofLZ0Gi*xs->s+nx7Ns~5>PIP!2y{D@3{D_r5V4&L|UVAUR6}&i;lRQyayFLFcOLxeJ`2Qt&#eg&yqb{NTbeAoZNp^ZWYjLn`>?&rb7(Cu>zB440$g5NdQZf!=DoLz4I;OT(`q+&k_PNttjK zE(1x1VajgSr_YqPi<~(+=1apfIIy7MDga_wuT*kK`@qguf#;$l-UxnBsU~pn0f^Z5 z3KNRq8g_&i#BLfU6KO6~hF{kl6(E#io{x`aCK=*+12?Nv*HqSA^?hE| zU!R}_@d@m=%CvqTWk0Ln%HQ8)KP#J=I^oq2;@u!Bg$0*?{@p)bzd5}={YUAs+K#^D z(x>pB>2&IBl69Kz{svAU*3N|=$_taPlm_|dKVP=XQ+tr%**ZP74$uaApMkcg!hcn` zwoSD56)1NUBwRJexMqKQ6MD!o;F88d7hl~-%f#cA@XG|_A)~1csC`z4l>j<)=b-$` zlz;H^7IwH-rX4QlF36-=oO#NadZvCG(x6n?#q>Ji@K@`is)dqC)uK{WW!25EeYCnz z6qYR0Nc9=DyhKY$K&gMHDg}hDFO^GRM4a`iD^_7Na;)LK2`+4gXg?XlwK>8?5=aqV zj5e|~^nI*vjsJyX7iJZ)YmZ>#A|>{`ye60)CEyI^?$|1~NinGdD?agC#cx(LHYLX4 zX$ysvZplVS?mFurPkLVQev&B#M9zxm^TmFRY_{k&8Ht$AQ5Sy9q^;~@Q`=bj+y zs!|k;%m1#4h&3?pwdoi_3yxo!DQHFRe>QBIOv&igOWTkZyKA3lbG29lRrt!&d*}^Z zAvDin5hRSK*SG}Ro#3aUx(l*p%9gq?MVR<9d7Dkh<{;ANsB2D#fWR4X^{hP*PC+GD zVzC3Xm*PlRs)Fx`j1hW*vB_xF*5Ts8TLg|iph3@->YS_g=~^a03CX3upB?m(3P+h6GH;7nF7p_@&J!P7sTADvK+a@WkU~ zfDYX)((l*+rTy#T?Ia(5PSanx^PZ@QbLapXOf%^3zK#K6V0&$>o40JBs7SSnAsVR?1FU}0-G>0Yg$v&s9Vo7;LPFF-#HHv)S zF!C+%#5?Xfxr%~d^(x42gCHgdTbJRe+MA@yaT!KYC<2f$eZCZN3IHz6!63E2)Q$yO zo%-{&38JWzpp5ubheCeL34(845Xid(y=%6SB}WC?ziEnSH?Y#SRn~U14!aA&cMWjw z)=`vmMY;w0fa2Vl!?@OQq)klv`Aa(d1a1}1xe0@aG-C>t>o!9(+p1h&AGyB=*=j(B z01kwhrvrD(egkKT&Kqjms2J0P3y7*0a{p_DtEjsW>{AXZWTGV;?3q8Z1z;V5e=eLq= za5hKNB>xIbJN_=i3u?kEgo#x(P2xp^#UiR@_YjZxFvFut05n3R9wVf-L`anZSFJiZ zL`Q{P2X=hNdp%pbca{DJLDaE@2|N&7((~Tkv;$U$w4$YZLOq9zYp4fqkKTlLNqU>N z^`z36)h-)dL(f1yleq(>t2E{+oMN}VpEkeC+YabNd9NgIDsi*w^k9LtkQ9^D5E~t= zIdOFHe=SL5gjj`Dz_Q0gx=_*(xu0Oon2M~*P=?a`Tn-$Yz(oNj3f{X&*Cxf~II3!P zR<}A@28*K=e8VVlfzZZts=O$-i^N$56l@v_?R6^8MF~J)g$8eMqFhCl8?~W znXKh1SYpcf(FnL7Bv}rST^}9Ikh%Ba(G9TfHAMOVa!n6)e<7#Q3|;B2zNxW9K*(gcGgxKVEjtso!!*c`anOj;HUy8M;+?3jUne( zLO0OJ>w^q7dYs-f$DMO<492EsMcGGzV3Y(!+Wbu3L_n|RT;W`=1;lYb^57OE&e;H} zKndlQJ0~v?IesXxy97PY$^9;(=_(45ckO{FRbM%bF>ivxkW{H<+15nx9Jw^Grwb(% zaz-Eflq|y-IP*frmV_}z&U_8CjY1y0oxkT(9mCRcxS$havszr#7?5%i@NKL-kVz6O z-1`%xsgQ<~)ZsfP)$fTc&3PzPvZ%H<4^xpz)~al{28*3m0-qb)JA)Ehlavcr%?dW; z7gl;}gVn5|Y6Ts0lxtP(isd@W!j)FNqH6D7am^?o6(EB(4Y(9qeW(;rZ&%K~^R--s zM6-%w-#VxlRip+<`=}uj3w-^`fAlGc)#wmDlS3FlW02;Z*3ia>;{%`8& zosQfXdSR0+QFj~_2e20)SZ-70P7Bs7FwPmkRTTg5-rI+H!(6&nu?S1nJixeNhhV!yB2! zqq!SKVp5E7lN6u*Fm2s@S>EP%HuliK;bUz!+sH!`Y&OlV`;0rRVG`r}3+p)57|z1R z&F}UUjx6Nv2_bskm!oiK3Aq_7_YV(;faOpTa1|@6SkF$B9K`7w$j2GjOZe5J9Lj?x z&C9yH@B%?oRXh;c$(J~}jZbKiLd@5ytZh{mpwbikA!cdGo0%G`mc_fXxlL$b9nM(i zyH4JrLFGey#mka8`jn@U<-0NGBnyvOmoCw4Gj+QXaMm~xTU+ggvD&(B6&-@CdjLW2 zW!2jj50EmU4pP=d#=?tBw>-RXTcn)(~|nK z>=+*O9@n?nv-o0+J%UJ5-HKw>GPX|?f4<2SigJzSNCQg*ieOHr*mx2sIOBLs%F9_ zl$Lu|#^@11JDIr2R@-oM8891zN&{q!{t2HGPjf&FX53MWA2O?Rr+o+eV#vQf*y@G*2bGMU#;J&kP&xcw6y?jB)++C`%W?l%~Vi zq-vR%kOQ=D7^19=nQAE)4&8TnK3R2j@hnTaSdEU0b|b9gxdEbcu`4lNDsi_I zFTY)U>l?K4JQT+AeQ~HxlLP^%0AY)4pdISZuwCLT@Y+!&QY_V#8J9b_c^|;vFJncK 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ⅈ4cdW|Mz?n0?3NYM2+FksM>}v<4$`p$N06j; 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

lmU~wmI9GOvrN;lYk>s#Zyk++Xa zjrt4i0Ou(|w-wc|i>QQ^C1$yOV3b#ClvkNiUX|^)SKIy8_I}IrqkeZ^9$Rgc`pB#; z{ns&=LA1+$IjW*!s&urnl&0KW5l72aF(4B|$IRf4wQ~jKD^4!~b8tGHg}S%Uk!S2M ze80H~q=;x`@*sRb8(3_sg$D*_i*p8hyv2%$LYq@#lhHcxmR-~4AaOS%tk;z#o`s>W znp*n0*)&&L68;B7c_gx25E7M7{K&O|fl`+esN#F&gF5Hf$mTia%~G^D1g1t<2UnFj z<)*4u=%7!;^s6p@5CV(2BsumV6jx0#vU6g!7X zUr=|5bk;I~{KRmi?fQ*3khm<9jg<0{De2m*x_?_gI_I7wX!6#XAIPWhx^84jG7wME z0BvueOu$Iw9(!bg^8RVnc5WTyBe5^66u`|~f9D}?Fe?>q3^n<<>&HzW@EFD6)rrhz z`;6i~Oc(rX^UV9eXDtYMHlmsMBgbwd4>t?UvZAnemWYr!*}*h8iq1?=fyXl}rC>YR^zA@aH@$*jtAH!HqrlveG~D75WIQoS zjA&NIaOMOu%ObWPlQJ?396!kDb3Crd4k`8crQHL^M;}o9g1+MjZoCcKD#godg@cf{ z(#C2xaAYBl_zw(4nQ`DxV|J|rc43!{Q49dfeZquujzy3)MiB5Q7S^cs;NlpHl1q^; zWRg%q_~^#}WQLZmd*LPy>5(@b=5)+xs5mZ0iBYx?d@Ol4rUHQ=>!_PrE6aFJ3lX`A z(LO7l&vI>=-yWAMn4SDh5iBnJZ&>(DLxJuW@qdMtx!}ci&8`toDF+znGNTJ5NolZ!Oq!Y%N6Vr)i9waL*V;p)vQP*FuO8Yh!Q;K{GNaU!NVF zq{VVhX68!zz0R~MS{Ff2J@A{uL&4(3qxQ+laEADR?(#QMbFgv3RwR`skbfVI$1JET zhGi-`#ykgyBKve4A+#p2&LBU&3a?zJ+4+ zsSG7BxG$E-0dWgoO?@7^b9$L^Kc%Sk%$ocMbgJP7M;FQpe9V{5I zl+mn^ng=Pn-^SpZkGpI&A>n?Q2%b%Oge7i~k3OTSmnJ|{p2 z3uhuj5k^ca9#$YgIr|*t6*C`9#|6Jp_os9jx}L4|Zs|VwJPdeC>ASVzZHx_XDXpG? z8Eh#Gn{SF-3c}Wy*M~7rmke8b-Wu$A+QiwK^jc({TdQ72R=wpn?=lV(yH}MKg4C@DaAF`z{^x_h)+tzq{UIfIc>Z91NibPmVWM)N;jqo-Bw?2LZoM) zD0f!_cb#kBs>Xe&#@n*6o2V0S%fa>`NN%<&wykNn)xp-SgUNiHeiKMq%^z9u5H3N$ zvsKEL5%%*?&6ZJDT1oNG51u=RA6IK0gzfAY*7{WUUXso{^=-Cia9`F=BSj7pk<3UO z62Y3Fx>c@7n2<;02~zKe$*n4uog?6oK}8=i#SWxSRgzyaAS_-6CBmkTYX-)@{SoAU z|1U_onz?3(o#R`mOqQf9OZ2RZ&|7nO>yqp;%x`TV8)E}mdPp|jn6M0jXJE@&2EtbV zD?#Z>vd(5}ftrio>VjKcFpI60j?ppne6+*^hYR^rx6;FrXE;+K5m74|3vNKIjYB)iKH~KC7*%Dx-T9e~Xd6`C41P_XW9w$igBnB~wczG}+Tu-T+>1l_Uuo zD`4N=9P4a%w_w@TvUk>)VVt_DVC;0=@jTmarRrs#;LV%|S_p1o%j!VT(EMJDl0AV^ zTW(prWm;IZ2E+T2xw8f#2Z0|6afhm^LDW7hKgIN{Ja-u9l$BDJ-VIkI2&D>4f5iHj z??ZL+CiW=~^@%Kl783(lIeoX{R5`@T!I=FqCljg5-~$dc#8OSV_=x51RPS5E9Eq*5 zLN~b8M4WL9#7^R5qykhrmEX%Y@186!S7`H#EQfMZ9v})Q!c3KM&j@`_#{~YDR7SC@B_Kjg$bqCfD1beSJ%vTy z3DxAF(o-X8%at(D@koYRayW=vB-J~&Zz5Qhv_C;kP@Ojk(9 zTElj#m?BrB;1QR$Dk!-4;5#<3a(GGBgGcZ@YK|h*qls^0?}e`VPo;oP^(z4m*Z^XO zM!@q8Q*ups#ZCz3C{-a>5bV8dExT`$Mif1u<6lCofI6a@D1e+m;JAgB8q20p%<%7y zXMQe~s<|#YQPi;QEQ#9~qBaT@LRF(jmxDVG+LG>wzj3Znf)xJ$y7D z&*D2@+zA#uQoru>5z~rG+qn1I##5 zT@)l;60(h5)sc9f znwl&$Bu$W1BmcXXRY}NJc_W)1o~3wGwct_HeJ&^bfQFkLBld`Q0k*hGK1!M@bQeV` zg@PL)^+@&P`^a&{SM`J~1T`=plar5aPG~9Ji%jWHVSj@dDdE^T%z%X@EgcV4>eM~V zjh}t&xn#P(tVu3gPR`6JZx}P+dqUs{i{!!@*p?rF+*ZK?v5G-lSxq~>@33)GI$hJji-)yJBK~J1teosJE5HJ4Joadu5w!WU>y^a zG$5TX$<_ehl3X%u2Ljrm0CWRH%NM34<+IPnat&h3mM?>3Q=#R7_5?~E>Ja&le0tA& z9abCyq7u9%dtmO78c`mwDE?PDtZbE+k~kF_!}xgrKd68zT&k z!$@D;2x=6u;YJJtMFP{~Q*c#jr){K9)Rf=l;Sq0y^BJQvv;YzLuf%sS=3(lUZx8TE zeqG7%MtRI$*>pSEfyGycr2m0|6Z^ua@dFGA!a7@Un5H+!i6qk{l1FzZNRul!CjO%# zq>MWsOW~!r1&>?fO$763$t1Q2k{^Apdn$|Vq|l=h80Xi9Y1;uL3ro!qYjwq;l(@-p zgPPc4tdkxkX`rqJ^JoebFrGCo9sJh%-k8#MI21V&Z#Il0nnGZtYW!uG<1ne77B@cd zBc5#n#Y%>VLx{`>Zea*24`oMOrWxwD z+E#X~`)C$>E-s`}-?)X0?@|^&b{dD4zRF0z%?Ge)rdbim&#M0g$`TllDAwSnZ>}z4 z3(l1ckeH$B3J*%#PyiK1lvaS|`a}Ac;Zawu}_kBz~Z7 z*eyQKMoy>YKs0Y;9<>oaU51xUh>|Ysy<0KO5K7bD1g53CI%u)}2#u?!Gv7m(xHvxn z`z>NTl!b1?0Nv3kpMQMBK!vcCueMaoj}4nG+4>7yCkyo;`R6UkUHTk{qLv?+3pY*` z=ztpN>#f*I?4`%HK3&DPkbQ?VV=mqC!-?3GrB?Jxqp}$9-8XxU?35|1G8%pnDUg^X z&KLBYM-`I8lJp#f_&gh^Nbwx1VI}>o6X6(JrZrx++1QNS@Fz03$iJin68m4s^I~X4 zSHdF6wkjhS$kq-K4M}@Z3d18>;&YtJmF+Lb;`-u!*jLJSk@&Ip9!e5+I@m)3Pum^z zoOTd6>*{SG<=*RV6OF_S+g-FNyC^TIfcVIQtPM|(`1EB?#_Qs~Ev_)_wT|B--!ynB z&Ky@fJD!-1mn1i?5L#P1^}7tIt0Z`b)=}b-cgSCPA!5Dh(f8 zdl=3k9uoU3kcY*!jrcv>m}p0mHdKJq_-gR>uZ0NBm1X-fIty7)h8&#v0RkU;>G7|6 zfx!}Es^vr~fDsYcgh3_rSV#nQP;pP<29j&R%s=o~VVv9;H*QO5!DaY7=hQXXZiYs1 zfP&r&Mn=^pxrj(GDO2m@Muz0NIL+x$NkFT(d%_^XU^(SJtX}DVB>~cVnK-*P^1Skj zQW6qgRchf-l3($ z360nyEk^SnNJ+)l{xoRCJ%qWM;FkY{aag*MnV)3TR@|DF>YT`W4%l>-Y@N{Q!E~@m zttSN?xU3;MHHSx2mcE4eR*#%3HU9>5V+qfLlECqrmD3@?q%D@ZaDM z)inNzPXv3DA7OW({wS4RZ?hPt-0~YGIpOp26qpw7`2x`RUj^;4@48GnN`8Q#D90L{ zpL)@h(jR`$AmtD3`V^@E%`7@d9H8U6QU)|n<@aEWdmA3Z07E3z}0n5ptLxj zQTYK0DW){Tm;inoTl;j`%4O!4m|WM}`N0x;A1A%Ytl+5Fu$%7osV_u!Uj^xQlCF3; zUsoUkJ}(a|5!@Xm7~?bu#8y5YzWwIipAF-6veegrHFZzFPyZrsXf70-@X-(M5tq1C zpbFB=_XBq>@Xeh&uMou#eb9Lr_~O2U0BOsgPN9|3-{?UOK^@%IM@cjAJGMg#Hl z!N0}PwZ|q855Up)cZa55{Gzyk;YCosm}$TMe~QxB%HqQn!9J8F0e%$g$vo1ewERYT z^`vhUgZ6*C5%dkq@5E;eTlj3yu)LCP#6J(cPxiQCW1z{LkC_n61_p@Sa$ zBDc2k{AI`WK~j1!0|y+$v%n91%Xd4uQ5PYhtae;4=75EiS;a081yWH`G`jtG(T1CC zAr@=9Qwv_k?2hVv8=w}2{1I1>?4jEz)Q({@bB@kW#D{%m`ew`EGxIR*9vZ7 zM%6q4KF^j8gWwr$| zdW9j(JXUE-nCTFvUiU{m<-9Y7(=t$g?OP%?I}lv^a-&+g=$kcw(&Bwl38V#cKq*db zKMFqIAU=2EBTw%bPh*(lSz@REd*H~T0;z~Z-p`GY6yAI>w?by4NU%scv1J%6)*8a) z8WR)3=>?7#0UjIGaV#K2;Mg|gdBgvoFxk2s)dE?ev9^+1Yj<9QyZ+R(XTIZwM-+&y z_Udim?4{y#hmaH!@_~Ho%$z#zT>DtVJhT&UKc0j88&epVoLR+yH&cZiq8SVRTy*)b5!oOgM{-$HUp+}Dk#%SG5LEi7Jm3pZ;mFrd;J{1XD! z8#OuMDCk0;mhOduf>mf!tO-SP)ibat6tTIzAh#D}JaZoxPnFy3l~XH_wUV4b8=F@*iEMmhFtr$*|_}!UCQ{y*y2@7%R%~2HzL$zyE z8Pz3L*A`+4^Sg&+#oER8V4Ev%8OI?o|Em*^-lC&d@6eyfxY0NXA+E=vfAY(jPCLmO zbrgb4Jn8SZN8Ka;&!OT)eXkkp#my%cM0>8P z)WafBuxg4rK(f?>3X!9rPTLI4W!4@lgbBON51cy(k~avPHk>Esk!;Yjho}^Sg5w>n(N0Oorj{d2Wnd`nl^>b0{U0BOoPS8xQwVALJ-QvY1Zuh!9iEP zp4O>Hx-b!GLo^Mgo+m;$VU~=Ih!JYYrJFYNQd9;UMO`qO4aO?0U~yxyRL6@91nu8r zg{}9j!*WWX=_r!3v8dF0kVy$nwoy1s5VW3v%zW-q*2O60iIwE^t%LDdIT#B&^KxFQ zKk03;Gt+WhC&XJkm1)#eW9zJVQZpnBK0^AfIEFLGVA9PW`$##vus7mQwfhvUO5R($ zHPs{Soe-P*_T(CM<~y;k`=C)Cl4qlS6iCpG`VrZitbP=z_bk+p&&@S~qr`f~DjwuS z+Yt9;#9M0puxwL3YsI1jn$KRbD8b1F$;~EQ4(WSvD=)u1d6~LP{1BM4$S-}$ePu6l7%vwF)c*3>#&T zZhEkQKL8ApLc|%;KrNF%J_I&)yK@~*PPek1c+-w(QL@e8zt=G)QyZ+TILw7u)E#IxrOJGYD|O^}*ng^`adz2X`n`B?bZk7u8(gXI-OeGz@4>(J;@+n^ML40M zs_HTaEpjz`Yo|VfKl><|dF`4Zh_2KQ%-6k^=ylm5LJom{U@0`{JsElE8gEDF&HH!r zs~#LvQPmH_y16&18mm|@)<^p=>}9>@{Dkp)D3IlNUwv6;(WyxLM`2rA1i|UKOg|&Av34-itJ9ZJsQjr z6u>rHC_M=OSBb?qnx=$6K%}bkaeS~$29961vIyH#wPf+fG^kJ)ReT*d3~HS6$bzOf zV*>v^OGKSb#AJ5w(^omG@U(CjkZ|`rPJlUQ@lrZAfnbi zI6RhP#a3O2g(+zs9UROoG=o=G4UsYJ4dFl_i0*{B;w0|u=-m#gg9tHhi`WJa{U=TbEgno)HibTm+7^Cnu5Kl=C1Vcd;Ua&Gh%${-Yp>3N}9 zxcUJ%?}1J`q|6tGIi^XI2!a=yl8Y5;4gWxGmO#{!&1R{AA>v6#r?V<((@Jsr+@3n; zM?qlD)l;>b(!nn^EC28uCdGM&8TP@c^VbGDBb5FkgNr7Q6b`b+nqf9upV zIQnSIibquJlJe^Q=VRq%q*}-@wCwSU>~jzP=^4AES-&xUi+tH#8h;)bXVAQvn$qBJ zd=Cw;7y)8h_gskZ69}kb+%jh@zt-|aWjPQAy6JNMkLIJ+%R)zy4f*c2vd&U zC`eO&yK|`4h+>RomIbk8=zL2{TfCyO%^*jS0ZjP0WW1&a4(bu~BR8RUG6ah7dk6BR z+bOzPB-}alM-Cn97&PZJgQ_J!ATN*xLDaz;Ne+w7?V{6_MJTq?hV@W;}v+s=eO%$N^9llR!SwE4TJ4y+KQrs&*mf%eb_xYJFl!GfVdnKr+)0t2W zu$`l9Oq?>>N~@OamMZ@{P`mkijP-?iF)k9CXvwZoEeR-903Av6*W`N=NWpPJ?7b}I zk_9A;NoL*^gxE@foA&FE<&!yri|^5)5t4%Hu>k!n%{$Za8tr%eop9k>_xO*GQsdIX z-w~=<2uA@|KmW2XL%vPxx5x=vi7cr)z_j6zoZ3!`MTZxh@Cg8GJhK_Vp8I*t0@LnU zEmG`xAJHtX;CRxL#s@TupkB_TgXZ8D!D9 z#7B(}W)?*~988K(YwuiMvZ)`;Y1DNd%M4u4{ZwXwY4=bT2==_sWENF$B6 z&Mq^sss&J0P)R@fv8$AcqJw@~yEWa#BE+=ijO zdTlk*6yVi^3&)F|8tsA=7AZ4Rj!$*Fpws)t@o6vX($0&@q}=dS&W*AAmp|?O<z9mEnV@|O-)Q*-Rv1(zJ2=^|L<2AUObLMIGr&xaW(s^8$+C{iRZiiosREhrQLh) z`H!CV2FABLIbnGoGsJLnlCVB9vqoVY{4fc|7rgAAdE)x-Bxt+1%(b<9D#6$)b!?!1 z0!80oB?St;QMfFNzi9(^*NolkN=g%E-N&JGKyL8X3Ce@3PWN5XAmsX5o+6j4ky!t>hZykufYzvfYyWs?>&Sf;*-bNH~lCY=WZ# zsfD^+FU0CP@E;r-Y$r0r9O8wl30n-7_bN;tf__v^3kN-C06;7iq28{xtTSG#wD@63$R{0;Wi z@+jySjwaZJc%~4MY1j@fU5t&!C?-ygs(@p<>O9K`P_AFltWfIarz8|SOx3)hz{Lf1 zZVCeld=-beXLH?RIgU4rRGl39w@%o_eL^MrR6G#)peG4Guhq2gBtiWnhJA`LIR>Uh zp7UEImxoXHkZOo5dILf}Dq2mZ*?Zb2T$aJxh6vf{d?b~8wkKnIGG4~XSaAQP_wuj0 zC13uYMx=^Rd;Z%@CI$VZ5`u)34`v?RH|Y`!5cj)m+axGbc~`Nd&`#ZjGz~$G`QW*8 zlKqI+B|Ei9)+)LhG{8QMkP7;QoJ927C9G#)+(JcB53u4=5kL>ySf`GN19es0&;gqn zu{$~m9%FVPB_X$zqX*xyx$-Ac(Ls>tlNIcdiw>kr$tB?!#^v!iWSP*cdFU&)W;Rb(-3x@}&8EPy%gkzD z(T1;G@|2ZHwH}5zo8R~~m!7K)z8R26F7#~9OTm0zk8F`ww5&Ho`${VjNG;m>*0B&I z?Pe_HoU2zhV>#kLEWDkwk0JQ&5w>~&X-ux~-$yf$tl1Nk$P-EcDB%N4T@L0lNt%j+ z2&Ki_PrsH}m*KeJG0J;D1oz~QjUInYluGIFt>5XgSuMC{!M-zMA%q%mbIig<>8|&n z#DGFdr7mDhLe~-<_L7?Rs;?r??p<>oED+4gA-@u|JxY{D9tM#W?z4E9E?jkxCwdc@ z7Q2N|$=lFzb^QwPt^=iMkSaDaF~1LssZ>^+&rJv0g{(}SI2lS{g9=!m1b1M`k4=(@ z$qDaZQ9`lt84nxmc-OzXW5G?++~Nj10D?m6xs+resdOlHLb}wV zP=Y%0?BTsL``(|%Arv3vYkO4>z&9>Vq2=4PO1RH3rQVN1Fo$v(Gwa!y*=~IQ;Sy{^ zOpc0$lW)%c+y^pXQyyDFvoO&i|(bY{${cI3{Fsp4>D9VwB~WyTga>z;~mz(V0zua^z( z28L_Sp|Wp)ZK*mcxRQr+a5S5xx?dI7o9jJ-qout`nc{NdpAf{DsWGQ5dgDUka_hj? zK_(^-i42v%hEn+oPp(`I$SgpH+|QY!YO;Hrg_V@>s5Gx!Hirg`v`?zI8)@ou?Q@3qE3CmQJg8($@W5b9>05M1|$9Cq^3JU`UP{lVk5A9+X&rJ ztN6}casjiQkQ+ak4}w`eEcjm)PJjHrCU%q|!_TcT;2XEgUJb9+I zZ-UcLEN5R%v=1J>eW>XJ4`CJi!~`Vy4qgo9(XuT6t|q&FyGJovT!fL>ab}=)@z(GP zuct39yT577jv8BJ7CboTSCQ*}2tG|f37)0&-@0`;^W&t;-~gb5tJ53ftHGZd(CeYU z!gU1oaOOH-snXSd;dQJa1|N4uGqtJ#{sUzEA#=y4SZA=j?FjTH(JrxzK*$^dG}}-G z!-0W8tN3rqt8jP{m0+rVqT*xtu>o}{gGQ&9FiZj<39%j*3lk3H(u54>a-SBCrWp9K zk3y_h#w59s85xN8 zdh|I?CG*kulqrzYO>iDVt2`}2M1vz%lYGINdm;N8oejJe$`+W+YJlDfnQCnD7YP!K ze5MUmgQHTd@_VxwNZS3)LRA)kGn_fDcqUfs=qAB@WKe&QvJ!9@I{YS(!@(XyV;oae z;*3iiB7?RR=E1*s&g`#;1dH0&%4lG5@mQuSWPNgu2!_v| zW>EG2p_QH}g|0)TkfaiRvc)tOHAtnnZ2XAE;_|=Rf!8Y~2bJ%`l~Q138Ac2Wq*@|+ zt;CX3Ae(~$>%uMFM*2`W$$nsA-s`08{`PJ!en+fN4Yj z03Bz302oO%S0~>^?Pi~d9;{hK5a1bTM0b2%h~Ss~O{Aazv*{+4aHKe#P+XYMF+dVk z>#di41h}G4cON0{&%%OU#tk^rp>lJvK1~}UxHDyb6gJ30{}h-rz9iczpKC2e^pGa) zB zb{*uLIDF=FUCBJoLlt_gi`}w)Z{KEPAt>8Il;rn3oy?BMavU&*wi~M3M`j$T>nH>u z)F&fvYI=grqQ2=zfz?h-TK-hr25v3M;P&H%p(2=Myj2&BC0^EmEH!Y!;j|U@%o4BO z;sF&5XRfL3Vvt6o$aApvp0t9-*Ckka#9ayQx&44)dy6JfCq(R>!|XKsI1SZF!I&ym z;yNpgr4(anvr)z?Ie@fe=%~s9OMK^W0e4-5U%_TcDxUa{0K$xpOR^O4UW0R-xAiPq zg80#qPOU0hV+^!$>%kEW9+-UzQBiU5u()47rhmZH06t@uGj;?fM{}Vg2!`PqAJ2|k zv0N>L=7Qas*8Jnx`tqy4d{YV0t=N!aIq(js>z)nuYIf5QogIJmmp^~=riTUlk3vN= zxsX|_t1u498VKjeh4(F}XNq~Lwht%m$J2k18CDjVLi7uPG&TwI?g2s1;t{`gqiSF4 zM>cc8EW+Vkb7|UdU=Q71E ze%;C<44dz&HDo}2G$E5q;E_Fmo=$xX$3p9y3n>gd6pxN<;L}clfs#h|eQfJOfA7xr z^13>imm#*zHs*PAXBn{1ybt(tkmyi12MXrhK(JnV2k?JP>#26i>Wha5<@JADUUa}P z;&sXVT?o;19a}tx3y(Jo{|ay@sO~fu3R=V?A+RV7DkZq6a`~^rlp+Novwr8mQpbRw zB&gYD=JjBOh(wPo{nN+o1+DmCXaEBN=9FdF;2x(akjS%O8ad0dPQa;vAgpbZTT3ej z@C22xRVbAG#+UIo=9o1zd&_~iAzL`d@u`lA9G0>8BohOqGoHct)70Hhwpas%%jm)n zsRb-+$CzHLjOu5064&23zB|UXu^T}$2oHT9b?d*G59ZJkm=86&o4h>y##XNRj2#P( zrQP3p;}M=o78(6p0T_R)9&8r9Fk$y76hn`qkOA+>Qcb)G|BJ5$<&Dah|D_!aD5h7< z39!>bc5#{!!3AodhgvV>lI#Rpuc8N$gf5+y;k-^}K?|;c4oLib$Vg7!)ycRj)=x>n z-Na*6SlaerH6k$}@ECkL8l+u`U^q#~$EG5VT~}Yb!1ULTarWzx>te3sHMLcD7|*_; ziH-|ZA`_j^5YU8?7A>ea73*%aN_t%=Vh>K>duZ3n1mA#r)Rb4b3L2&o;Vqi77DF;n zGMP3=sGlRA0I8j zvZZnrW}XiX=^vDquaduuWjj_*2Y;4aw>0-0zf3P$m6&q4OwK2{OMcMV7F$}1rIi~p zL438aiCt$@8I4eN+)cjJE_Jg~U6q@>%X868NhJl@sREH|8!}w1Ub&Tvw1nLqPf1u~ zBb_13Sy@3|=#AqbziR|S%qjI(Pk(nMgR9f`z3+q9NB@9f(`lX(q~Q$h#~I1)T>Q~Q z#>VIAU25Y(Q4PBZ$cU|4UXOes>!;^05$pfU_|`fcn=WVH9$1IzuhCysrU-Pl{~^35 zQ^TnGo;uIIShpu*85_wB2|R>4%ERg$+3;b?IHdn!)v+at>`J$nf|>L+SvW_BXCX#q zy{4T*`46~r1sf-H8?InuZigiRmQz_StD3w&xc&$@83}Qz@>6XPx^nQ9Nxmn$j!=Ra zq|Lyo^CH9%U8ha_pqsrdW& z>KSO&08lj`;vuy0seN;2h%lT8g>&DELb;poWEE<$fo&@2R-NaZ(dnRC_L&JWYxA9h z!!jJ=yd{}zMmm+PXt>bIYV*))Z={1J^SZ=-Ts7>A-~Z_DVp0^U$g!wVkNDZsy2w=& zmZ%c)62iY2qC=M0@0HAn{O;OiBbM%pxT=Vd97j-JAWkdG*IR)fK+(e5Q1R=5(A3z2 zlC0%|n@F2pA&$8&bqYh`iVu&~Ql$-^dF&AK+C62&ubYFQ{CXL*lNC|st%1B_24F+$P`O{`ckMi=y|yE`%|Q32Na@~q2R#X6 z1LtdyeAQAi_Bw&n>DFS`)-hj7_aVx)`UfIY-$jNCBNM~o3nNA)!69Ie2FA{i6az2L zzN1wY9G~01b;mpdDsbEh8SlH-A7d@|0~)3HYq1XTBvbiGmqohG;wjlxO3-W;TBUJ{JG+wl&4^F?D0(V#P8^$ zq*!VP{s(#*$r0Zh;)agIam8%Z_h0;u=7T@}$W>}q^Nat%FYvAR@pt*x8`b!!V$l^S zmW4Q)71M3w`l=%RDn&O)vO3C9n=*`A48fYsPW-9qc#Vwv(9G8+3p0Av09~n=6~o4% z%d(={y}HYRs3pcw&WhXuN}B9Y+E}#Y-CWA9dC#EZEFYZ5pJ|81Zw6Rh%T6g(U=``6 zmO#>;o?3;q*mer`pOw<6R5y%Ce3v@Z<*Zp??^xdQUAP>oB##Ol)e<=9Wz`YHxb``B z#KDq{(B2z6XnWh)Gj=X~?`{WV6Q!Ly_ssbH?H|VP@BSF5CK~d!>>M|7GakeZl#x_b zywg|7wUV4;zy{|wIvh}}XF^4^^Z#7({aGNc3frAyY;@jRbwe%F0$IRSwWZ0}^D}!( zVz%5^Le`F-e|e+j6>EGsaW39+=RZ-XbE7LtjiKVD>sn*629p;Ca|pSlk>aFEOgjWD za(@b@7jO?_pP!@QHI(4rGj3HkI`Knj4chcsEJRKp%4!a=+mMp36x4-;u94OasM&?m z4{s=$TgtbJkl6I}Tk8;NK|tidp6u}w7EVBiq4kide&Pg;j`~f?uvwHsUvpywK@imW zRValm7U9-{Vjwf=#SgWraCaxIl`pez<6k++d$9N|0KY{E`~{+@pD@Ps5ze06?N!s! zRZ~vx>$-dks%7=_)LJ+~ZR`jlRXuH?KvPn=aSWAIE4ov>Lrtn$$s96F@#l3^F7 z+cSi!IPq=5AlBc&;LLQ?woYN4rkuVUs@{cx3gq^1)m0#%pSv#E65Fe-o2#vYyvMMs zYUofIhNn8&I-ZS!3e*LXZGW;h@#L6qf&;4_hR(6GAeIlqDxaMqirN^m_$r~gqIgAQ zY+ubttbZu-=-(-ze@CK!=iS?#4zYiUmqOv)2w9M#Ej_ntZQ=)7-1EaV6wo~bvvwoA;<2XK zdFZ2tAr|diApuK7Jijd}EtRJ0whS5;CMgAm&isF#WIVzXc2 zUT;BTk~<=OfQ+*Un%an0@QoF8j2@JW3S4Z}jF+ZnR1x}lU!YY`ea>voj{xpw&S}G< zujOsHD=xl((u@UI%(N!i_;v{S=+XpI21@@Xpi+ePVF4-yzweq2*&VUv(;e~YQd<8+ zRREjuWry~DQYM9JqToD@1y{Mw?!?woJe&g?nj!(3;UccSD>P%%meo~K_%O^d{NGXz z_snoLg#K4vGrL&cW5VTF1LMRQj~P16;CDOz1v+ti#>9Le)#<^pBemt4=MA)mxC)Mb zVm9=a$Swv+;yrZN>+l9BF0}XCuLM_ZUVRk-Dp0!3P8J;g$dR#`sTzUipb6ocMPci%E^yR_e>84-B@HZ3a%)u;}l|o>ayB(c4NP z?Mopg)Qu~8G`me?0TGJt%~U=a6cTeb$9PtPhvtc7A+=gok?sR=W<8Wcyt!cpchMB% z11)H)N-AS~jN_IB^rdzmo6W%3t>-`}?h*#q*e2^!#k|{_W4wja{r#v}w&va3ImRk3 z*3+aGUSm6Cs-B*KT_r|Z{o|T4|H>t=vyfm6`1V%l=vJsE`%e<}ZRi>e_cA_T1H-FE zicH37d{xL?p0vt}wwrs0%;-1)6CGlSx=W2w6=DFc$I-%}*nAwpl`rh3WRaEG~Jzs@_-fbbJTWNdEb<8w16J?dIStma9|9S-wX)-y-u_*UTc6rS!Mk0Jj06V*{82mVN7i{2b=l zZi3uJksxKkR_J;Qq+4`%M13@iLKET~?S%*lvnMrPKi|EO#RH=(4!)j!aqLfLj?2o* zAZj;ipSeybr9?E2$^HwVM&aOw<3YP`hoi`l7|~>BsV3y4Pls~vR2MbvqDW^IDpw2U zB8ZfYisFz4#%08@2%`zOoSOTpnz|jMGgex&<0n=1-z)WX4}09~8Sy=^7fU941}T{0 z$5^AtkplmC zr~>lb^H|XShJwEw7&_TD{3UO)bvSD(D7sRE1xlNc1H`Qr#8nHBK|Ou!r@~X0sq9uv zTj&|0D}D}_WyiQn?0$H;zZ@i9nor0`lHVc8v?&s&=94pxrm582JS$08HITTI7g=`b z@8@y+Kw$_oU>I{INHcP!>ki}yGjv9d5H#i#e}I8h?*?z5Ayu*@X>o6lSop}8SLE=| z4@c^f*Njy8A$#fZ<+q-UfsDm^*sj=|s{7(e1js7FN{7-$TPT0g=&f)YL#dr(ss1+d z-z!&aT8GZ+$WSDvL+^7n1iky<7a+3-H~a!b^pu&la0_f5@g2pREui}-f`$^5r-%LEtcq1dp4G52N~SCT z^h2FE)&%MYxHjd#+i{Bgh=~V|Km<3 zcZO=h>f8)mbo{TVB4Vv}uS8(7f9xF6e+}96HDUTRTZ>lT64I5^}r(D`q2A|fcMb07*OQS)ujVmO3*hQpSk5o9dM)~ zsaFf(L!!wzKIpEKD(44t4N{3El$f@`Tp6nAnG_& z?Noc}DOe6z@7%2dzddlc3Iy~mhm~%QEvxH>)m6~E#bCC4jk+XY6X3}XL&2{Qa5DxyBF%(-*tq1X?| zfdmTe80k#qSyQb}7441tg`xNquscWW%|Mm3k!z7rct_Xgt=5^XKwMc|m@a#0Lr1Ej zXALC@pQq2Hm&An0b>zsr7YEG1kH3ELyYa`b4GwG-NRZLfI9>#*Sz_b44zH7v753cS zBZhK&ZLE52RP91Xuokn~K0H!pNtXtx%l-1ZTChLy|5ctJ2^>`|k^&!GmP9@Ld(SwYn1TnE}^uG%*#jqX>e;I9=m+=D8P7vM3M|%iyXs+@;~a=bV;8gj<470R@lWl`lpHw1|~7u5FS-aN9-ZbT0h$;`fRPnW_T6SYrD* zqE_G(B9d2*iMcvCrbzNQIObWNWcc8f(zjln-*U#2I)JZ|f8IhF!Mb@OWZoD1D_xL1 z%@Jd7n6#!j(;3xWg+1Gvc2%w1-BH^0DxR7;2`{PhbE8^@r*i*pvL&KT~ur2Y^MzkrfJl@`2u~m7E!;OvHv1&5) z9EVr|9}1>&fiP^uD}%u2;(zupFZXTR`0>a0)9HJ`wx&~^WR>O|p$xX3_yOWYino9e zg@)YSPEs3h_nU^N^S9;?oUg440-g z5t`ac7yp#Tkl{g4pG4-(Q|$(B1d)f0sO<>Ap!^~$=_)|%}8<+T8fUI|S{iV`Nx0|<{OSeek&m_b7(stWAwqke(B!x^$ z{_eLE<@^z0IlJ)UTlwR$H%om{2Qtyw(GA^lg*l@(ZGp00Jm&dVe zy}d`slw+-jV2^U}do%GV0!#k@RV0`jGaq`p_?}?aac&6TGOMnbRp}o1BxKjPM1K4F zJPP zs-d<;?!QgewhEB-ep?iA+rv#!1iNpswXij|)wO!LABvQ}@n>gnE$eoODGIc4Ex*v8 zNk{D%N6dAL*#t>f8!g}aVdziW!psOqdojrArXC300_k!f9&rgf#U(7sCH%4mWSgWs zU9rat$7`lM9bug>up;Xx&o#aa%GSBf5qjqAziLxL0Jsx0_h>r-mQJ06_#aTX_rP{t za9Fii9l2_&maSe$Yz;*=4nftHK{LluY^9TQFOijk){{HFgs3TkZVzKuvREn2p`}q< zy{P2vdToXi=ml zwpUj-SJ(30ESX&!{8_S{n1MDAlTYz7x$MqvtmPP@r>)f7YQ&?T0gle4Ikh7sCFa^) z2K~;$iNgm}P5ocZ1CuujgQ;k^Hjt=-+c5asv?~z{zKzX7V3njq0hi~^D(?ehPgUE` zWuD4l&Mq(E^40fThf4*mo}YZKx8#z|)qd+g6&&2(7F&P6ziMpu;4!O4!}HZhDnWW~ zsz@au+s=!drZ-fQ>ZLYZtc{4(T8q%e+gFh%J{A*k##t1}4rQnk@18yl3`hZjR3GEO zfd33P6Ex8-T*)_d(6gb6xCCnF>Tu1NYRfvILC5_a!24@hW{re4T;`2lCR&@z{L%DmZ5M#rtMt)YR*EW`=5px^(&~C& zEC-5ecR%pFT^n=7nuWVlQv$@RWi$NS`Xw*Oe`pvj#Z z+d&-9c*IfGw)`6>)LuQly9tYb`s4@qLMj+CU6!F5t;!FLVLJh#byh7fUVGJ!x8_w} z`QEj8$7~XCF0t|RP^g)@vAe#vKZEb3gk;bN1`M$wkbLuX3$Pfw-+aA4ayo5sT?Q0F zRGTXJ)f!2WTeUU?3hPeLz77Z)o{8(tI1j5GhAJS|b`Y3(-|#SqFV}w}ip$q0MJWL5 zB*afn5Jslkj1=<+i{S#l<$3? zho>HdlhjuoX$WHkV?anHqjA;*$}u=ew3SJ@_T#oZEAU^L5zKfb8yk@1=DLDFv0T zrZJ9OC~^``w1Y=Kudt620-gz!H4RQ(T$JQ7fMymL6QRhW;{O#L*%PxOEX2DBks^za zEnI`mlXz4_gRDa=>+SYbYq%1EH633SJc-!YW{9kKTinBcm9V0?2aQhi~?3?b9^G!pjLose>5d=a(O%^6FMI6$K&xT#MPij$hBUx2-dQ9 zo3fYxj#w~nDPQnM=WZfSnK(MA-T{JxJtHp42%D8ScEAJ}9+Z558b}pO*nMN9u2{?W z9)z?--G4a~f7)G&99n4UJp@{hSUrS8>!Ih_hDPgw*U#-0I@Udx=SFN4b(w81uMXu^ zJ^Ek4udcp%poZ}3si7s3IP|+4LFDcTdf?#e*}(<*m$is04oumXY z=ey7U09-2(Z1uurwiropB7xRBCsZ}dWCJ)GR7rnh>Ts=uvLn~I^G*oZYv0ihXs)q! zO_(A^=nN(?cG*-gZqN7jx%d%!=9=OuFk`+E+pt0o{mAYd9tQJ9V%?F%QhZ&h(K;09 z$`@Qqem@QvxMx9dR}yIN>+MqFH0^vvjX*BKxMy>`rig9@p))%Y-ep4j`0T___>=2cI18t1si}e-ttz;0`D+ zBvA2b6M~7)b`H@No7q_KV+Gd9Ou!F6#<#Y3jXTgm&1297_gm}G69ayGU>ypqtJhce z@>Jj*@E|SlhzQ;y&MQ8bVg(nHf>85>0JBQD*!3XqBQp%d27|GXKff6m`MbdNADNV*`1@Gw{p!oT_}|}ry=N%g_s-z|&I-xKRk&P$ z%%XHqx!sI!*^>zkoAb|q{QL3kKZgRj;;^xQ0t`2dhlNoqzW%nj>+pZBea_*?!V>xW z{6~?S-$t%;_~YMC|IfcJJ{%ui{Oj`Q_{a0B({IHND1GtbvhpV}#_{dPkEd5R|GFKX zeyn`&_;%qC7e~Y4>F{44KYX}Z^d3wx)LF~%hpV&m9~QlN@_(-Wb#iobwCJ7d(~oB# zK3*PO9iLXcD@awqu2IGu=!cEDvrtkd;S^BfJJj+k!00*5AcYE9h9lM2c-zXjE1yjj@wdH<8=V<=B>vZw zhX?*#9;u<~$mkxQBY6(Ym~#{xqRRu4nQu^JKx*p2jZd%czEReGp*LBkHIW@A#u0>2 zKwTW39fdpK$`MD>_aNS2VtRKByfNY-tZzOL^N67!CSfXrPmH<4Tv&g0q;y3@O8pVL z;p?~mfoFee-ZP#)M}c9wSZZAixIYdU%MK=xGL6uICsw?+GmrEMeVtGi6;?wN$`9pO z?ZvGOfnl2NnGfr2bZyBLSWW|py@3Hh7$>+ZJsjM)oEs;;6+u;Dz6XC@M%=OXAU^#L zV1{b#9AtKWANsRBqOeeoy6if-0Q7CgfR}y8EucI-Y}}Bi^e|BUu)4;B>|==VHC%_7 zAO&<`wvzc^IxZFI4vlY3V}e8i{adQvUzS=$X`zEuweNvkG_4tR@14WT;mOsv2WEZ) z!Iqc;Lly&01^@Ovh{g)?_L*{J@Y~U$I9{$ptQs!IZx2R?#=a5w<`mmqCco0Y!Hz~! zEEI?g1{I2w82K0%R6c&`xDd|)WAX)qUe06YC5KA$v+D08J3CRwTz)JcC&#~fgbR>; z%AxTD6jd0j9`IT~3ZZ~<5P%#4da=ue#(L=J%a0}JU-(&3W35tH*WuJ&$OyI#MCu`I z+eV~H#)5WrH-TxfT16@8Wrdb6e#fqN5Vpqt$j5N%hmSOM<>g@*d^B|p#^Oz-kL*r` zBH>_1wtcXw#{tZvxq&laqrkN8F%=r3uN6$!8f0g#K8eJuF>DwtOp+@u8mHxAm-3k) z7lrwlpdQ`1(2&k+N4V96>V$v70g*(z2YDOObkUacClG!Bk47a~s%@Fv&=>tbZv zFL)7lhWAcu=t+>m#i-8`8!Pt-PIgDCXE3={o+Cow?N{dze=JnlSLe5!@#NiC$vMgYp)(8H!7lFyG1+NqL3`#cz52Er`lr(1E%S=REn-@ zpB5LttugR|x9SRfR26bEjW566pZHO*SBSXmskqa6sya#Vfx3Wz*v6j*dK+rlnKo3U z`8LXO@nHvB%n=mZaKd>*VgD%cnqmzPfe^@a64((G7x*i7vXdqt%NOk2B@>X-si3t8 z%D$y71l^R2+4d&R)9NQPaNxRVv=!-fvFFhK^dN^acAus$9B9fw(`X&pbfc9o{`uCM zs(|MvmIxAfQl);%U-IOC2{?UV+GfzVM|r%q*GH_F4VhnJq(`o?lX zyur5uMK=OP1)ZA~hRs_IGhAvDq=b5CkO`qpF=1zNdC6`XL3xfi@jTw&GQ*r}HLJtt zDkSpC4{1MTabTI_v~i}uL&Lh0s0S-cNUd}x8%vX*M&pmgsf#TZnnv<<#> z7UK%Kadc3iUGc^ZMO77l3t;Dqe;i{zVfJVFqkih6>oCep#A4*)REfJ6a3l2&?a*j^ zUVgvc#3g4W4|hB-nc>lK-E_beWj<2IqX$)J@J8p+h+}QU&@F~lG$`<~47c(h+25hP zy(VViRk~;}PiFb8Rk)_O*rtv(F&<$hKpdh=laca8K=R~qsIhqNdaXLCOHm|LV2`-; zOm-(Rb_o_SkrV{UE^3)xEC^z^1XDZ0ti0^T7r#faCP-6#|HbbZi}c4I#=*hQQhdDz z*3Lo}{8IfLuKv5^>->U>GdC6#mZP#CX@L&plyQjo+EYCW7>Wa1>7bk51RBJ@2~3ZJ zoYt(yUi^6`4p{KuERSzOmr$U6=kSB9LyX#7sAj7|uj10@m4bX~7XuYR5yZ+)dxrnO z0_vrb`mEnmbwJhqN)F`s{0v5I(+;Hp7yW?@Y_~-@w`5E5k?}KM=_igud4ue_=B3m4++P{h-a+JYq?sFGNFP**Ec&v*bS|Ath~_p%>7D)V02 zG!E6YcnfG*VJoLL0BysX-3$7nd_|gkBM=8yzE{27udt*#EM7V@IZK~T=sEx z!AK2+q+KD@fmkag!`T~w78JcU052A-qajL`%?>G6B)-MnwpOvai{U~LI|M6(Hd^pc z(CbWDnpuXFVm=lX!5Ga2x0|`9g*N&Ln^J}mH^(d)q{CtnOB7_XnY>`*ID48gOWrkM zR#yhAwIAF=XGv4vK-q&*vW!%nTb2!s3B|BjGk}P%2uhofEko9D-&1|ZyacVPuKU>W z#HVD%UBz%*%hubQbvH$aSeK$I4Zwb9n)9rF<-Q^2w7QWL?9SjtIOjgVnlaI=f60?JQ=3hUS?=0dsS zRqpumJE&O`v}HyPZJeJCJ8aE6^=)T7&t2+hV^fB2@EbW{Cc?smQ3XQqWmGSUh~ITw zm)!};D@8yvU{e2JvbMqNf4y$r8M5ZAR;eHY;lL8zmZ3QLy@Ou1vzZWh@!TP(E0p8fDR+T4b_y&zB^Ul9 zMVqa{n2xCpHBZU!CEUr6FGnyh1=zx&kHfbZ#Pu<#C8+O{KP^E~mr`42ysOMCu#|VL z%!Za=GXA+`CX}2g*%Kc6ou{J7v9i3rkCF=69VNli-&%*zxDk?6689 zmQ}8d4;WjIXS2k5g+4^4=E0co5o6FUe(ZP>cM#B^7(@>&av9v)0Glq6`{JT(3IbGl z%uRkl4RF8gKwq0S2&_N)f%89N8K!&WI(OJgMz^pDW4N=0zRz&RsEz^48~#t1bI{3%H}&fO&JvUh+E zENVd}oI+qhoVPTlLtk5JF3*+`s;AiV4=g^&)QemQ*Fr!?j--Cs69?kX#CPR8 z*^%fAWO-?>K=md#=14p`b~w>U7{%vn*MpXk_gE38DUB7D>O>7a1Js;3Pt3kx-d#9p z-^?hu)3l^qQEV~Uk1u!VdjH(6GR@h&uba^>L;u;C$!P* zD5#o-G`AqbE^4ne@|U%D6a^T9AtqN%Or@>^&)P>x4Azn2o+NqMdFeAd3K%5dvEB$I zu|ZCKb`(`$2kP(x3ypPxKBPP8171bCOWeq+VY!ThtaQ7fCsIAD*Nvkpd0cuq-*aXL z*5u3&zWe7tz5jeKAAb@Pez!0Fx?@k@!FG7>$W(D@5c%Ve{QMo{iZ8EW!XfU^20%bZOw-9bkt_(jcO!Vm#L>DnX;!v^RrlPJo zip0xd1J!fG#K$=`fUf_97Jr~9+PS2*i6%?tt53Vsx6hJh=XahTu;cdK^#a=tj;$L6lR|7YheCgRs)8KOAPbw) z-67Vnx=((iNc3sqyX=#gx>1M8#Ux7ZTk%v(0|{1k&8C3W)JhGRA{xy}F7C}E)hg<@ z`cc2AEGAPzZr-EG!IXm5l~k_-4rRaRl24gJN1TpqGsX8H@)#{Pz&CfONbQmA25=OL zyJQrF?1u4hhYTn)F;{;!iYxYb;dqRDjHs?tt)yFEleEQZze1Py`@U=Y#DV zoJ%>vPq2f@nyB_Io>2MofsOMnH7K6S*J+uZS`=#`yE#AHT*P;Y!WVPHtdtwR^m18% zKs3%b)B07|6#{^@Ch8itZmLG9&?OWzL@_+w5(6%(k!jsOnxMH@{&Xg8tdZk7;e37Z z49jl0o4}cVnm8dF&Q^2}!bq~3CX9zta}8O$4}nnw*!79mI+W;By4FEfw^_^JSLd{w z_DKn&{WS7HD|6t6QQ;eb|KQ*qihS)^Fho84rr+77#;heZX4%2Lh5z)ODTu}JYZ*z` zRgPaie;>aO!y7*zO-GK^MziRy5@8n$J1A&-ZtHFa2vQS6z=e(iA>|t13W=6Ia<$dKVJ014;MnY#w%kn z_ItfD7NcmJOR@qNT8vs$3Xb@-8@27@mD*Oq#}P3u`WXeLUjHZX731}PeEIfuTQ>>W z3l_|{d5Xb`}A1qyB7gVyGjfKS>=~?Jt-7^nEtgSAQA%THccwLmcfb7V zFW)?WBEv8j2vhfTMph}#5zJ}ua1Kq^e`3L$s=tX#$2J4IEow?asRBQXsj4P7Zg0;1 zoD>DxRNWp@dru(_Y^9P8vYLbG%Cq*sGW8q^Y4<`gu_Iu>6oN*QQ6G2tVsN*Ga9hG7 z{rv*U;A&NN*syB2OIwUBrd|AVD;}%Z!hwvy51czJs-5Knc3nPz&(~c*4G^^w*IZr* zC(N|D6kFPMvSo3mS{>?JIqqAI*%1o2%yPq-Wi_8{Y#)nHG6sZABObyA6sI|csNF8e z8J;{7NDNnKTh%h3ZBBwySKGXNKCXq)#Z;G#Vf_#&wnzA+(#P5ysg*t`5XJcU1raZV ze0>(n#RTcoV7VAU+XUuTn)Fs9SpC{qeuk4sbvh^m1;(urS6Cj2h0^9s)xD9mY@n>V z?D>=*d{g7O{xNOAEmJobL2Si;Twd%$$eZh!?G&_Fc8V7Rx;{R)gaCaqx+N%j!JN*t zAs7r>R|U>=+Hr;TC3ud1?yA1JID4C2UY!q)1#9plPxc4Yt}&6)zf8x&E^>nT3*1a0 zMbu+FjGMN%pA({5(dn*sB=(q)4h_&Af-!irP=F(iFc6j+N}|`}8`#4Ik{uHhO71gHM3_s48VY&U4Nj5w6RLz_Y2G zaM=J4Y@2$m-(B%S{Mox46BHCh#Z6_U z1l@l7mY$aA>3sE|VBc}ghMUu6%3*h?SU%xOIrFP)hn3eP_m zYNZFTDsVx=p>uqUPoQWq1XXicFhm?F-+d@8(Y@)LXby>AOi9ums9Ar_3aHbU&km!1Q# zXd0tvJZ3?5JOTOv)R*_cT_IftRG^JP1#hL6P;CKd9wYi&=6i}7uo|^L*k@VfZ z&1NXqEXdzlHEB5B(WFnc)7?PfZ|ocKu2|ixlZ?8IJrKiAZf#^SslC%08z7*MW};GSj;l^v5hZ(Woh$YoORz|EN@xx0o8vwB z_YFJ4w7su3Ao`%3i16%{j9YeJovTph#E9{#mOZ1sj{v1LOVp9!_r?m$w~~N0_rNd^-D8N z_frjb_aZlU)?p?MP^NOq?OLXniKO?z$TgSm>2%J^kU9JKqH$l_g-j3{6etq@$jdXBXk9P{NdPlqp9vycO>pMcwKcW z5^L&$ajI4IcZbDz=<@o?f>jnKkrhgs7>;^@9G@2jc;HN4N`|MsqQjnCdGJ$#6wAh_ zeUxMDuhPe*1iV$wGp(rQIuL1CYjM=7Y~am+)jpD#Sxuc%9oUgor!U#tr>uKuFM5dtAS`FsG(==%aXQ>>dq| z&(Dpoziy?EyxuB@Z0ZOiYioG%`)aj+`b&?iy)j3+N!R8mNdr`C?Q^Nu&P?~%!K=l^ zzWcJ*eNdxtExub^@K;~^Z)swUzZFxnRiWX!OE5Qr8=l#e`2u|_rGv5dF(BCqBm_zDtsH!|n z@FzoDcTC!R(9}lP2w;ZCt)6WM!y)WJBhyuB7Y0~9@>|St8u<{ zKK0~$DntG@9OYS=SF{<~YAV6Vx91AuiFad0UEZc*>CVh$M(7Bpr|sS-s0z}v(Y9K& zl({#=iDZ)X0(RFAbgjFh05n|(n*wyv)Y7*XB$jo$wIDqg-$%UC9^4*OXh8_EpN*d* z#_qaZ9POh1*FY0G63j(-}eGSiM{xsk1i-c}{+$_ZAlVBIasV?#yr zx@}pj?uKry|Bigv5lx}|jXpP~U@zKS2-)$(Y)najkr~Iz6t|&Zl6@^_#%tb`1C4q4 zJuHv;?gM5tVXjebLTRnSGWE2g*Uj~^j$F_RVf=x3YAunLK1o~L=sLv99Twb!jGJ4z z^zW9x+>=wc0;j7udBwkDVU7OXLP%{j61T>`&W(T7$ln_Oo|PU_JpWRRXygY6u9=o2 zI`SWL|hNwEaH z%?M0ui~)SUJUA`cGb_cX#lyVjbe>v}i5k(QVJ(C$iOPp#vM44M$5j1|K*{*GfO?;P zUfoTXC3RboiLLU(g)43)z7RtWRD?t<=bF5NdR@a*s~+kJ*es`x2QeOG!V>^e$wVli z7$;XL@L(#chpJ`VY;uLR9CHIVY?GjyCS0#)r(FtL9bd5<;;u0PM<_Dcz7SJkCcvxEst#K*k2xj!l9y!>@GA9KwKIMqNy`4fR;j)A6) zdZwzHQjm1&V+CuwQ;B?#XS%skGfWTLl6}Csu&cvHcN0N|{6ZF- zB{A*yKRSiyocv}-u6rH$GZutS8{|^nIIwKY;&GE!F7aXGodS3Igv+Q6*@eSV;Fe3D zOC!7hjM0eXov4nyU4~!^yaiWg`%)AAx31~o62f;$Y9KzIvqe%uJ?GAy2fq^QO%&b-ioqXERP56AU7G>d_Q~PPaj^#?V<&a}{kyOK25lMOu(vGB z!`T1ERw&{w9J!3TGc*dL&py7%*1@3mT4pSEM9|ZRJ*nc&0|P1%Ly1@MfdNsZP#EHi z-(6VV)6~Tk{gFRUT@-OG;<`8Gqm0fSY9VEyZe48M$Jdvjed}C%RtjQ1pt_Qx^};(A zafhUjPswcYWFQhLc9UWAiLBVc{gf#Wue%MU`UqT73P5N}g=w%G6818j_^#ZoW{9_f z6!WoS&{G(hE>=;NU4YhmVf`B#=D@8L1C;6mB*)Fp7@r~_O)wYYuqvG%uOeW-MNUv+ z7+n3POH-}4D=yy_q^rBF2weXXZ&O(Dd4}Vac9ej9IRgo_1^?1AbhX>E<9Xt=Fht{a z9Rf0n@f8q?Bkx)Cd*N$$pZ)?Zh35vec81 z0z+9F5PlpnvF_|=VL-`!W{nQXRm7cS`X(}jdntM0EBR`5`zZNE*;S9|#rpf)u%Sht z5OD+So(vBGXTD`cfjpZ2IQ#YMFMfYb!ixBp#P)kw#&=)*{>ST%FX~g-AEng&-#|xG z@x zLy%T(5qUPU!^yy@xKW6#s9?^(`WZOT(58gFx6N@%_eMWEAv>1fJaDfsFXkx)`Tq9N z3ncrEPlVQ1y>Rw?H?+*2**O#>VC+ySk+HHynFoNNP+gqbN>>?!KI&)@Eu(nTlWQ}J z-DDeHPLKe?PR)D4xM$?Ld(i7Oi_bUQ&X=Ldvo-K-5WzOv2$&)Fhrki=m@YMg)S{dE zMBcY-41M&#FXKS<3}4mumW1iR<(s`z^cP+k!&l>8@2m7hmZ|eI=ZV=hKs_e_WxIG| z44?ni*!A+%5yuZC(Kj6vsqXSs(m1Z0=tJ!)AsujuGrkgYOYYoNkXI4gb`cbSiN&xBI3s(dJzRQl8#II) zpJzlXfP!oz_)krf${hO>>aB9K7F#-tZ7TZ?UsG$U~9DPk5LG@idMwb+s32GRbx)^FMq^+SMW3C3cz@> zuLoZZ-o3*#A_t6+bIOmO`VY*;a35nFfdmVU=9r0LY%9c{G~1T(M%21PKd;?dch_xM zVHbPu^OoD5*&ck>G9Oe0KK8xP@hBK=SH@9Krvl$ceC}E4U+eC}vIgGC$a$-c%o}#f zzRSNmnnSw0X-zODIuklz!q}6*_xy+og{jpyIS6JR1w_~CIaVU`BJ5BA7{ZMG-ZFEx zv>O@+YAvX_;PCpaNP#o#p+0>Y{vit!C#DKgJaJTGaGr8;#(dlhzxq=5Tnv?WEbZb{ zaUSFw14~zvjmqPd(GE?`pu@N#&H@DPEI`hE?%C`q>%W6nKl*Yy~A&Tmkv+!jLtO9%jt#QXR-ajXf11elp_gt8SDv$LauBrDFOAL3cZ zn00Vp@|G$kmO*~wOqrm?bk;P!1zXv`0O`B8RZnr*vZcV#Y{{|nzqjT7X!2p|%;+zB zK`H$7v7QJOX~ZbNK%Q}jcMH;O?hw~IHtC}+2_f}9^g-B;ohD8{FkD6OdR<67{0az^ z@US#=W#PKO-Lk`B5xrfiizc;Oc+^Vo#8QUWXgA``A^2R7Wx^e;@iY<5o1Jr3>eA_o zBc)W4hHNS2&+BxN!-*e+byu2NA&2jE*NM+F2A;SCPKAj_&D@j0f&JYMAYvyIeGC7CL4E=^S<3*9+!JP!aQeE3 zJ1JqQY!KZEL$%9i9Z#5b&td1`Nn*jijP9e1sdPoK-A^)C6WWzqWJ>7jj5Vrnh7pSn zM&F7zuqfC9c)Fs(G0n8rh2!&0y&Do^P@KtL%N~Wwoau>!#N((UUTJX?_bRXx6<6JE zgslW%U_r_v1j|yium zFH5l&rp8zJAXft96LpME?*oda2W|_|^n0`i+1QNSFf(}ysh0(~#qK?>0$t$T3@BH& z-LP6U`75hoh%g5elx5KHTs}UI3)GD4&AQ%;ygMY9!foO z-*QYd>|JR?(qO?Y zGq5>jgC{CL?XHt5TJH{R3beOYwK=ERASDVP!!E1^c3ubk|Ji#J?#7KILHMs=TM8B9kJzK!66oQn7pe-@iCAag$1bxJc&gwo8J5 zJR%|^BIAr(YrAu0qb zfBAJl-Dj+c&)ys-WR=17{l&Hc0viGSx4*p@BCO@;s|D~b{4cQ-;9p7$+8DSIe-OX@ z@(xGJxM6=di(lI#bjDq4VQ&@s)Kc~xH!G}w-Csf>r9pxj{v4-Axk9CyWHIX~g#u3q zyw38PYkKF^G+bVyfM1-Ov#dr|{Kg#Xzd7DafWFAi*0pNy*-MR_bU77HOr*LA7+bTC z426+;h$M!to0!O?wVG%xJ4wTom!-C9VM2+yJ$6{*OcTXsYmkFiG1j64hjE=R05qua z4wl72*izXqQ1;_ZQ%~Obc!W5o9XxOsfb291MGs3@16)K=8Nn*(ICt`KVgBaiYRuwy z7E#-?^7V+;kum#53&*8FR+Xj22BNU~6bn_!t80-`fgkC~luGoOoit0W*ctZgzR2@~ z;Jf417bnEa7cXABi2;Z;-k4gai%L3ij^rliDsh*z+oI{ksIE(ghyhX?riDx zCmsy8Ji$KH$Zgq$uH9ug(`}A}?@H4*R~<{=G12q}R2kAC%0!DXK*MJVWh&blhHd!V z1MbD|tPsg!($Ynn79Xq27;m!B@4vV0&TG|DW7r(Md}Duc=F2$&i>i3Kpe@ERR8w5q z$U29$#p_`bCGw(=va_frXVO|wT9<8G09T3;>k+zd02Yp503H==0TZMEZVXJ+B zzJUPKc7RqZz;Q<*cxVUWWQRC^i|B1anzV$(ODDANT_GJK+KoLaG&P+7;^8O&pQRT` zjnA2)hZf!&&)~(=7wX-RZfO&qS4Y31=jG*#<+9P7!z-X^Q=xfTmus0$4D-diM;{F- z_%PlBT|o!~UhaHhRo!2);{x6THjRF}43U2G!{_##{Y@hePC3HAtK^35VbF*~mM>>9{79NOG#zz>3apt#~R4FF?^x`YLQZ3O%WF0@F z8x{IMY09Q9Kv!OMQor#kllpT*=|iXV8pM;^p<$HWlg}aYtSsDz&a*lovz%E6iEe8$ zYlubMgmPpSG?R+iZMi5@tRhM^MW=BnsuL>bAeQ;{Dxyd=1mUa_g^9`&p5*<_*-@sp z8`3a7W~w|oVY&U%kWD=NJ1-NDbOCF75R)h4mgIXB)p;H~gxY1XZAY;Nm8T}W5_>B3 z+;V*zuNt}`2AS;YqnB6Q$6H#zw=8wI23#NH8lQxhdU1yURs&wez|WhIMV-F`bW@oox*b+=-&m zzy?d^WCh@SvAFc-wo@qyHyy!PjM2Ek`zOfZ(Y5_a&}DmclT35=vYq|h%>w^1PARUH z6uBW8KTb6cF*|nYPS8q#ffA42$hrjxfJFBA)_QOiPHE?n^_0v#M>G?d`XZGQv#-BUS0AmYjtK5#ZBDe-j!bN2KS%}47?7$&D_D)KIhRH7;KZTA@uz56%XRn_u z5^_70x`rJ8)FPays;quyEvm+XTvKL2^4`eEcK*TVAq5Pjv&lyV8Z5Ht>PgTt!uA4P z27ea1Inn$P94Gh+SXU#bpm-LuOT%l{&vrPw@F%+2jkhBBjA0kZjc4$wHC=k#B?~2# zjU_K42Lo6GiWuIu*(Xgwm4DQgy;Nz=)aNWCx<>38IpAHPRXnz6R4cZ9iB&=7jwh&K zL-gp!-NKMbu)W>!SRU0eMZjoBFW-@9RIWasnginSk^f}qcYtDcT3pl#i^eCs7LCDn z^IO{kTNR_CDpVNY-VF3V;i(@k^fz*>8tkfdRt5Lr5R{j9!7qzRy1;KaS;W1~AM~4` z@&qL6mo$gIl{J%r9`k(d9FMYB>tT@Hsk+(9S6L@M(tAdWQ{kpbL_nMekGClmGtgMU zuu=k$TgvrBk}q^qksuA(ZHg02RfQBX4a>0`vHqsu#7O%pg|x4#6)(t9MH7fEKvX-) zo76u-9Hn8&&pBviYT=k)bNoKRsY07)Q@i79{==d){+BALY^wRZZT4x=06T zOr}Uz*b^2R5mmP2`ao2*#@e*ITOq!;W>K^Vzdt*hhZAo!cgBGq`qO9x>pTOBk*m|M>g=_01nX|M)o^{qgz#`sR-#J6wEu+Nevo`d-Bi+=MdtG25)9VwIG& z=J1#gC6R*4ev)L$a|@9g0zKcAQ|d!wEI?VBa6=<#Mpjyd(8?!vaFSeyIaIeaOqAm- zt?e}i#2)+;<1IFQ>f-Jr2B_q#7EI!%1{F$+77-(t!?;n+7`D(f)n-$r8BT_{@yEbk zEYkH7(mEGuSX{mqUJF%42fZ75EAYf3D4BDA^0&V|FM<(dPk_#=An z#qsyqzvOHDQdI%@Ea{Y!$H%&5J&ktl)oycTOI_F4fVZI{O9@w#_Z0mGOEd|8$Bd1+ zA;zJBkZXxv)^x2ZC8NVcOP{@*J0OW1J*eMgVe6k*Ve_@^pKVe@6WEk1xrQ4QpfYhf zu_));5U({0YU^6PNnUHXZXiNPmCY&{^f#F*(gc3u;FC(-=o&&7u<;~5WiZG?#O1Uy z?o&lN-&04VFlwqT9h~iCzdVriv9HxdQ)Z6gcGE0B>uq){Y)rLCwLVC+3K@M|68+c!~9b$75On{~N+8&0Pat*;l2!pFs89W_4L>p45mJxbKL=WEq z*7u%l7I*_Xzk`z$J9!$6s5hd%HVGBF6}QSH4uYhraDt}ju{Cn&Llqntl?+~o+fxeF zHce$|vSmZnW|by?BLN2A*nOm6`ceoi29v1#^?kO4RaNMGPo$MP&2y3ha9l&US=DYW znGb=UcbGQ!hd#ck$p+znFFGfkxO7J6Z16>q*0`Oy4#lk<^_$|TTqe{o*=7&X3su@6 zjk0R0iJiq+4o_X3%bpKlb@R%>ohU=q8>sr*Eu;oTO2l;If0R5 zdv)U1j-}9_L3vlqV*p%Y&&A?!kG(m1tslMHN2+G8VkytZRlGnSmL8ukDHdUgW3Kfe zW8nE$uI~|YEPG=0!IOKlrfPmU_vD}Ws4~cb{B<$CsjiCKFGRnDdtoFk1l_jQUF&Rl!dh$ zmuqzc6{r1yK%MEDRgNPWAf5$A+`DW|GL)6-k`V*Hi74?6^jO7SxU)1lh3#X>qWvPu z%!hJ^@NsspNxQl=#MKzR=YiZ3Ex+^l2UW`lO9CmXZm?3Y%jrc#Dyimjy_E^h0^u&O z#{!RY^U?ZL8y7}Tj^V%q_KOSdBRIV6K zBHwAlN$h)XA#jbt-bAz2KWV)Ot7}TuM0|D^uf9vR)&WJ@W(cc=So4N?N26imC3_#% z>1mD4?hGv&F?YCPZcU)Jp@0^HP<0T{VGQ&hBBU@*R}6Kqf$q&9dGPw*-V)dblTN#F zy;b$89Sv0ORL>5qLX`wW^8C-Ho-P4G$yMsyWyX$RV*qPG~-9Lx{D~ zk*p@xYG>kGGKAGmtW}e|qtRHalD!Y>^c+~M)dqYRF?V=ku9sM=eWQRD5YTNH&b}d} zFiuwtb;z++4Ip{&`rqCXSf8<0mGmhSYc*sSQhUKTc`6+UISzod_6fcH##-rM-uT|v z5y^qDxSa}X$seo!&(EH_wGB~f6J`IgR)*gXFKWX`kwb_W=`hyH2qhD1wGSr;n|QYt zYK4REQlwROz55twrO@47oK^oY-RCeXgl=b1R`pQ1yFpgC-(kd9H3sghh@%b~xUk*UQ&EjL%>^V}P zHzVCWF(QEA?rW7Jsox4uzMjupb~X}9siYsV#Y|nk_JUYqfw%$!5@GQwVua}e6}%km z1lN65ba60{yTt+(SDr6F;-vCBI|VBK7<9}As6cJcfRtb4JGz0E+xHGa6kxJR0qwsG=6pgz+5RRY4{2yZ*Gcf~}bOtCIOlh-kpC2Q29#%H>Ew3dMjD zR{IFq^$MzSrLpI{xQI9s(%O~^Y2A-j{C#LVwYB*tt#!Y=%sB%7LrYy|Gz2f6lCR$kfL#0+M(CmobKvhx~Th37fy>k4_nD(J-_adNqF(i z1`2QJYjwZwQ4)$ks6To1IOw5aX|$(rd@zCpg#y|(gT|_v-p}cOS@GL9%{u6Nyr0pM zR`D;aZI?BGG=v^qU3KT%6C~GYB7aknZ>i#KenwVd3eMZUu;v zJ7ew`ft}di0yzP=`NKxBlrMZU%1l&50?NEM8dDalbo`e2K>dLB89@cS({~G$uMosf zT&@Oz#QeJP5+VQiZf>JV=NiI&U6Fky!3$anu2Ki6*$>m~x`k}3G^a={jUvUkny+&o z=HW!>Z%I=~a-QO12KIzn|Blqc5`10(PIm0tlJ=E^OXLSjJPnmo|J?g>80)Vk87TkHp?5=N|K#>- zKnMUXm&x054$Kl$RX(bsH_dRc6fSomI*b6u2b*mfs^5FL_{n$A9Ej61dtTg(tnz~-8X2qJi>wk$QmWgvCo_%BVEEH$%WOxr@GXM|77Kvw3wxhg>AP{w6Gop+DJc z$c$ffbNsOyy=YLe%}Im{GQkX3=SN^Xt$T1KG+FLA357Gvjk7HRf(bkcd;1C(ws``yV^ zY}ym{ z4Ef3*U1PTeHtzHGlnZqQHJXZpy~_Y`6(5 zQ)SAgOG5Zj24bODHiJ?BF*O;bCE@yGYs|i|x^3Rye4(yTZe3Bnzc~~K%eILV-5ZhA zB2BSXt*~Fj8B^D}ESO6rf~BfVS?zJszN;)01CP2GkU|R2e369(KNM@3HlMF_p)a|> zSQtV1yBqRB0EZHx+3J4J3g{`S0`JnvyH3`0bGW|$^_EeWO{6lJK!#x-4-w;|R0KYw zs6$_DP<)=~`I0p&&rFVy)RW0NuU85(6dsoa2NRhWi*3#<8+Z^3kbwjjSpY|K_G5C_ zJ}~G6EQpwL5Xy6^o;_-B4y)fDYJxG4k9iB8g2P;nkv4**r zWrO`}QsIlaNJXa?(Qs@QNi5#h)laQ&>)}(O((-Oj4bpbgKR`4Vo zq(V4MqF8EkcD~j7U|}L=pyc0|`959C8nqX9X59y7f+;xr)*On0i<}Ri{tpk%-j%vQ zVd5qtxA~AMXVu=b|7BgbWUL{Od)^cZjthu~PsxCT zJ!4N^VGI}~Y6MY8D*I z8N2F={ePW(m5gJv*>f1P>3ec%u-(oBx?G)%9YS>`<7I`57jf6G1C}X9FEA9hPsdE_ zO&rNLO%;4j$FRL`gkq{79)6P+D+XyrS$0xXEXF}koVECzjQxvUgiXVei8gN*S91^q z5H?G*S9mi|HS^Sj@55x;QtpWlK(eQ-_HIQC_Gx6 zHW(0ob9Tv;lC@^qbvSJ<*+d&4Z6C+#9K~gy0&9RCxl@A++p=3lRsXBp(ZogFt(+r{ z%h@nx`$xe)Wk%&}S`AeFW1;C_F~uN+r)&nR^BwD~TaF9yjd~3sW&Pk|x z|356G9E5q7tzgaizmyOE|4_dD|4@FZzah|yyJ6e)!O9{+XR>y>uXyou1EO!4V)p_| zb^CPnp_N~zW#pa(vY5t>7JVctd3H@Jx-~2t4 zluv=p-3r3v-45@VpsGjHZ)sB@>X$G@4p-bEZV|c8P2}m{d`!pf_R~*@{g9DR;A4#5 zl;6|UH$OXSt{sjbD=VZk@6DzpM*`|d^5)G?f~)Bs$-7{$>f7$Gywq`an{i|4aU)@gCFqUdTMWZr_xaLoi@{$5ysg2yd%mCzt$(%u6I$5^t zPGHqh)?O>nc)UcXn;5CfGlAB&MAZ0Cp-8ecNeL(q$4NTRN}S> zM?`hdeygJ%h19cuMzJ5>hZU>KZSXkzDIlV`+BOp_$5Ke-$8BMVsB-}3DlXsxH4w{e z#uJ2Ng!s#Te~@Gk)xLTdW28%7Qm{QJ{Yy6A4=^fDMCS-33jOTP1A~&f#NvnavrvEzTHbi47U)9POOO zbk+0e0ddb@d$_0)RDLXBobRJfEd0c-jn0T{Lsf1o32=Q_ch&BSK&B{&G$Y{)y}YUr zyH6=>X7gm%l*gGQqN!jj+uL?c4JwfNsFV3}#RxKG*WoAb+W2iahFRQ>?b*7092YI- z#QA93IqAWkeesS_x@ekuPu`jom9|a1|25)7JnEY5N9feRgW7<9D{V*Xh)g{Da-qY* zd$1{mV#Lr|TCVW{Y|bG8Sf4#Mn*2%J*7ESqZ2dL-xBJ}%S|D6)G`%;=*mn{9E`&df zEdTG{`CT~0$jR4GPHy0lNJ_6Gh)ApF!l6+A950rDgOsFX;-iIvo|N-Ce`t_T*y7kj zT$xj@3yz-G=%(H~Vm9B*l~I(;n^!UhgGV{yzoP^mX?9B}UHi6Ph0*2vBPbu@2ss4T z?6RNIl`MBC!(3o)%$u7e1@3z~1{`6nsUml^2=lpI#F1{mlJP#pfVr>d3?IVcrU^ma zNX9MZ=ly|{=QOvr>wADG;>Rcla>tri&3?-`YYnI$JtS|9(`MxLeWqkU5U0_N>D8u8 zLELe1C18eWm4h_~Vve0bb6ZP%g_XO_i3s=8pgsNS>Nxyqz|)>DGMb?g3HD@w8R;Ee zbbvirrKjKQ=AlF4i}0l#Tvv6ae?#JSBkaM(dp~w46$-(Z5S`JFD}_vI_tZr~uun&C zOu&XKa+>g9#;i|0m^-w1&rJTe3`(daMePH60z?ZG+@2YCmd-1R&ZT|BB$hYS5;GE0 z1WXXdQh8-t^VRoaB;i~j7cQjqsXM#LIH7=BP_XuEzSjVh=@X*tiEun5wiF{7W8n5f zZ)D43mXWcE+9u$g5J6jMq14&ExI2`W`E@}FyY&5x1uSh zot)HSQL_IM5Z`hxQ=@4-xQMNK=DsvZkj2MmXA^pjKOUMJVJlN7QRIP4U=2qYPNeB8 zNEnMxuCX}MsMdra4{Ep~>JD)gyH^6)gpRgfE+7~bpIKuKi_4i&oVv8ca4MvJRZ|?D z@em;#LVG>StrfZk_EecozrQ5%I<(moSDU<~Y#>^-eiJpoasVtgvGTyD>E(k~oFIj{ z!2YfYCC&q#F`vQ6jT7mOa#k#FQ6NX(X=l`BwDI75$-~kp96Hw9$m=<1?#WPZuHW>@ zK~9exgjD+yboj1%$b6wHOx@Psrz>OAoj`)AwK_a)1G6>7^@zAFF`f=UlRGes0)V}k zXL4%H_5u3CkYa!SSOA-)9#~6!-NxjqYcf%4;WJhE&?5H6cu8SL;&y&E<(Lm~GXRx) zs}r*xY886Pp93L1D=q4EYU*p`H!#U6k(=E6nK5ulVs+r8#7;%c7<2i7>otjD4SxPG zestXzBr8fQ;L6d3>6iz@rCZ0oPt1|825FL3xol*TF)&CYpwBNr+MdsO zUUncxQ&exw;D^ix3dm9N1bMm9lB760#i$ZJTrQ(sIs=s#@DeeFp;%)|tP<05A{zlG z(r?h0Mu(41-zZJ;Zk>ie6`dq1{dh4Jhk<%L84VMmcp4gh^VS*FyrHKd6{#@4ueqPP zbxPuNUR@QMVn+M%+O!TO;l4H?p1N@Qo>mwzOlOIVh}Hg!Q7sqjgr(UblTmR~^?4Q} zndGd@RPaGgBcd#OQincxnh4TqOOaq!ojjWNt_B0H^GX!CMsyKO+DOKpu{^cZGj6eZ zfI!4!bkrb-kRWE2DsivmwGdTP(-H5uxH4L!`&NugkJ0tX(6y!tZl|YV=y{xp#q%8_ zy`Vk;L-^0*K^X^y&mAp)`kU8DL{yAWWS}QslVO~RdB#q2V28tEt4S_lfB>ulDKS0U zFefuTZDLZ``9d;hh?C!ejC#d{LJQao@hySBY26u$(lE7|#RJ`byaFjzqVC_RKePfA zs4PQ5V0E!Y0`lDIQC4nPGtQtPcRK!)6H1cI7V{=}K^z2|MANq{$M*bX3eXrlxzaSZY zjdc+EgPO|LFk@hI=b0uF-gQRevKnUzIj2PO?hR3tymihy@BrU85TC^6zP7Lk>&I7m zNda^)@ZxVkA3h6*wdU$uf1#U>?U(iLWG2A9P6U_(LR`%b+%Ealg2wR*?Z?|UN|pQd z2j#qW?)knzlNGfdSUDvhSc8sN6)I`M$N!IMtl90sIqVa?x=`9}7nc?aue#^;rQtcw zxzRC8dX_p2`6GJllIRcl^I$7wqmn` z&?Ur(_A5)(6UW0o>Mf|lr_44ENdGOAYI$l`J>=h;nOGl*qDvj`kX53Z5s%L(TVVq* zfix##4-&Tv+P){KtC30>{aJV)R;RZ^CJaW$<_1j+<{y7hPb!opALzFdNf|3MP9`Gs z(Jb}ROgX7)ZNUl94G6@Qczj&gn;f`*ilO{fWUp3dqI$MyOyk=pROXbMs?>6t&4<76 zJnwMnno)kWHBk)Iw(gC@!!X_&VA9G>iYH2c1N-9-aDGa?dgYL5>sxyCYSStl=ap)A z7JHQf-E-Fi5;qj7fPpdrP&RLs|5&V_fUo*namFKo<3L{)<*;2b_A70HFngi>43kxz z?JYdp2eHOZo@)ymUmCHH$Er~f&2olYp@g8eCu%rQ>QN=1U*BgR1r2K)fd-Z@fBg>W zQ2j{7gYImZy5!`DOp}QIpqAI_TvlRKL(_-?li`%fyg+nKTf)mq8j%`b`%^v?`Jg?X zl$7x%B=}d&S_!yugvNIxL8CYf(>2tEvBDapiS^N=KaU0YtrDbu=!SO~+<6+Ux7kNX@FKr6u zmQ_fW^wep$x_JgdY6Xc5L#O_qgmmFhl6)9j6@@}XnFILCf+;%u3TC>Nip0FLU`lnF z6k3|GuIBqr0cbG$DfsU-zveK&aK-9?-fbVR&xT=p(#3A?VP<1#U&rE67s;w2r#ie9?#f99H@u*Pv@)$_LJ656Z z{#ACX5v2?MgKqFW=lf5w*FzOdpHzHZCJlDAY(iC(O4qdl>L`$aQ`Vpc^K!0d02=SC z=-kkY1J+tW$BebvW-Z*sO8|nWb=vJH=?4uzI$vo+VLm<8(~pAIN$BybGjn(aJrH0QOaE~lSh+v>homxs#|p@&9p?yVo+TqGF$AeU9`)M z+L8XqeU&Wd!|&Ti)>IXyo?6(^x3}iNFi(vmWBXsqPHtAyCeBi6em6Pu)GxQt1-((< zDFVBk2+zs*qnSR^kephxzI?8@hNfmd_PUly#zt@FlSJ*Zjlbx18Xo&x!LYK5Sg@GM zD04QKrU3B)Y9i{g>RtwSo(NcGTEcFi z3@xlg&A5(Vp}F8UHiAg?D@V>s^Udv~)ufC$RErpHInG#~wNs%REbR{<%*E&)O(@O0 zxO6LsZCk#HyiK~L%AKaKm@|(Ix%!)eBlX_C*it4E*RB);RzM=`DuO6l*8(J{uysRt zhD&?P?jn%lPvdpC0{W&g2q2B$vrr+eCcfgEeU+tt@Q_KMMMuI5ah3X}H>}6~*n3jr zj{?g_75W2PkgK}G0Z^#V_mk1CpCA|?CSvFAIe9aAw+zSrGVb=1C-iH86A{@Tg?;H2 z6ORF}F6Uq}@p8EE{R?`4CMaAPfuUOtDJzR17W?LAsDbzVv+8OT;9P`8DaC~;KzRoZ z{Pw7vV&jgf-D`Kq-7j3h{m!Ylr83;5{(JVDbHqSG&8}lvL|D1G*cOYSF^_H*Umux!Y){Ktnp0HhN zy>^R&Hc4OJaeZ*yLC1A)u8o`Cd~#6s1WGn)>1gK}V%jLvv_;?kT4_R#!q9Ex+~wT+LXuABpX?A85tMwoeU+plzb?0<)hQyV7Aiz3qORVVgbh@g4}C`*VOeOx1#{wf@CLwBgsXh zg`ITc%o1{myh_anf!_FP!WH8Pt6p6rJJq~m|AJKBdJjTS%?4-qn44#;rF5YoNC16d zM9Utl%(=+n0;E9Y_~@{yZZwxMq!Y)6cB;&1^HR&A_IIr`QS$?K4v9 z%mFu_kLC?mb29bdQc>-sF~RN%ut+Ch+wt*+r3Vtii*9AuH?RWje8G_LXLyZNj&(ss zQq+8mC$bVb>jh=6NXMO92;OK$sLSW%cF2N4oM&BI9;tYk3!0Bw2B;(x^wc~yi*BN~ z&?9>#go2Ks1?zAG@BWn7-(KFA^4z*WC3rG6R$nUx#rrO-U!*dfGro&@tcPaB9vx5Q$>ww;LWXlf(%dikf~&Z#4dyrbS<5@1Acf{79tu1`gu zYVUPRXnpHN{kC6C1fz=^qIgUzdg;J@^`hV8u2gdz%-Dsr>p_;8H+R8yqg6Jr)bo(33+^IdimS1>`QakCe*cJx4`1)5X zMh6|*jqnUFi6nKV!vtgK)t=wir5^u4akMVd+Qxk-D3l@IRTQUR#~R+&2^lj03(CL_j?)mc+|j2jrp3k~ zI6cC2UI56imo9^m$WN2jx(?;?ns5D$d9T9zuh$o;S7+mzo?JrAr9H0xAvAZ?-|YV- z8BF(ggLL3I392(d4S@y6)u%?EOs?~zJV&0gq%-~IEs2`#tY|iRw5_PihF@&~nLyeM zV!=h=Y?G}6Pv-2+e!9R@;AWGU%N`Y#{A?#n2`N^XHQ3}r4F^?S_)acU0B7*?cbWh~ z*K%OH(eDww#Yf#TjDiMH=Y=KwO_U!4c}RpVe}B~M8$wfLkV$H5sGQI18o=p3o-M|% z_a83MRlGamzMzJ&a@!-P;y#u6Gx53}5@ z7iIj@s7cZ{z(g`nfurjIYxAYwa2xsr47h(CC3wWpq2%UHpVgNj_q_$qtl0 z#C>$ zjcJ4{6N$9xC4;C-_g8dnq^`OAuo-W9@)+52;Kjb&MOMM5lF~}%Q*o!;h}c!#9tDi% z{gpw7HA^Au4!@8j}aRx}GFD8c;iJb?@y2SW@qhlv5+L1P5|S(T;T`c{W>t?D8oXVT(P* zKK^>+IH&i0==ySjGtmtF zH2PW_f$}u%@|##)(LI5xNV)11S zQ{?XiW+F^mjBtAbpi)ERR%LN9L!&&}DhS9#9Ie?tL^`58GTk^3G4tt9@yVxhM1R5{ z7kU~03Tme!0hyMWEV$IkvMe2}P)kfpX}D(lUoQ#8hKNd|9XYWM@3P_BBCD!elZ|y&J+WqayVVDuRG9I1+fG}*oO&H=vsEPF4{+HJ z|7kNlX9n>KnV}80thJgpAEzY4?qwUuAv6fnn#qU%jM~@mf~BkJaKe zL5(u5B}@9) zWMcAawW24WMsghyD};SHfmhJSuPKMArqk#{hJw1bK=URsygBCRL^SYxK! z$I_%~)fg#qE>qG~;UyFz9G&vgxCAllWAM=3c0h&IBrjDv*~MLfrZ~p`s%LjEwL`!; z_M!2~Fbz`ufq4xnH7m5kF1&DDAQvm;5x2wa7DT9_)lfjIl(r)VaSH(}cMvr}A~p;B z&~3rfML658rJlTq*rB2jTa<#Pn8A$y2oTxK;%I!pe{SnUo2Ox-^gyc|NpDz9C*39z zyecQyyFI(MqvVe}44sUqJ6j(p%WbQ|(&#C|2JUN?>bwB{cuJxBiPOnuCRF8hqpjI0 zVH>%3*2(1sI+uUStyuA!>K36)Xj?yCF)eSENp1rZ&(eb-=+x$}YjJrSP-p$YRh7Zg zbzdusy+gQgdr_mbirEWm;Mk#k{d<0Q9Y@;p`fFE%DemfULUD^N8;=Xf^BW-lHJB}j_QF$_=^ryMK9`0ZyA%A(Wr@pHm z1NKL|^A+SQ0*M)J;8ge!#`Yw%pKWnZ>k-fjmHmo2I+T~=#k;@-dZ|7GsOHgSA|mWj z4~kioA?(Nu06q>z@^=`j6*%MPm5je$<%oRR_dXKnlTdF@xXijbUf}Wr-q6kLb&RxZ zH;_ljU_>4_ZE{TqS~~vGH$3ykHP2jefkzP;bBcBke}qCCo=)xu9Q8Sp)6+%H7qM!E zEjhO4Cvk953ChFqRtwAJW+I_}>WMPi z%LMlgt#42F8aYc?{G#9U>#MTsDvvet6p{fdpAzLoEI=*FT1Jwpv$9!ilFPMRe(P;7 zDTun!)By7mnL3v*Ntd-9JDC*1eJ8DWs@XQXJ_N1147!#GE#Kmq7Pi5oVDs1?Ox1 z;VfaL~&*cHRI! z&;I$cH8(9pf+Tj_AHbmZ8+%}@D@e`$UU2Gbwg6x3byLB~4)t~u&9J3ZRiLOwJbEV? z4w?VutZRA0(nc7V2Q0yDb5v*uwHo*NeLMvj#ZtycqKcwla`=64nUxAET6sPZ9qVijgrgho!uFJQV@KXz$u$uu*%cs~ zxJvwL0GfFv78q|*ESiv2ZomJhkRzqVBxI`ibWUfibACrL|L?l|jo3TetIirs@p9Nh zQyg7@cy-PW`nAV9M8jvO+tSP`*^Xz!n@eE%hT%IeDgr4AC83~oO)*lV2^GQ!SP#Wt{8K;NocY97^s=e2aoNm!w6d+{nIfO6+Q zOgJjV>t0O)bfJxX_wBo@#jCGQ#O0(89n;^zXFAzl$WCB&iTb5fpNk=cE6Q}uxAhCz z`H$XjwqUcWv6~vl@coqDw}}yR@g4~~4;t;)-E-ePhxj87%~A?Ijial$`CX%x9{&!j zXGz1`#be-L)T12|(Z0j#RK3A!S}y1fnM{3B2}6Y*;Hg*NyQJbU9=nv#L)V#Vnx%x< z>GvjE@|wBQo#(Y#P|KHWq=($qM^?VtfMcr?%EP0}Z?+)cw%`}i=jdO5scT}LS)JBY zCgfF6dXy254$m|SbI7C;GvuT90qCHb!i5hKA zGUFSHEylRVEeuKYR%Ac4D)KH)z7^V-idW-Rq&7CXWL>oaQpA!seN^Qjo6&H7CFQGG z2*?ttXAmlHjqJ5z`yxpC?E(cKUI&gz1t>4IS+zT2$398X4xtrxD`j#^GOE^mX4}iK zA>emHZV2kavNz}`yX6Ef2;3N4rgZM6GI#6PjVDCRjS(oIvaZd=0qTt5nsHHspv0#S zD`inxoyzey$UL@lUOrB`3|51>Wrav$rKzt3R05O|l_{;1R@J=VEaa&;5Yta~$ zi9XO$z9ZI_=;KH-eW801=p2A~Vt2@mV&DV2nuk7v`L0(Cb@sj2cgIkqA+>n-kK=^H zB=!ZMAJj4feoXZ!<@Cc^Rx!KcE;D|QOY_8|dMzb}LE`4u6+dgsJAw7-Q0IIs3%6A# zZA^C`d3?-IrT!c`s0O-4I%z@ct^rK8PGK$IvyOPj+NA0FmgKPoG$;vcKFiT5qCJdp`mz-$?nIMophYd zHf&2o-awJ+z1kZ(O$}FAmHWIAmS8y(a7vl3r?pN06PXp@%fz1pX73MVL~Uz5muo}+ z*8NOS7+DAQ&VY?Wb)clzq``q*5?8i#%_md+~?3sl}I5*6OiNw z9=k_o_5S3y!M}(Bc6j`=80D0^GHB5~gwrjH$2tnf<#J9HP52cxDM;H}ux$(##XO@NmZ7E-oXM*G4oOTM?A$7uSi2^PSd z4i)R9OD<4{xhX`$Uytwb>MfJ$Xe))0Qd!q^p9+Oil|*p~XDYTSMW0h@R;+46wJO#3 zx^cGwS*(NMO_8T;uq^fZXlR*NgCJ3$6f^1u=X6tfk}tzo8sN9|H3 zMEg0(^$`puMO5g5NSjh|p-rj<~un{~24 zMDb&GqyzkWpE5?@aBzVi6$j}qy;*XKbw;=Jjnos?rBa1u*8y4Hciakwf@E1uG{EPr z(sR*hcg0=%pW>E$t_HDY1zV}gfBLsAiI@UlpC)vDl8{kHWvzxOB&N&eD=9JZ>{?8U zRZqL3;)L9*W;w^Pdh;sE_Rii^RFRsBn;3MqhnSd}@6f+ii#e*iFf6u`&i z5|6n7w3#X;q&7sRg9;HlmQfY0ny{+V^T(YMa%ytdnb~&cW+uh^WcIp8nRAd1O!j3zl{ULi3M7(_U6zS%qfeL089m+I_7KYn4_0BDt1{58~8lmSLyhJHHU zIREgT_{%mmGK64Hh=jx9c6wPAuRg%$AR{b zA(6U5a^DVFW>0%nXVeGYXuvc!m{w?IdSVJkg=|!jIA3(UowJ%7TH-K*k0c zYG@~NCxvY5jTY(JWlluq;3lwP_*@5FG+!q;lv}$?a4m2AF6@TUOotr`!jsW9#?+_? z1{K)c{Yf60KeD32o06b(s*IaRon8*ZT!eVL!UXRX01s)naKUFMWb5cc=N}L>qDqcaZiO ztDP5wLXDAZHIl(@`_sk>#CbV4ZnnW&jN=|tY*MFCh4#o)C?rZ5tjpkwNR~MUK6!Gz zsz5vO_({<^0eK~%x~jCAL|8;~&-DM$scb(_xW+R#v2PGN?RSTe@a-H@-_!2Cqv)V` zR1;%nR`hQR{D}h}`r?ZZ&p9CkWv3En&E%PW8AIdvsoxS!3<7H{s zc{5~W_rX=7T$(9J?u8%Hk=(%@vId)yypHTS{FbFwVhIS1inx^EHk&AiXaq@G87STW zZiuO$jppx7m6RPjD34}BKpxLG9g{Fy zkkI$P`NOw>7}AAGB=F;*8VfpK6P0e@W_AW2NMP~8oMk7K226m&K$w-n16I#^0hhL%ni3^{M3ou|{)1Ymv-3 zrPW2-K^XJLu_OS!Ya>C>}`@3W|^qJjVQi(RQ>4&QbeynI=c$F?6H@By57v^E(JPseSF+3?f-P|GI_pFK&KvSwfaa%^py-CYEf;fMvPRN0PJsY5zzAFz!RamAmpbo0W6e}F9 zKaUw=+))L+crrOimEwtFm8k}+g zql?XrDyAbmUHe0-oIeJq>-PE9>xKmJ@Zr1yBfBvqMWHVBgDI?KU(`bU^J;;ImL^8j zueiLFoQyzg!AqdD9h3GzVu`bc-o}3BNVa9uk&N;NfdZJv{YY!{%`jX=Xcxv=>xE$Y zZ4yjyOLR413Bcx^!&&=)(RPlKls|lSllL`RQkg3Tcw{1Ga9iT={6M6LD1!xYYx}MC z@7y0MT(w#h1BXJ3qD#xC(g!8sN66B8@F0cU_ou>g(PDNT%r}FWw{3u78xa?T_Ef`Y z%p$!N!TEq&ICB)y89?+yh7MG&|G*{t==q0s@JUOQ=^??iI~~cw5Kwq#bA{c3f{=V< zQvQi4fIA+hn$qYTYcugFsf7VcgiCwS+|OA*TnbMa`0EQ6=p~zd-$c{SpkICkXM`j` zN@}zvgoaMhXmKlUIa$1M*Q`HMRb*D25-Udvvq5vJwz=8#wu|&jG}PW5AL_X|ck;HP zIkIKuj|a)D)ms+WDrq|idTi^uT^cYW-&YrNrR%3SHrgf$_6RL6^WeuxJXWp}C$c!FY2ZC!)5=91<%imZr|E4opN8om%!jec zezq~#yQOI#dfu8MErN>gw5b&9 zdixvn%i}Jeaki9O2dkbcfpkEqM%Js&iT`bhnbIE zSsS{eF5@^7@m|Q-`=<6Pv$f)UWeI18MoN|5g&>mDp1Ob)Y96*Giq8JN89!UFG*{vw zxq->D5E$ej^>xE3^--E%{WTgvhGOjzy(qGVNoRBrEf-Ax3 zQbND!HKZP>r){@C=BK1)bF0X6?&UR<;{sdi%kXJgKtR*WCer*>nDh-Fb2nJO4D18s8!|hP0pyskTVow zP(U)%9-`N(Nm64Zvlt?fcNA}B9m)X$ku3yeKp`^^^Tb)6;+wek{@gpJb(P~f#%WLx z^K%C6Y~Bzg5AqIoBHXfr{K>c2 zh5RD~7EjW`*uQ9=@51wp!8p^XQjWTg4qd2lM2l-5)EZmFkyNpbB9_Jih;108P^C~I z9S(ZH@+o}-Zc%npQl(b10wEofk;w3f`56*6oqqu80p9SuUA22q#AfJz<$R63fvv#c zMPLam1EI4uJmWF#NM5Y(TVV^IxregoRq}GI25t>w?%vn+vS;V#rC4hfjtztvMC<3Q zKCc{u4B^W25On6;6-Bv6m#0XzF&K*$W~kf9Vq$8Y#$E@h>U9)_d&?tet6No>FtW5g zFHNJPEAjgvtnqbN*8RCm$^VH>wVE71uO4*pd#z=gQgO#(O#v;ueTsxOZ7HtZ_CXa7 zT!}4kxOa1><%xedzb~SBPs9+Y|Kn(_q+gxRCEh5$AN&K5-{;*W#%%A5i0R6fiDq5w zPKk#?T)2n$&Vir7u{b4$Q1^vA%YQqZ zL9i4qBOtxH3fB0r#0hfhT9v&u6@Y(oLS&YmvW)@KU_c|TsqpcXa^;S}g}oi_kL#Ko z9&(ClO`Nvr%JXcc%{#zV?}BbFH-h|>f+<-+G_5#Ho*?EZC&_k7m`r7sysTrKDe7iY zlhonU?m7MP`ms6NeNs4EDt>F053GBKI`@I3MAZEla@*LEvsFTpP9(SbxB^KVdYJ=n^N zbkwcb>_DsrWO$CU1L~(F7m4r3eiYwqZ9`j@r*pE9XtBaU;I9N6wJCuWa`{eG%Sc*X zjd(P*qhL;@DPvC;v9R^ehCz~n()c+Y(09;&XkG^DPP<61#S^N_{UpX+Fs9`kO_`dyGgU`xo(*;p1@6c{|^9FK&rn?@mL3PA}-QH%z{$x z#xp?FINH`#c$ZQcx9!?f4&J+9^+C*Gt0_ZGnThzd<9!knvJ?O9Z_nfMznfou3rvMx z*RKz~k{2Ubk#^OI5|fLjc?AnZ;>%Cp>8T#v6UH@O_QVQ(yuSg?{=Er1unb)?G$TM&AFxw08+<@}J zo6m_}y7>`Z=Vdg;bm5sFM&DER=P6~F9#gH)P~iEqZr*?X?hO9(`)AfM=4mFS=HYtz z5w2_gV`#mfVT$>`jh;XI;S7c?o#?yVOjE4vi}T^=-)%Yg?>7zp`)vkaPVykagxPWs zomho=ZXFkxz3V*8I6AH3)a5{f6|4i=mh+XvQO@^!tKkV{x_Uez9O?%_8sDk)^WEKh znb`UM-R&Lb=-zJ_Cfqd6t`z zO1daS_9t{oFnOsGEOS{`DW)g*$kXOgIW!KRRsH8uEE{1|zv4i2U|aB0Ak&jeS6Y86V8L|e6c{YY+W`iKewiia3{HRhp+jSY2d&u%Uxw6yOc%<-(UI|W;A?A zN#eo+B)5)s1B@EPg#{`>bBW+e!L4S{A|^wwaH-E!Ez)$S-LT9hv@<}xrL5Yzgs2Br z*^!MxqK~meD-$FFm#hPPecMCezL~5q;I=hXi?Z$w+E^y3-kcYl6@ao1Mj{_&u;N^S z3e_VDHh*UhCJk*?L#o1tV_m zfETA0!507HuXC4t;7M30Ssa|OjZns>EJnGTT(%ihXIJW652^~+wk9^%{Y7=ne&aYI zTdTVoJ#XtWm|wB)Vmcv+NzB--6g8HV`6x7=8S`+wZ_XNW{z3T=W1LT~mJLr`wKrI1 zKQ+4^Y+G#kXJNykJ@+Qpz8`7x-2v2Iej*k>x3Atp^YifCJ9E&sk@|T=Z6_-!IhhT{ zDyXvWNd1cYuXGLz`=9b44R86|cDKyG*WL1rzHWNU-?Y2s*FRrxnVUlLiuX>+el^T< zAM?8>hbwkGuUezMOlpr7Ht3@=olQ4(n!RQ!82Mh{e`%b_83=8(NWjCfE%Pj?l?t|C z2l+m6NR-|$AJFt8SHf}KXczkTtyr-Y5BP2wC4*XL@$;)7fQxMMmoaT5ng#x&_4N%f zsW0&5yXgnpdk|M&#)2sE>l1m0!H^bQdOjHW79@}ij3aA-FFll`X;9a3r0275zy0Hj z-~HPkpPxxR2m554Vq+HdyTH|*BB)MdP|1gmcWR$La+KbwjA=WS5xUvMAjK$!N4l~{ zb7vg*p+AjiMSpR^rS0BE%ZcNkO@)};!*maQm#0VAJirMf24@bbn~N3B0fz|~(Uk8RMt<<2Og1#2)8ub-WjwC4i)-1n=^^0S-r;h#rTb~79xH`nvh$s@;<6PomCXkG)>BFWrKfptp!3Cv5j2mW(uWoY=VMtu zY9I&{3FpQ^5rypyx3AS&KRxcf23Sc8VVTynj|xMrNXL;Hz;PIX%nY8T;?%f1k}8kK zXW6GFc|9%Y+eF*#|94!Lxn%7=|p8C{lXC(_L zKAF5Eab^AZBRX=8+aL$(TX^u?7BIF>?4W9W0DBupVXU+`Ox&tR;|~xfnSAG!yXx>;}}j&Zh37){oXT_RFx2RU)X&ihNdS1_>9q@Pn>r2NTfe7j*F< z>qxw8>-eqjoho13`C{=be;Bs+`7T*;Rs=9bI z?)&`kz3pf>CdK!y1$c|#yK`gRKL zTc4W8Qbs2>%l4LYS%eSIxw^-(+wb0y!H03I54kq71CHKa-C5s^o?BTdz%c*cR6hgj zB#;&y=9gZB%@=$kc@U3YxqwtnK-0UDK#sq9PXE^kB|N=MR7+lg2+>?AzHZ&4$VspE z4_&VIC+y!|Ww{UdL2A8!=oY#cE4$Ki@%_wdJB98C?edMZSa>~N>mRzNTY34ZvR?T~ zX3d?#m#>dimdszIR@@=|;)O+5u48F_waAO-`2RX(3fc=Lpk`M4hb|9U1!nsy&u6c% zJHxv^kNqjfUazk^BhLz~HOE!2uRDXKK1WS6Q-oq?aID5i^E?!n+8Hz}@y{IVM5K2H zQ!<6=I!W-|%rZNJr?NZgGEZuiJ*H1o&V$xvpys8eT{)65Msj@4+zd$w-H zqp!v_LkB_(8Xj9bZQNXC{Y>qJxNq8AS78xrDWc8T{wFpbH!7BQ%jCzaFBnpd(M2au z9Kxsm-c3kD6VRpSxsJ&UjksH~JbxM$G7}?-G+Ho&lv_#usxww%VJRCc`D-Jg3~MRo z0&TG|fz)@Z(>P(q<6GujpJUTFp>oqyl-e;C*z#7j>I)|h^6X2AyF5SW#&Vt6$LC4F z3(=_yLI#b5KOSK)3zA`C#g==KMqy`$)VTZSvn#*L2%NM0}Cr*GYgN6y42D`L^;}D zYgesiv@F<`Nw&U0GHRpi$p%nf=Xqc~fTrNG9U!ig1fUL~@G8%}>p`J0a%d6?<#M>; zWVrS+-nL0~qbbD~d%h^TvKM)Eo{#%-k&cs-bsv7P<$}2f&S)0R-J_S;hB#O~;)gT) zWj<1xJFwyj!K)&Lgs))zU-Hp5XZZzD5GDzeACLa}=Jk;*R`KJJ+)#MNiww^)?R~6k zScrn#8KIsRdXyoXau`t5bO^Wu1pghGBG%bW#SGdOCglOEVrlS37NSdL&yL5{=P9@d zgi1ILoO|G*<4k$0T%2SQwe;;1w$1hz|k{Q2@4lrX(QqM z{Y{L6TL<4fyW%fK{f2f-Xz6zkPVaS5hX8fDU}K&Mh-SbjS=NrWn}m$Q^|X-M&38Gzfg2%(_GmdsQp zvVFiI?K$uqazuN%K2{dMt%_A6x^yd;9cwb|vJG^7?I;Ce`>yEq zThB_Y9r8MF3rTvOm!Yh)q+}?&0VkvV_dS=A2yodC;z4|o0#OkQ+8##mhox%=NytJt zO21p710?9;@SQR(Yd73X!z)P5eDqQ}NtL#U%0-0T>@f-8sdkV}G|SWhX#%$jfJ#0h z4r*`c5VL6ww15h2V!DD2c}uTQmfI=Tw2s>7ZCx_^AQmnf5}DLs44{u1bT)so{c3~$ z{|&gS>CFrnik3*|D9h)p|MHh?&E&i0$`TIgQ9q37YVpI__$7`AzY-+z_hEa;OM!^j zM8_3XU@1Sz3#S^V?%&xdhpktg`6BQ?^Pme6P^nB1f+yBJR&S1^vKmGd#z#G(*v@S& zsn4HvGet~LObTM+gg&5oEb4-$ivG42%Tc=1I})Y!NVG)w9tcr>oXNkmPZh6Z2d=}51u6x@J_iF; z7kiV+It0rh{o+9=E>wZ5sGU?*TQ=zc@7MB>InSir;& zDR|3v8)!q+7@XG#ml(Dc#B!cAbSEll zW~PQ|i(hB=zFkKX$zOAw!zmBJ$3~*#r5%Y>AP+hRvc$0~aN4FRd{RmzJqdt?8gpl$a0~R@C<)+rL)iTqDbZBgR=joYvSoYL`QXr1|T?-$(c??;K4Oe2G65(mCgoP z10s8UJh5*7^L2K#_!3IiLH>DzC8lI&yxTXoI5tHM0qHO@rCNi49^L-xUbqfy_51Qc zw#hM5m^^!P3v0-xn#}|n;C?*%?sw12^3HH2?*e=5ijp<+AKG6w&jX4EMq-sO|Jypt zcg5wa&Q?#eRbKoyDRb5_a0~J4(gE#(&d}5%0?3}TXHW0FVme)p+|ucEYRA9-wrt0B za_iRIB05e#$#MM-u1VXccJ#B~n6x{{lgPp92Dj(Bah(=SX_e22crUm~w=VqNvu8hK zu*orGqGEu@EuSuc(n!E>8QhW`|R^ zay#iPcT3$@M%GP)k`ykW`7TBzdGqex6TIQWQG!{L%Ldthfb@Yv$T;NEsmTr}yD$@+ z#TPMNs)bf`N!CyOY7RB%67apzdARb%X*B)!|L7v>?Yq0He}Nk+aE;LSJ&ryLJ|Q!? z#~_3V5u=ih;9eGBVhpd~<~0bMe-`Hc%~H?^b2%BMBm(E!4zR#1s5TkE#rOL}r5{t@H7gYa!Ml!t7NgC5b;NAk*x`^z&Eic#chC%{GdJ@_&^0R~ym zk-gk=j2Z1`8|n$El~xV{Nj{rZ(?qR9O>x$ga*~CkpM(cc8IKsv8_DgrifqB)ykDHZ zS~~6|AD~d5+0$^jV1<0Jfs8J4gnpXCngS}nkdDjto}TguYUGJyyq3FWmFgfQ|icBgu_($?mbX2Mz_-DU`rJ~RS%Aewg!z9 z{zULyDWT4t=QA}1JW8j`kwFLP1VuPWgK%9dyO+9yCl>dLR^|<0EwT7!-F_)2m>o|H z0RC(Tjt%gqckB>D6@hDufGe`hZ4AH_(yE3#vKI^a+sIt*;Y#vU$Tc4r|Ehrk|%zq(@@Ze)jxFGnxg zT8zeGH4BUngaZrFSsELfFU08E(eKtS@bU36w?0@!NMD|P^ZfbmV7X_o+%c!$7Z)be z@@WeF)uqkG&A`s55i{VER$rclIrSSg8ZXv5o?v_jI)#Xi$f*)n7_h#3wthF#q>H=Z zAk)zkyFoznB55a)7|%Q(*vpE3Jd>rG&iu*36VaK2HI!tvwRe~AGu|HF3NN4%N&M$) zYRI={fq-}T^Jp>qf&hAib3zL}DjCC?1P)>!ZzF2d&Fgr(c!2TO&h62kN3g@cgDeY2 zaHo$R;OYa<{NMrBz~86meb2AJ^iR$GW(9|Vmrp-xAZotCsd4*&6wmeTNvH~W`N0_? z=m>{}V{j2aeJeH`(6b^tA*OSj)WTT9?YJVJW>Ji1qYeJ2?6Y$h*r!M4GU?;E1oXV!SL(ScKNEC78LQq^KP@)wMH?m$E1f^RA3K%h&e4Mu53Vvy1Beh6dMrT z&ycBOfx|fIR#j+>{7=FwsSQ|xrNfU`sfTN~ln`D| zk#O&v+{>@uy}r79rTyXLeyqN`e0A~kXC-u}+ZXaEL4b0RA4wPa(TnFtO~ePRQDL_U zCrT4$F*f)ZOJBtH8po?6b?&GC7EZqT_FE}s{?(2CG|p`x{MU!*PdQ(9$S*L9*rt$4 z4kwKVZLGUj)I>-D2_x$xriUaU+;HhtmX|OIb;=pZGFaog$cdF)DDY=>Nx+}gW_AG3 z((2z{JUzR;r?R?EY_P|BRMzQI5?-%Tg7T|F<2%uw7OZ14Mpf3>hcO^m5EdIO1!`k4Jd7i=4;Qg*ep_5Di78~uPLGJs^2lNh`$WOSV zS59HejySWqR+9sxJ$gvo92iZ?2DcT6y?yNegCX*c(2P!HM`%dpvJ)P~rs0Ym@9&ZX z;qRdJx469syZIU66}(m{H!&e2hBabziD`%RJq znEU1=y#So%G^un#gp(c8!!jdy&hJIRV46SHBkK-p(O$yEW~?%3iY21tO?vNAg*8upNt<&Aaxi`6m3$XCU;yf77oX@%k`ds#!T0}m(^(b_TMv%dh6DsaW z7|6|Jc}rXsRm_H~YdbNcC0iT)Y=^h-x~%miCivQM;=K}g&RlE}xXl45ftbogVao~( ze1T&*S&miIDFsWgI%Z1(T?PS4XqCh9b%+E7hZ|uvRf|o)x$b>_wNB6%t&~DUX&}=0 zu+W;w%;(>u5LB~8{*#e1uX1Q(4yU7!-xL;yFo~BZ%N$Z|rD=nFEFp(4Ja=U|U zP^qwBI#l-9p)y87TP-T{!Y*_4x=W+Yp7_0M64nG7dPw%&bF9$wu2Pb-7#(`=w%l@e zIRh}elg=^#W2K|2ve9A&UfKDsgw;1b`fM4Wrzi@s(+^dr!dAQbX8Ot{X>g^c#dsYJ z&ZuvFt8bm^Zha_j`>G#ojewq1wtdA1J?~OqYer|d@zAENv>|Cw!3HqWOfdk(Aa71e zZT`YvqF1Y`-z3>)OPEzn}uxi&v*M&3yUfW^xhEY`&2ypr$ zg=Xd2r9vMmXbfTZ1tvnr{XatAyA=VmB3%Mdz1leKXG&gM9>P{mG?|hKdh&nVzI&_h zc&NIKn_3&7-k(#OohR!Se`3w;)xDqtCp{a54dqn8UlL{cF|d&>GI+!nhg9cys&@K3 zb)TQ~sqG z029V(Grpp-lhY%t4XD$gKG{$YvqU9WuK z6}I<(bjby7jh{t;5l)OZm8_r`C0v^A1-j&D=K7@ZE;YOc0;xy2P+4iW9E~PJ4?yzq z(&!x-T=47Ck3{$cCew>RvjOg$qeM&g+6g9U#(EdE3v5D;rvh7fOVDtUI!}m6nA#GR z7)I;K-2Mcrk0-Ep01PNW5EjfP6id_(on@HGz3cR;38*Kj&_{ ziDJ}(l1R5Gc(A3fSy_F#UJOpqk|k8F*BC=98bcM}j6JkRduWV=j!dH2)7_a>G{;n0 ztO{MWLAF%UJ=U|`(KU!1jOT?r;Q3;4>0`QG7pBObfzY|>wf=tTc}I559IQ-f>@5Lk zN@F)cg{CyN{J&i)ja^_R!wzZ5Ew{5k5dH=Jq+KGkyBf?nnEWK7D=!LGn447}G%yNp z9EajuEi`niwNuJJ-r{k8K&Om0b;t_W$? zz)z43;FZM3mfSLDg8zi9VT!|7C{r7!VIYU0Gz@C+jU1*3Q`MD`^?Lpd*g9>AlHkrt zfhMP7N3YUY35g*6B8n;soAAt+(7All0GZ>5bj9+yaxx~jY(>~?M93nLElM)MQF;DcyWgxdpb6un@R2QVjfjE7}31Fap^O;W3HiEYvy>l)~vz0R$_3%+M(~UqmaJ z`L1EBYFJ(cO2p^%>;p)p+$l5S7t~?abK2&{`?PCUVgz|=q^EOq~ zPuBXiVnsMMv{62|!&nKHp0`c0fMn370}Ar8hL}z5;u-1wq09_Id0K8Rhrjs?Ic4*^ zS0fJ}28ptv2LxUY$VO7CP^Xdw6)7oOL?;NLSUyX~iY+ezMVkfu?=`yN&`Lo}D8469 zc*@2P8qmx)!=|bVl%)=KEwP}a3M4X5mMMhC-Yz08)ww}c%^-7j-~cg#EXoukmA=o| z@>V-fzBAHjGi0%hEEidzn{o#zCBchO>0IvQa0-wwc z;(;tqP1IS-f$W|44!G9T^&jg3OV*D=sMw!`(x4Rxf$&_M35_YXSM73GKqoLxcIDJ1 z#iJA{%57WcT%fXUz2%JtX*J1tl_Hqu5}?^e_wx(^e2l);Y(|J6Y(Zt$S(9EOTNzuFjoo`vv|C>V17c zf`ID?;f}Y|mN#V>r|&yi>h02-)WbS2mA~)m7;Uvw{=So?-YrGA)mr5Mohb!|cKkq&(2{P2G3$SJJYBWwP8O0xT?!-H z+kv54)aV!QljlF`UcNAdVH|Owyvt!8SSk;z=>zv~d8r@dl-fBDa)lj0@mxYcmk8zS znoFbS%C_-Jgb}$T7aWy?kzlnfA0?!^WyCSv#i%z{02*Mx6}hxMURA@6alti1j_csM z5K=P1r{M)U6PJrhH>V^aQD7(B1)>tZR(C?`r_RYF3_v!k+g#vGd>OOf6-~Lh0i2}A zLfjA5bwcgz9YsYK#c`FX)A2xeUWKDtBv%2foZ|b&{!*b(+}!@+%$M_2qOWRAA1YX4 zM_M%BQp7ag`K)&sNl8X?`588mAQ;0p34m24+I-9OK;p}mIU|9<(wMn?#unW`FBZp-|7 z%}96_U4Lx5{P@`OtzYggo;7_mF)5v*KdY#AtQ6YDI-AL=p>I15cVS zDy*FglB>SKJYLfIuA5T?f38U)nXra-mj7n$^1Dh|%Zi=-svET}_`A;~+h=Uh^NzCJ zQkeW8rf{L0r5Nyg>el1k`5*0Qtm}W1!_YFKHaLrQ1(s8MJiBZiR?tws^<}Grcg-qrfchmhy81e`zOQ4gYq1O# zKDWG7n3?)Mb;wFoE}82x#l*i^iCv>n&bJ0HbvvHaMARBQ+0#ho#3jjB$g=7L{EvB~ zcQZWKp#93CHT)DK==t&bWQ)B*`?b3SCK;~0vC71p&wX!1PcYZf@s`{qP1iJm;~^+q z*FwgoB3F>TaAAO2SsHeJJ&ZMaJPUjeHMDW+&(*MpL*Z2wC1cXz2}6CkWARDc^^LZ2 z{{AMkCKT%;JI!T>Bl{%VIHyZ*%#qwqRP=#0ib={SOXNv4i;}8gMMrGua45O5V^~vZ zZ#vc&Z8v3WIeYmm9jOgJK43YnwCyU#01}H*Vq{POzdX-}skM znQ3K>Ln;^;(0xI7ak7n@qwmX!)4jIDMS^H%Pb$+GA=N}GS*Zu2cCIktL-EG@727=V zXX^OK4M*eV)Y)O+(vQ0o)2TCdFxHQBq|@|>ZRgSjM4F`hEjj zCh2#8`=&B?Kv=w(-QV&06WK{M0O?dt-jLS~WtYlHpvtWuyQ>?JQ!`TL*X{DDsqI^A zmOcJa1-o!dUed{#s#u-c4lo^LPnT0zTBlA!>c9U-7glfI-Cg~Q^$}y(L*J+KChr+O zLJWvzWZiHxU<#`_6Y22{daC|enEN+N0VaI5NiC9;P7ON)dxaWKhPdJs0XHr> zHcDsAVGeghDjw-da4pEmW*!95jfv5GsOC865lww08`9$bWYNY#GHHN$t0-INJu)KgHu( zU~zze^AtH2)!=nNpd>CXZCmwzi1jq&RZiCQT!zV2!5+)>p-h`pq?@m>kDB1w7&SzysGpCTLCy&WVk`eT#P6$dTx;Aewu3P& z(pqwyy*W91Kme2wfdB)5mbtm}@3-sGjcz=s1_+Rpt(@J&0)c*1Rae)$W~d5cUKvQl zGn^CD05R#P2%%wQc;Mhh$V|f&!bzyq1bi*%b+YWp5@>Yvp6|WF|3RlKKD8+0fNP=J z8e%1TuU^ACc&!+us+QXO4K6$Da*|{BTbxG9)D=LGl}buK6@LneYN9m-eyAGCku1@h z26Leo7V(QybFqEvx&pk2$m?WHA@gUM=8E)Lx@Gv*wY1l-fbm(M zLtw_x6k4mkx-qv&<~s-&yiX)RFLOG57$3|dw|@i9d$Jvs*v552T)s- z!fiev0eX15!^;9XbH3XIvtAB{IbmSOYxCTtz$-Rhq&}UD~%KDI5 zTqkRt5xhOlQPtoWhx$ryEd_TRR_QUIwL*Fh4DWi9g#LS6c;PTi}xaLmw?R)AVks!&f8`RK)cL(MxUqay1#7dJA2XexA7m~%bt;%ctqq#LEn@!% zr}V|tjmZCzK#j)xFza7*PgEFkCM1)4H*F~1xdwwjQqkiz{8~X->~fJ|G`f?DMPVn9 zd>Kj87W}-R3T5<)m318$;gK7Jm3Xur^E`=B9l8-O2aze+$rl*5G~mj$VKO%u_%Wel)=mk zrMnwhel8T9S%xs!qu94O(xc9XU)=G!2Oo2Az~j-(0o0ht z7$@+CkZ=RvoLMOw^E9N&2#~eD54E;N4wkYSIVbM&8O}&)-w&{s5;t-7!_uwpC9{dN zAgSqL__BmbNVWjqprXM_7FD;vFNbecCaiHR6t2;>0h=fhQAOQoDH9s%YoxDnxZlLt zB9(=2(2KXq*^a(;4BVa8U*j zC~g|umus7rjuF$bw$~bx&Vt-Bn6QHEB=SoMju0H7WkypFEgzG1KKD}rVB=&-QwFB4 zP!6k$`K)DbShp(3t2s|-Jy>vqhn#i>8^`S~VK^w3J8+nO82hEWM{;i)Wv)iGtGldf zCngYHGuN=C^{W8Tj;U}&;C=|IIXLNyq$TM_6#RZJn>t|W6|SN!S#-T=;lTjuBM2r0 zj#l(z<^e--8)qY;B2|$#Oo=`yvN(w;!=!gt=JL`_v!JygVSyX@natJsHv{3;4T^Dn zMN}SQr7BG@PC9Unk_`7zjGruW>OO7LX<96WJS=;!;NR@9(x}QR^deGVvz~SD74kH& z<0z6O$ztk?@qBLZ!J%(9CVd8GF9Q!0$H-|Vip`u}j8EiI*8MT$0h$ zC0eSN;vFQjh+mh^4CDD$iNo*Q><&182O9PDE$+QiJEkt{$lB~Yzxq;Mu^GJB1#ei% z-#oJ8QrVk_JOc8nrBM(dvJKWihJE(rthDQQqX@%CM3FlO6vk!kC?anNhLQS)U|`Nf zdt{*&>YDwz;!qmSl~lJg8$zlqceQ1!%{29Gy4rY~>R{R6c&c4kRdni+WDVVY7=^u? za&E1UD-4*kuGYs#4irZgPq22duAOgB7k*NEcS!9eZS*1{y`ol`Xsg(oWF$C13PoTc zOc`@@1(2W%IV*2M&kiH%=2ju?616o_DyhY5aqDZ%OUE&d#SHK+A4j}h`;NoqO`a%` zmf+qE3z|%YZcrH(1T3fIbu7H&S~{*#cd+2~jruV!{teXmm0>~LiK=Ewsg%H*oGq)} zT@!4k%U_0Zp421*6EgfoS`@UZ+AV6lYqS+P4d|MSJm9XG_f-6oBA|HBX?f|;sgE6M zO1OYFTO~%%;yLRkHjT3?RA~tvZvmY7Joub{41zn~U6!j(6q@bwVhZoro(VNL615yo3L~6*fyE@2^5MN0 zz7t1jE}V5;Gj~m4DJwOU0YHPs0%T6&d2}X9o1luRfGI)YYI=c3n-Jvkaw{{@GHQu| z2jj|+(B4u;&V*B^5lnErWF2Y(O>m#D=6M~blI3ri@)XwYlL zNWa6Dp2kRWy6RZYzru$9wPrzo>{fwt#XX!HEpk~keZMD(^fdmI+_6Af6bNEbg3GDM z9)PNJ5cUBg)szb%6rZjNCRj_X<47Bvyp4z#sI0EXBXSit{%Qq!{gjbLiAI-Z*2ZJ3 zIbUUss$E7MuB4J5gxZyBf~){i#j}iJNY8iR6_y!Q61kMdTQm;9@JQgVN#vIhUeqvc z9kKLqkefDL%}iSece_rP%@GmJ(d3<@-N>bc&8my-D@L}~5xX`5U7^l1@XA#;xOvL9 za=i2mqqW}E*;L-V5Yc;;ZHrSe2wU3B{dby)+nrr z&9(vIaB_>Y%4Zbf;88Iu3@A7bc5c|#p?x|rD@X@a&b}mW{Sfs8S*{D|cQnMu}Ig@OyGGF8eKno)$OVD`freQ|@G-x5623RpEfzAvNUB;af18 zM9}deXUI7Crb03or&o(Elv;sPA4>boZ#{Vu)7W?Wu-4bLfVpb)3$|7>0C4e7HKv7HnZ}!?@|3 zbvspBbvWEBT`^o(E9OeQg;gx>Km=UESgYvUBY9)dG#i2nGo@VXG^J;shZ&b}kUKB6 zV;G9bpZEpuz8pvg0}hE@~{6(0dgI<<5FZzreU8=5P^T<>G=|%!l=w zsZylCloPbD2dQCWuL+&VDxUcV;?pi7Y`CEI1g8RKwi-iu4k|-v7mFS@@YP)z{lvT; z(@j#(OZ(OVjRLc2B zkyKTTkn1bCRmlN=po+}K++Uq4O7$F)fOiE^!Tzeo0w50SPdeO1EG_kR7s-wdduB`0 z+WrxPxRTDW!4?%Nq>Bh2Wc^@r36}IF!GI^niC+38zTpTrN zQPCbnv+F8%Hn-L>)q*;babYv+PA0p9q=Y;1XfB>|=dp(b^tO!Q;Si<|*#hgNg}FMe z#o{y~2DsjmY^8CPj_tggFZ;KOq1t;lgkYLUFGn26T))OuKKwaf1FY#LhSzs_V!$+_U@fsFjb{)9xBiTVt-$~I3jgU~@SVILA4ppl; zjngEGl6%+@#fefGXh0Ir8C8m7llpH6hrrLV$)3EA^xP(~>C&ORMHUvx@}B9U+CGW9 z_~9&J`s;IU;)eyGYMb;OMG@H0PlCw;UU(%B7KaAiB(QY(0*~@)gdLs4Q;?@ueFeYE zk0@g>5qmE!`o9GJz=lDI{#e9ohCPFgCWVR);CDdzy-T(DgrtX!;IS(GB+RjvrMfAB zzANai$Lo)N;@t#LPBjm11P*@s_JVi~)ymAirC9Z!zCHZbdEU?I5lQ79XK& z`clVG3?F74Il=g5>|~LP9k`6&&~cK{2@yyFtA+HRgk(+%XLBlJZWId#jLgK{37QU< z&M(;Hz87nG86l%E;GF4LYG20zR)|09fjTV0TtrJeru))2lO*~S9c zZW=^x&PmL-e;Ra`q%fQanY7E*;4)te$=bnDp)4A0i=#hsCgQjX=I|}X?s@@$TA(0E(c5PXT=x?xz?nm{MuJ9>fN2p(+HmyG+Z?fHSzK zj+a*Q(+>oKu)Y9`0JR#!?jWjaMaVAVH$oGqHYdF!OlE`X%0ISXLG7OiKa?$FrmQHz z7=T{B+a1}`BDVH1YyqMIRI?P=;P1jlm|%Kmm@6%g-BrU8!-TWNO!Lr51X2ze z8XOA;O_oEGPY^Qk4r@^ir@5WzB!q_9ge_i1C@X@;@Jq-+=DAQKimOOc4foBZQd-#z zszRo^(=jYXaOAS87QN-&BEpnmmCVxqq;0340DV&bLpf&M*lk#=ODMDQuVt>LbGpT*(H(g;{I6>_pg*R z49y_Pg3&Ube+#@Bt%G@W8h$zjo4^ArN-`6v4epPq6SJ1pf{uRfQE9} zD+Hw;F$I?^0Ye{fBNoCc1t2^i2I#t;Ks5CtipI_n9F=qtvF%zQdxSCnO*g)W@Fr1ebT9h$2nQ59sX9p%$$S+tIW z8?v+I2C18KV=T16Q86OOm;N%1Jj2+9Scx#Vj+NLlN~q1#It)~4xpc2|>yNl~X`EVE zuO(^*Jjf1<94BGsxv75?MO}6(1q?_`NtkK!wZ$A6A}Sr9CPCK^uB{Z$>b$MU9ZrPhh4#LNVmJnUGEP0>O80TIT~nK^LP?-un@%`^en7-YIqfUla!9t zvT#ZkvAl^^*7i18*Mv@5IJzcrt^=7-Dos)IB+EjfPL2r^i;Qfj5L$$-;k?^8{Kul= zhlG}J0Dv$ji&(*B@m7<~&FT)#Zr)($K@PU&T_XiQ1l9{*#9GjVE zakV}!wX7bnCqd*cy8_pTk3pcAg%Ko6u#hJ%5jV^wAR8QXg&F9kMa8#fWk?8j3&HPr zNvK-5u`iAR9qNfVe4xX;Fq1cm5X_2JXeu6K=Ym}TRKd515ma!1fDNogo-71AE)BSt zqiNs9_uO;>AkGPBc)iG%qfCI7lxA@StRM>5$|1IBBF#>sl}*9l|2QvKL|X}RF_b|i z2hL#;Y5C(MZ8g}-%3v>Jzw2PXtqk^E+Ig@)R0jJk6r*VzY&;&<0J0&<#yaX{ubH*% zF>Bd7e6iP;wX7lFy?@&ohv+{pr}Yu3qAL9W27?{It0VH}uxz3BB;74o#&Cyy;FWTh z>)@PN@lt}wuhdH9fDZ-8`Z&OTk$$9i9|JX1Lw=Z{g(?UoePVe>v8_@sfZa#n(Iok_ zmZ{dPL*c@3Y#5U?T@*n!?KKURmCV1`C;2_c7b=@CMt*CT>RWT8W#qjBuLB^5ihrVs zaWS7KDfrx+kKkvCu?r@}Mk#^bD8DsQaZ;>Vqmfi;d^N#}$G1t61>ZYeR;rN^EP5?s zKXx(0{(A>KoC=6c{uI6$XQ7}m@w3<-lq2wy`xvaF+)Be7P^zFH0UEk#<^?fi#AayN z!y}c%N-=_ibCZxjSh2ZkCUz+zj?}tjZySh_C~N-^FHur*%@9V^X{BwlhfoUU4MOM~ z{A#7@uLJv{B$XE@mNHUE`n%QBmGBXk&RvuLzAaoBf@Sy;>vAb>W@OBh@&J)CFk!_W`Eh1PxFA+Ej$@2a=BC?X}bZ;<;8S0 z;?(CDDtojWt1>}raih~5ea5m0c40-u$je*G6NZM~-+c3HjXkvplA=BXvJk1B_C@w6 zXjmr0GsW>OkEJIoXL$-Fx}?al!kl&MX1BnlQrCkx69R^>`l?rlEI#G#2w*JRKSj!r8-KK*Yru;eRK)KZ5)CS0{P@c2Rr9~!nq9U zmWv%#1PN$$0+(J!#YG(K5(z$!-;T?1l_%750FU+m4d>eND4+pD^4DY#O{kz@QxyW+5>A9tXvgHg!Cw`p1_@f z#5aX0{gEChPo0nGc1CH!B<+FIzYqjMp7}h44>-|4LI+bekOW0ZujQL9W9)>3#bPE) zxa%qW=O#)ff(mA^#9=|9)seY~RgIeqA-4B@kcvVx)p|>&)eM0aW=*!8o*{4^+(U5c zv5e!~Zy3ggNOByL=k zTrtbqG?r^ZUgTz-3p#NDn4-#%07pQ$zl^k$YrDTqG9`lPwLl*%>oHSuq0fTh zyN5(P6fY|K^WFl zj%M+>C-aRdadz(&@e4hfcEqg_{3OVVEa7e?_VnUwLY<``W3mHg3lFSK5GcIdLY=)j zV)Fg#hNeEfP*k}E#Yp;xqzslLt!Nqbqoe)zlU7X`+eR<`zu)2q1? zl(R*cV?v`*F0&I$UJ)N%B_5NCnTU7F0Qlg3->$S?0cvDZ`!RPG!{C}@rMB1#{)L{S zcZow0G1ok72A61BLQjmM{odciexExRr+*v!URB<=G%?qhsBJ3OvJX2kHrcOUR?I8( z0~)l;-Cylw{*XA>FK4JgP5#3YKm{YCh!t59PDrGx$27SgbMIExhR`-$t)PUtg2CrG zwP-*Kr1U6h9jS4=&6G(}pm`k#E`MYjriFD60+nW9^nJHIF(udl<%Km8Ni!0~p>qxn zsaz&djeuxrNG^CFLCdw&r^&*q%1NK#6%48sa9RHNdSP2KH=TC!+1OSYX6KAJjMMOD zk(L}i(pXs-P+Z4bWO*_JFPJ%_kRDYugKar6ZChe392_sBFgQvB0!wU5%e1{`O0XTv zf5PKc3T->vqEpfY%lfF4IM*vYd?dpebgPz%p4G5wqc&D_*V@tLh=Hkw6{Xa=D3K*{ zEov-4{GTP<&)Sz&Xe*kT>l(9z(YgjZw1HO+%ma#ifOsqMKL^S50P8}i7>NOl?yGlm z{Qm51yR96*ch24xE8ai4IzByh4!;{Y{I3_!wy}-Yn^4Y=VhdYXcw6WT&{r3}4Tzs7 zvF#Z>p^Azj?EorAXvI(l;Ps`Ik|U`H9$z>vGB!i5b|Z=Z$6jC^D@n($tTGRb&Dsta z7Y;$GDq`%EST2HHclxQwrygv8C8)nmlNo`xo8o4)B5am%N|y#?iGi&G%X4LOnUROe z-U2EQiwmsWY9OXS!R{z3EgYZ?Wx*gJPbf-MbJNu&+;T0Tkt55d06QKz@c(?xI6>}} zR_35&5t0ShgS0y_0f^8w9+=fl=vqP+o#UfM05`$4u^>4m%wuE$FF>`PxLJU1d9lbZ zrtcvX`Hg%Pi8&04&~PKjWNyH8r- zESdaW=;0Y_?R28tlA5zR=mEuYh=B&J9=59v6ejt>PhE}y=8jzacK_^;T z@nKs^`pw2E={liHwq>_pS2j0jxUOW8fBX1y+Si%t4!}&f_YMCXQ36WPo_28h^##~jhTthI&xP{fUlj3lF)M2B`#+xa4j-UnFj z#nT10s^PaRDFXPRxtpF_3<23S1pqn-ahI$0*p`_&<%}G2xHeR{?!v2jUdvt7XoUNC zuRVKca}~FG57zIpVZ`|JIEg<6X&%@b#V;v_0oZ)LoTJs7zGr_F{LxAJfe56SyGT(k zf_Z1!#1E~>f*T++K6YdN19Wf6qCwshLRFl@%hCAsT7csu$hvF-|rRnhzJ%h1Xz-y!jmie$XTV^E7^Oy}Yexg7S zOMw!>tBuqwU?usLEZAWh#56V~t9VRQ)n~|5>?k^wuf^o%J@q6?KL(SlApI12DviPF ztXu_PFx1M&aph_(-YCa*cw}dvPRPgOw-Bu+rj);A*7c(W_ywy@oLdCtZJy7w@1H-v z5z_l&G8V%8^H?l~{_8%x3!iISF0|F#N?fK9>86UI~1 zTp@5L$e}r=OjITa2ZWma)3Y$k|5-h*js#Tp%$%zhzgTW0b(h?Ss?;O4jO^D-$7fF_ z^c&8hcoC&*h_hcZ=ke)}eJ-wqCjbWBqo#7)jtTZBX+@F;>TMvWBVo z=3oH@%Css;p>?CK;=xS!NlNst7`#sOcz(F_ia0kNO}W3zM+H?EiWm((75y4@pt3HL!30sWuS5zP%*2$(=QU$%_%JgEqn@742P1*C6gsgDgFtr@D8Xfdq!5E@(pk8 zh<4UBL#_-VTfT;-pjX#*BmDTBek^@asj4G5VNBP0?{#%-0C%j@Or;Vscl4s*d<|_s%EgYa6RhyJm}_=*iRB+%UM)!g z*8lnYGPo+$moWkmD);=f_m_8Pdk(qZ zf7;^>WzShles0KEn39b^dwzvw1)n1o&|>$Ta=Vl&96&*Eq0x=NH#WY5i;3ZZ)o^6H z4ro6*cHV&=W`LqJEkq$UA7J=!W$M+~D=bJroi~E36_wfn9|T#5 ze*|@?6()|qu|~wv<*9)Ou4^*(G7B`ohjI_pTw?-$40Lv&5`-ay)aFv4<6{aHSyKMO z9Ey8M0K>x;u~51}wP!Gnw;*@MEgbSSkwASj10TowG7i*h-cs8m^)Os^flSrzRuXDW z8>P0klj0`Ym~UFU{MtHTo7<*I%e0E-N8Ur-P6fUQA+P?|KcU?-bmaN<|A~J?K>PO# zIILj#{0Rcd@HsZNhJW#C{PoA@_<4Di>zl61;NQG|{7c3LKHrejUc+RMp4j)0VxFp2 zjhgFIYWZ9gFXN(m@M0K4jSDw&j=;Hd#@dK}yR7Gfy)G|i>C z6~awyuL-!LdK&5%Ud27qN;%c9AC0Fv$5doT`U%1c8JfeOnlDF^`y3!hP22D##pqn2 zpbgL85rfUpCg=mGO@KPzfnsEcl(dn+Rp3iWf0Fo1Wk`n?dL8RbkUC=NnY3kc8{F71vLYS_~r2 zjT{61sSQCT?T4sXw*uv|0u?+XgYtd@zD`*t8J}Lw@;SY0i?^%5F!w=nT`BF1EXsRT z1<8iVHi8tqn()qZxL=`UvrX+@4kut6cTVc2zWTTkM5;|p6t69^Gxw^`a59A|V|>QNox7Kt6aDuL=Y+Lpp!LoYfDnM;4&B844E?6SP-=xW64!5pz9t1wO z(Ngv)7TUrX&5&?uu|83rtO1-&`b2T!h!`Ipyi}nP>2r9a?SH;{ql>?~^vpO6_B^wSG zf!4bkO9r_QXm|2(L+Zj-$%_|BI+obk1aJ&EYSahkP6^+A)K#$@ahUSJ#_dadlXB8 zU_QCDKlM@3SR*>RsJy!30T21m0WiD<|td5U&9z-vD1JP^G>jI3$l_13Zjy6;qAg!mUQ;TTMN-K7R5pKZ-&(Q{8?9(GUqB zt+C3mthLj$1MTm71MNBi%`!f@+_pR8Y^C4;VAz?i8cxs4{)C2KFjA&(&P6dn(z}~E zzg)jN(;L>#Bj~`M0t$32RShkxSwDVP^(iO5m|RcM2{1{Qa4gHPNn z^!B>TK=nZDPfCQ*@YU6sv!4YX zxL`7&ZNux4yA0B2nuu2bQHa^IMXUyq&f9fE&+DQ0TY%oUKk7@;&cYv5FH-#mA#Xq+mN~b{Jw*N7Bq;Cc@^&UpQWU}dZ_)GDHwgaF8wf6&{DR$%mC<(Eg+>Q7o*)VE z+L|yT;fO2EkcogI$~-q3kPH2v{(zT;P$jvOdPc5o`o5|?0HAs)an-zd?nrnZ+=Bt& zqu~6n(`)zUG#)@PU`vT!;Z=|7DcA)!^y4t1A15gkr*m&w2lZaW(Ndf}@PDvTy}3hJ zStp_r&n!oPv7}pU!3uM2I1A9f(hH0Mib&`(XoE&?3$c%G3fJBD&i@2yA}iyE@f3pE zoO>4|-#Wpe9I+kD#Mx{Wp;r`iGOP8)T8OY9rx}in$4F0tfF=QH7znrxmRE)oKV_D+ zO@u+PJtdWGGh2sHV3StXN4Ac3^f#BUqw||DE=Od26l@`9=ZnS&KHpTeggGK;K?cW1*O-s{UXbuc!6A5U4E%8X~N#y2=e+ z22}_RSWvietNUxjR&H_s_`EJq?7CpJT%rc0a79y8vAqw5*91_rt>za3UIoDO${nJ9 zvMC~5Mbmb1(WTADF5!i)^m28t{!vo-D#wl)*G4ag)f2bB9jjRFtJqqx&aMVMwWj`^ zpf&rZ{v_S@U5_8E9ho+BX1GO$bC|NWC+eqfvJ%vx3UGo2U)3CO_rmbj}yU@xEk7| zrI~Y&7D%Wns+3{&uC>Xuy?sz_^~pxq+D0fr_hcvBs+~}wVJKVS1MK0oo7vtRARbMi z7C6dx$P6LXnRmxUtN@D4F*0YLT#lHSGE4H{S-FAfJ2ytJgT^s{hPb6)ka~74vAT=c z1rWBND{C0oh_bA0w#Q;Lmnp=emui}rSHOfKlE4-1!ha`mjX4ZEqTwxclAOk$lDlBP zQ+4^m%2g#_)8(3_9@;?{i6aW$7 zaUD5Q%b#U_Jf4MKnqKQ;MkHGwK9^AtlajWV8{|jHS!fNvN>n&S*w#-`3Z3_L4ssn7NEVeD{pAyq0>TN#4V#UFnTgZm&=3J^9hwr>IXwA*r5$?OxMs6gIY66tVWx~6>(?Wucwj=J+j zOBWq895Y~l3=%eWDuB!k*tZ`{7G&kb8e&20-9jv7i}dKWemL04lLxM)2M&PtKp$PrrtZ(klTXeRq?R+fwy5Qfuz4J@P20pLaW7jvnYG_+C2>&DrF!AmdtJu;_ zjx0y$AS%$u6g7g+xieXm8a4Uy3Whg@NG+hhgOT_e+}k8pJcI?vRDOzPlDMN1+ywPHYBAr@Q96xY)w4si<207Ma<@fxvvIK_m3^+?JgpI( zYwCEK{=#u|)GD!7iCIs31AU{f=GKkiIF6F6U3fWuVdSN_*d{Itu=^1RXN!1-$#(FV zMA(hq#c$$FV5GQKZKJH{yNp6VFr=eKFTHi4nFoaI7313*VTi1+Q#eP{#yP}Ufldo9 zxsFB-Htr~zd5rsLlGO;kBO$L+AGw}=ICVSKI+loO3*CwIi8WGpw7GbDy@ww)pDA8O zZ#6e+04KNlNFhXj4G5se371nA{MP|YEkltC#d?u^J3unO1kt>6dW~e^VvP0Lm+S&0 z)~Ul%M=sl?7JzC8jdzJ}3k0k=?N+8)xdytVY!I+{WZO{l{QB%&soBo} zc?I;pN3uz&<=WnXnUXUjU63!OLrZrQ2%YjKM(Y{CyHz0|X$U26gzBKm>M9#IxY0@) z+(1ha)%4c%-GIBU55sB+PTMjqmeI8<7RAfe&^paNrqDB>Q`@iA5okKf;oWU!;r9all@ zH-zHxfjkM_n>fh?-{kR!@>S#DPwwfK?rDVDlVf^|j%mWchQjK!6TUG&q|Q~oxUj6X z5wHcp$R+4JB^5W`x3rqdkT4PWv z{rSzN7y9p661RZq3ASG=pbFu1&c9z>oGWc?Gt2(VELwBbu_N??URT}7u-duGYwDTZ zYb>m$%=J*(W3hvERLExWNZ%G#?^4An1yONTFZ8Rso)^r~sKA|j1p+g?vh?a~mV(e% zsnQmxe9~*TsMl&}uu*R3C`s|S#&N-80fmAnbQu?}UJS7j^L^}00zqN}Z=iT`_+0*D z>}Ipi{pstC*8%Gp|2-F10c8>kM)1}J6*3HLYr^^=R#yUxB0_cM&dDUnm2sPu#>zsZ zfTGqSYiBFQR&ye-$`SK=&uTU$06%|qKpmEPxV_#zu(wTFMk?3lfRWkto7}whVVynW za~tJ;eciqSuBU3%>q4rZD(f^hLDCSadZ~k3RM|F5WbZ-|^$MWhMvLqg0a@)H&;_(O z9tNn+xkbC-*l}Up+cb%jMJA+)eIQb3K>-?u_LFQv(Wzm8TV6Xs(ineeu=Wu0y9xgN zdJ#r`@$^F)b!AOB5-tD3`!m_y5Iy?9E>wz`cG|Gvh$M}XkZvW#a65?_HFlkoiGfR5 zT^$?zMn?Pg5g1>AGa3)Y{TR5jqu75Ne!hf%P9nwMPA|sv^Qh?o6oG+Ez<=`JuahJS z-1t}3BM@Tk-o!#wZE*?Xx+s$_jOWyqGQoW5vCxA)6FRTo9{j;pa=x|U7{VG#{rSk z*ozi^fGo=jCRdcTaStIu_$dNLeDCbPUgp68F7yB_cF*u86>R!XLa?2ROAhnCOB&Qe z>ytMJs8Ry@^B}Ew{b~$d_o2`PAg3H{D{>tNe;6R#s(Hm7X-wVMZt~h zE#cjl-~I9TLZYWpcNB%^=mCcn506D4^+YfdbUbAFG76miKSL>nIEfFy;NrWf-xsbJ z4f1HM#+jTPSjHcUjzL8m=G z?m-AEgBEJ0frC_qz1w4xXP)m--Vy{KdtDvmgW z4pVkX6V)9g8+1pbD1_g)P)bgcuoL(FLT7*{bjejm6#sF>DWM_m5^ zg?(IW57cF`#$Q5TNS2l>q?b3jJTku7s&x4BCYN`Vdbi;xTV4kr>(v72;~~=N>ehM^ z0L!+n?m{Ny&4Kb9Sd6VfgI?a`@~(rK(9y)WZE!85#$0|ULy@|baInP^E)8Y3wNz>>wx~2@h7KH$);V0FaEi(MTQyhX>X%_e)BrX;_ z=LVWQ_+c7&xsW-S&uj`4=gI5Ebc$)n?e{1Yam{_L!d{amV1kOvnr zdY7&5R``Zx^(mG%!L(Bk#@LiJAoR8H^OX>LAzR*7$vC1#Ljk$g9!}Zr|v+Sd8T&)?^bsFd2y&SFhl%Dc4vjby) zv0#-&c8~XBz@CLOXl}`4IuZP76QYxp+LFStm(RFcZyy0A&DePpBS}=lb-Lt?@nD%M zkBgmZWr7#}hLzHIgA|w{mX;>-6xg*n8aFEju@XD3x_SX}amB7MP&M!OB9=t8_q?hZ zx5%@i2AiB~#R+j>I(Vo+BhlNv*o=^s^Q90QreJjl2z0%~i!|^4B*0l-ySaC397+2+ zm=eR#4?3JJW^A{|!aHQR7lU#=Wrg(;Vj*zd_kkZzQ?A?aRooP zkiA#$cy&d}0rmclHksomt?DHDE<(YytJ`ArxZ#SDI2iYlZ!+TamvWkSBw7 zj*}?jp3UQ*p>#v&jZe=6T>rW9bpP5K`Phutb%e|gHN(LS>k~jm$Z7)@jfeaj_L@XC zoW$jP%-#`d!E&iF*B)3=i`4`54a#SaqrkNd;Kp~e;`9vR|88FCd*ep4T5!cvks9~l zMwhQK_>PO`dxr>%t{#jQ$+>~KkiPXE=H_U{MTcCD??DL*lF@9^h?3QBWHs8m^k@DVfPlYMn4C_lU6xY zVjpgWH_?A;UnLvss2T~a>L6juhfJnv-C#olAIotOSOTK-e=I`p4q813sS7bJc)B@B z5t0p+)6xX=C3%Yjjkw}?0e8h(LW1%7W9Pq;g*2bQa%7Np`8YvOX9(qmJ0yt@gi7~G z2=|UV15!qug|mRkFia^1b^nO)WrEElo z%RGE>@C6X5-v(a8PUZ!%n}*4VV<}`*jBAc6Ae2H81hg@6ZlhpUh(Nqqqew!IHmg(D z*!g$x-V0faR`t^!gjei|{Z^UQzeM>DGV|wK!H5r)%?nbK~&0_EdTtQzaF0) zT_63m^jL03UvlYF@t^T{>@1T-s&;=PP9Ssy5kHg{#;=qH`P<)KwJYNBRpzeh^wc_g zRnYrHXnQg@Qs%PSq_SQK(rKT&B|3S}N1Sz~WgA^2Z0VYl2%syf2nfz@?gHmM|0PiuP>QsZKUJ$sw-AuwBbaoFDCP< z8KV7^Q>rbXRAk5(xtCxgODO;$g#Q!AF3c-p*BY6ak>0h!T$7ky`eTzt9~D1Wf)$?l zt&-a+8k-d3;IxGqOSkNX3p4u+IDB3S4MkIm5IHMhp@%KQLRVS~4BcjP`Q9t^t07ar zAKJQ^1#UVF=zlko8Qu?c@Oj4yaFuWG%>#p#T$tV)2k9R@Ul>Am7O110@|!&l#8d`B zlLgx|t7c?n)G|z29esBzY=>+Xlwb8y=wJm&^(_HjdAEVTKpoDRqBJOACxt=Ikq1==#X8Ht!8Onk0vMJ8l( z5cWChn$tEQKrM^%_CPqwA-*$5pBqvp)bXP`A}53%K;kA?wRO07;w=P6AJD+(Qgv3U zeY)W45E*kRFelZlsDBS_8NSI}BQTuPn!=KK6M=1*N;Fk>-H4DQ-&gL1LcuinGu;+k z+lD*`cvVzQ)SUo>&sP@8Z7h<@v{q*ezBZ+y+I}G8%QO(oz*|H@mHcx8eLSP!jM_Wb z84{pUS%x|3fnVBu;sn^~uxNBxz!Q#_0XlHEu-~x(O6wO5e~^6WIZl7&PJ5yzDlj6T zK{O-VhDV8a2bW}XKoBG33f!WQcqu@=7UlG45~%?oMtEEaaiDX8s1k0A=oEIPsi=ID zUYrTcX%5R#%-v62#gd|eU~5ur*UhnA0Z+K&u9K@M2S$sf(LALGalN0=`SYyJj0% zvQwb_PfZc+23Fj*ENRuO!#)Jz#|F5!izrfD5pRJ$pg47=(CykbjS0Ia^b6Y^jekz< zWAwzU{l=MfUiC?sd2VW})$!ZpVdjC5E#y|w&BJZuH3-eN0Rix?Bd+8yQbCY<1muPy z02g_JM$Il!fX6O&gi)r;STzGwUGKuFBXtt6ZscJ$4Ii$2wR&|zM25MMTArtaMhChL$sTF z=)i8?@m|l?zPL7MgCJ_x!UVn&T;lWI-LwOi&bOkaFNAuw7uQe^+#bCNZknAyH7fKoe_sd8##tsx5%20ZrdL==JY$#*ke|eFvO^VBIv>fQH zZgsQ_7Dp@ij3sFR+Hg*#7v=soab^Jqn}(V8I@T`61fa4ct~AcP%6$h^mz4>wi@JPd zgw#^5T&6pdfGcL$Xap-|CU>#=R1R|C&aCdxXK79AAzqk zS@0@IV#?{!25>(}vYbG6eRMQI=8F%HZh&>KA<|orYkJU&3_M%W$QJfFL=0$Ay~~IO z)iw-j1^d6MmJohND&X29*b&BZ3>y#HSzB#@@oSBDc2igD1O3o~BMY4Dbg0iNhODlH zZlK}o0}VEMoZd68LP@ddc~Pb{128f{p*BC^n@G^BIafHs<7AV2I za_8WX3y(tUJ$$an{V}5HDhh#jt$`@nd?t(`Zvw-RWFH#t`IylhN*Y+xg%V~wqYq6S zXJITj^DW1ggfT?Udc!_so7pc7!T+Ihhk5OWdWZKynuGYJ;%{SnX< z)kS6M@STI|_ehrJJQyljRNI?|X_hl<)oN;M5?Lkixxu|ND4{h;xljmNY{)OH^wtKe zNki2NJmw(R%GwpPMU;ngt$Ib(-an_BQG!$i87y$XS*F#8N(JhBs=C{BEmtAYtfJWW zRqaI;sX@{@Y6xS2u3!G6PeHT>l1~*xEP%9`f)|g)b5#SN4cAz~2FHT`n>u=@Bew~? zut}DvJC2eA*b5LOx5;v+1#8YA&RKw~DE{H`d>e4NycOt~xZd5*;(nO7(h*gW!YL1N zki-W;nkF_WvNUc>&xx_tL8AUp*y3NwGe&4r1Z|#INS_JPPeFQE4(x*)nZ%>18%Eiv z7~v)80Y~Ej3$Eh~qENtBT!=Azo z3%P4T2%q=mC>&ZsZpO-&hlg#za;ONniWN0mOb(cX4tbAK)UhY`TzTZL6{XmY$#wAxn#IX0U)%GD1(MHlcxaI3u0!I(Z8Q zm5ca_mc=>xn5U7e-I#Ntg~zN*muR+`x?N@BtWhGiw%T)JwRPPpIs{qw0D|7le5A(K zL5b~Tn7LTcMXQ9EiWy7pbp0;RjVvpSax|2^Us(5&Q{SM3g}R;vbHp~Z^2@Sgc+h)X z-(t_=i!t^FM3U-OB&+7wzO4A?8x<5dvUsPzi?SO`@VVjfzYWCl!Yt2EIU;l`{?~gwxMg zSf6$X6Ym6-^`l002zF;tiW&6YiN1dK^jG(0AJ9+*W2Y6iC)n310!Nraa0Ruy0H6n% zxXD)AaB~irjfF}h$Qb++J|&(iKn!Nwk&7QPtMfto4m8E&hEDANCzJNKhu<=Zgf}q= zK3}2bri7p;*A`MW(tC$_EWOo0Xh40!e(n&9LywAYPFO zbFE*!y_z~!k-=Ar_{WaC9!*upw}E$8mXD=U0Z->HmY*w(Nfq0T`K=H)X43Fdn7%^v zjDk@NU|iGKs9PpdqrKOL3N!JuWbnPr!)AUBu3Ly7lFPQKx=L* zM8}k3jUY2$3MtHf2Cdp+>}N}yezZ=znhSU9s)}WDIj4ngJ5zP#Qk~DjF1&uS}QALmp0O?{3rDLKvrz^7AeFr^X^7cw%B+nkL*6= zJarlQ|2cQiA0*~a((opX-EF6l41+g&$Nl-m^_$-ai9sMGOA@Ru4vt1JUrw?F>R^nW zQ`zU6`jiFSc$M0XS6hrb5b1$xd$)#YX_lb1@-HKHMwQkp=yr(%2_K4welFZz&la1$N z82iw@-NzA}FOgWp`xo)`a^5*XRtzAP4kJ8vC~%5EXD@v&V4x~SB2+lb%{s+k2O(pu z;0y{~b`N6s$0EcaJY!Q>Jo6C)=)G8fnqMbZK{OpAat}tA!k3V{d?B|89X*qT#!Y6> z2!h(eREIA#9nfs4y8`C+W*M;61G6P)Tc6Qif=GPKNvo8oN)RQIya|OEXxfXUA(18G z@nssuUN{#*Ctn5zD0o%Xb`b($AtIS1R>rZLiTgCgz8FTSOIh>gB+TXsCMS>SpTWRU zhV}q2*;!kGXGctX6&hO0)VG2f$neLqL%r>3Gm1wUhmxr5(D7b7DT7(in$U>dXFB?l z@Y{0v4y7JRy?)L;GPAiGcXqgS##-(EHt*M|2lFOeIx7IMW8R##VT8}CjvU|;@$Nfw zRw3%kL(MLOwzg0n)P}hdEbJ?Udu0&j@r{khYwv(i+-0ed&uk`;@9w=i<$pnhY*FZF z);uLQ5#^bOr=os4WrJ;2OS=-%Ukaf?3JUPMg=x5csqYv@9|<e-!O#WEhv2mAvA8h_V9GF>KZLs`Ub26k-tHrmzLCfc%$i7$?hw?Nr2!hY^utj;f2jc1a@oKGs*N$c*$x>Y|;rReJ z?*sVjl|Yl^BIv^l!cUOrg*leJosL@<`cI1e^4X9{8okn=JYhby*Q+7J9&=+KSWZXE z2`g80K`|x%0ZA{`{!Ke9Rq6DJtagg5-Xr@yYQ>n4LcCWeZXST#{o`}*)j<4T0tzpg zA^Uu^xbs>9syG2vjiO1q!mab69Dx1?wOHvsq!u2vv$n3H&MiwTD;%FtRFCCKKX4`= zsEa=ITs6I1DpETm&2%kx2MVB!Ia1*%Y9{E)6x<|2Q-R8!i#P%o$TC@=yV^PbaCTON zjcdMJ&{C9#8=jbRhLlk$-u`fTjwLDG9O9HXdf&|gN{x`~(wB37efF-jV+iv4Uipw; zzIgHC`T6ztHhZfXtP^AGP}RUP0)^9WWeMb_JX}a9O|&ko8C6?^hED;wMBH4yc>`rJ z;9ZW)u_T_has9^5*Nf|4LA-UdI5S8bogne~g1zUrPL|9Hukl0`e`U>3&@bsT=?H3b z+&XTlj%u|7@yIE+>w!^@t}f4my!?v=ec^N4p0j$c@_ix(a-#5#Lixt5APTGl=7lEr z(M{vg8>qeq3w-P5LP}G@nNgwLoF$2)r33dw@ivTDQUf7Fb|k*fRUK)33j(I@#l!*z zC@5m}zpR|D3`Q`ZZeee_vp&cEE`Km6pJ1e3+hv$6AE zg8hJzXC5t}DZQX+Kg81kx|cw5X(u|y8PCo>c7i^0utr;8Ya2HgnU zb7dTVWl7+5=kO^J+%^%s7J8db25-KqHt#H3Sqx}+kJ&?@*t$1n*Wt5UZpD6}h0h;l zlGqA#J>^{S)$Fuh z8!Q0x4CT66E|rWbiM&)YOaNq-k>n~nSqQmZNb8ldQX@s8G*d;5=4q7JqLF_~1+RgM zj;bT_4(9^r2ed4zd(@YUV+Ap>8D+g9UnWTFN_+`aaQ7RJ(7r=ezB)h+3Zt!AlD>45 z#&|U7RDs6F!Ldk)^8-J*k4r+haq1AH`mwV+R_2fz&hn%Ky|2I#!mIzF+xG$r32^!L zMfI<+Ke3T~1iZvaaY&)6X8|B<@FvCP7Ivi8eh^~ZHE3yvg;g5*%G7xi%}nF1(~XzJ8eX&S^)x!3b}eF#bz(|wLyl@cd8UF@luWvLkkQ(pw79y3K^@A{-vY& zi$K+o5}|g%_g1M0np{HpBaF*22QBTqD)O3}5@WHK#bRL%(0i|8PmI?}U>itqU1J9w z?c^nam8v8l5tl{1&Nf%I_~A+&ybtnp*;%fqKs&9@6T0S{LHn7?6>mj=r~SFP;O6tZ zL4+@h)man-b3o!DL|G<63Y`S`Jw&+kI2pu;6&^S2efl-(0R~>5)Bt-mzy#dpwSXEH zvJEAmj+1Rh2WSL9OBG<7g5sLc!{PAlSAqU=w>(7f4xELJ> zQE+H7NLh>^3O-xXR>kid=cTC4P@cgp|dt6mT_ zZYL!-#2>A#H}!yrKFbuef-=R3<+zfAOf1Ejxp7=cDfs}>yT-cKJ7ka(U(~p3)}dJs zhcDkJ34CX+s&eLX{kZuFirt_&aLo&`iXAOhzJgS?M;n_tfrA<@8mX}-vqj44JBFHN zx5*;%F>H*KQc8%cKXeL&sH-m0bu1i=q`?CJR=~05LhlAsQ2T)l@7*w0%Dn`yfR`Z_ zY#&sOvYVhQ|9vtE#i`-imO8ETIgzl}t%$JCZ?Z9&=UoH7^%*Z_{tW48nR?^o@pr0FCK&UD^ z#IPC#e%f5DyEsU}D*K_B8 z%YTnisruWH)lOuw^3JUcPCGR$=xlUsUhnuQPU7V(S=ee!>V4;Ii>p4xrUg@MZ(!YQ z*ZgR^>(?K3qM2>3UTE9FO`D|`AN05GhtB3%%QiG;Sa~Y9>pHVGRMqOJmY6GUn@_eY z)xMxruUi)jE4s?vgK7$O4rAyc4JEIjv=#N8mKEf}Vgb?8A#)sMQqJb$o+_#fiQ5Vb zV@-mPT8iC}EvlqOPL^Q&#k@$tfBSN~nYb<6#8iot7Y-2^wAkvj{$m-C*P!R?4__ zqbV7jkuyNmG9lYm4ps<EfbR<;F23%Uel^kqoD%7I5tu5VKa(u%nt)SiFJ_`1rywuyH63dKzq~QRSuj5GJdo#tGf+{nt0xM7mMA-B zWttRR42-2fSm+c*##y0yqNPQ4FB+dG_kH^IV93_%J_)8+Uy~$VboNNI0F2k8_+~C| ze4UVlW}kDtNMjHJYTL!rP>_=kR;n~W(;bq@EgIrUX0SJ};ACZIey>wk=jaN_w}Pl> zG4N3GC`o0uJjW3#P0??>5DwU~CquoJB?o*5j;qCilLaJ6LvczmEgXp*fq=ggg>_*9 znc5sl6ucyDDs2Hd)=P$+G{+FtVHb5*-oupV7nrUt0Yjc}f}+530g=+6Zlp0!xmuoA1KE0Lv%;T!U;e>4kS$uZxp=E30-0(z2ztsnK?QAXOm{ev^6OM4 z0CYf$zjGd-UL`xoc`7)mU2k?9PC5VMF1XLogsd&SvRH84FY8vP5Rj*CoFNu?NjD*c z@~>RI6?WEXVpzVWkn31+P)v{M`}S;D7K9cG%)uH_OWcSPjxU;P>6bqTbU@y4{m_FXqrE?EMkxP zRpV|DCw`D(hwOHzX1(>VBd9sN1B^C^HJxHOTs$Q7v>-F>GSZ1na4n)Ye>2qeZuO3y znEaP2T-77H12<8eWGmtoY@>^4g=bJ*PP=phpMZ=1QY-O00;n_qI^o>B{PBWF9QGoCP?GB1AxpfQX8Mhzg3}fq;PFked~d%ZmV_->=v5f1g)XJw2PcGy{dZkUY+|Naj{_4-ENlC*%G9t);)Ft~;BI+fxs3^Mk~G z4{!6KQ%)!;p$c0r>^SW?ZAV(KNg($k-l6mJwxGG zw!2~MmoSab|Ki!hHQpBuu}vnCF^uk%Vb~J3en)b5gRm65E$kMOZv3+&qEZa+IVVNs zI`&hDivR21=p)NXc=t6V-Z#u~3VCeG$kNAMnldK;2Rw=X5q)mV>ym%3n7{ALkDPNR zeJ}4)Xku6TFzvcKNl`i-}C8N6y<;foul3ZI%*x~#v8UhQRs%6V`{VH8arz?$*e}RhErsK7#cym-8;7joqt9b1? zUivJRg-hMrmY8s=Qn*iZFQ zvzilwRAFf|SdP?Ua5i~@GX3euVmamzk~j{hl=LuQ)c&_7AZ?cq5N54t8$?#gR?vtF{q3YYPN6(V%6K7F%;~02 zEUlQ;*~N?)qz;pwnQcw@+i`s_;C8Z*en-+y)pq?wyM+R}D- z5oP87gg~~x&@$|*80{D_%4mOTP$xmuMmQ6|{}A~d@R2e~=ThbnjehBrHMA=}sli>N zb_tiL?S{gn>|l4a%RLaMwkMp_wchrveK|2np z`=;|&rLWcUsr#ifwf*Tg>!yaN-==smdTI?cz z1t$2e`1o;S`yU%kD6g*5gQ({}$W7`2`VBq=EZ_^;_n`*sB3@0jpp6u3hoD#w$i~cx zsJWOes=3sgqb+eA3S9OeB38Yyk|0K~r#35V*lWt476A!>^y(iHVO1f@qP8iC_V;K~ zw?DMEPZJF()OBz;3ML9==_(Dlq8O||5o$-E0)~$SoBRQ)-K+?XlI)x1S;2=a`M9ky|5T|m#rwwes9pYw zdn|Y{Qb^nWcB;vlvQeYu>2}xDWE9Zu(0^$}KqL2R7V}#S0S$2^2^JsSAkw%W%!u+k z4xP=C%{`u>6=kUNYi@4LFN6G!XZb6JPC(NewNFHOKZ1OY5Tlc5pcXV4=Xp?iw}5h2Nkm z4}VKPMW1A8#V2Lk4%-C*4-*maEC8o z&Q#u+(%X&CSz;}|>;Y@iy=m#bP-f7h()7qQvy_*=<$^FR|5JzvXF)nc;h%w`TN!F| zO#}~CLbRzsGag9E5u(#dKL6`iKU zr=jIq!N=&+)qQwv70ZAjq?qgYFVpxIyhK0wOlu|_0!xw14OvlS6ijjn%}8aASFqg*z+q`o4IS&-|L56DW3;5?S*y+sopA)Ow{Wt>=D z*?R10Hd1XyE{>xGw3`0sSR?EeR@wGlVo7$SIflW?ju@`Skuy?7qgm@sq}3VT7C1JM z5zq;#mX^KmeEPWou&v^qQr38r#xhyI9@kR6-l}3`iSXBQX=Sf-Z2toE$dMVu$O{@6 zsdyOYL^LK=D#i@twaf6IfjbgdxHk7u&%#X3@%?37Iq}cT4IBa^eflZBk zx=8Wq%@4q*ixi*U{9o|tBE_dSKPaExY~a&HicfEj!>7%SeA?W=r;8PzHjl%n&0FEq z#fndxKLDRDR(#t0zu?owicgzAD4#Yr@aba3r_JN=>8(aSz16^{OBA2p8i!ABZG}&l zC_cUQ0r+%@;?rCI3qD<<`1IBX<8)}2^mZek-frO2rHW5)kHe?8x5B4O z6`$Vz0DQVs@#*dV1)nZee0uwX^6BjcK3%H#^!7M>dZ&?3?=If=`zzKE3ln`SeZ$pDt5;dS@)3?v^I2u!ejC?79$!+E5wpg#Ji{{@ytHj__0kesD~#YPI5BmFs++t9JPBXqlEY?jl*y#(aNF z*8Bf3$wLcR*wj7;YCeyje*o_PH(0Qa&4=};7Uy-_#SOuQ>tO>rqBOKE zQ22jGiiQ=>^op;HYu5^2@m)ZauKe!l4?NsUTT*X3v@yMA^c`47O zF8{RS_NN@mb}4a(Y^Zs=Ft5UMi3=Uv^73gfT{Jg(>5{wdA@Y-}jpA!}yQ5t^1(Huz z=1UA6j&Zt_;`xl10ftP3A=9Q)WmGCJ>Hm<*5>5{CMa*Y zDf@8Gk^*5PT1_fW$m6=bxm2SPb+xLqD6OFCZ+EF(dC3)}6^iM}4I8~Ag1lsL&dXvD z)mdtR~OHj1B(+&&OJr0htiT6)_y+ zg?~{>2A;i(uV5-kV<%*v-(J^0JB|piqq-7)l0vz5{40@crG&&JDv`!=Gd3J#5-b*S z3h`2nc&Tb>J8A$sjQ1H2(g`^peA7|mK{oMz<3TzxW<03c!#l|FAe$I79_XOqCGqiK zNqs!n;XfV^Rz^D5&a8vg`YE%aozzfpEP4D=LhF^n*wx@UHc#+!OYH$_GG=X30y8>6 zH+?cTme{Od2XgmzhIcqv*WW93Yn*O|`_Zp|4JJryc@!@d=^%$0Q_eJ&$aNLdI9HH< z!?J;?$OSu6?CLgg+PQ$~1~Rd@%iaRVU-VhbQf^V)r6_K9xQs}Nm3bYtU?JD3q#&FNuvMaS(gIdX9RGW~pH-6KSJ?R5;K3Va=dABw=S%&P~)kY{7a-3WQnts{@& zcI&veM2%9k56o7+MNzf+b4ekn{T7uK%PSR6*0IyubyjUp08}HZF`fQbFfC};UPDd< zJTeY^Qvpwn1K(D_^V|qHUDZpoYE4l-JUc2&K`GYPQ)Fcije@R>1r-~Eme(_P3R`fb zD>u*SgYCV%&bGWG;>6Mim%Iry%Su1DO`%Amrh;Pbx_yDY>>a`W#z6HK~ zgpXwZR5_IST?x4orv|#|a-f@uPtu>I#=Bkh@V2WO?{?FG-4tMV4cJ}VLwl?7Z_1YA z-!wJ;VY!UQzqxAslYmYd&>1kfVL()ElMHt3Q}iSnIq;=r3hBw%j_`ZXuFDCv-v(<) z+hEROBgTnlqdDP|s%~2uXLoGl6p~bf#2_zcVA~Rg?@B-{3BJk-i&6<V3~(yVo)u88mzS7|7<>*;3=>yD)V8q-krWmU^uhJ~YL!3`*qDZf;7X?YNC zzYk*8;ZM#@&B>a!aQt30-&|QZrY+rxa_5D2=@BeUr-OvQy*H#coJQQU7J?sh8fFF5Yw6UF@|;y$k8Ud3@AYK&Wo;(kjH zP!xCMbaT`F6GglQ5${(K_cS-%)fjPd6cHxy^6)6)w@)LaO|jcYCiR5t2_Tl4TqC}V z1wf-na?98`wqf|_g#6QMng?L(BWhff%2tw{+&8d>I-Tllco%4Rtw!)|G$f}g>~i;e z@4a`v?su?TWR7o9~$Goe~kaGMnCC-x1src zSD9(84w-1TL&XZdhhLs(;wb&EI=T$RQ_PooQa+^ZsP|*zG&Y7bN#Vj9Tq-ldM~Khm z@Cp8XmVZb1_htTlgMZOwCBAX{ZJ$4fg4Tk$DZp|KSS}4($b=puwTH{J9hZsvF3h5~6~P_!3Ew0lS^o^aU$@&%P_kM0&=t(S zgX=>2-4qLHlNCb<>7KL_(vi9dNj*QUB=vSmQZG(Nl3Hn!vRphCPLF70wW}`^?nKdb zJf>Slx65mE98oOGAXD0uy#y%1>ex0R7u!qavh=i(DXE+$tV&r%G6EsYRi3?>@RV4V zdxG)8AHXOvpDST6X5J)h4&!Pm+mB`({|D%fF3HV30CKu!4ZyRT^c>UYI+z8KF?N^0 zp}wTkwYZK(v?lyJ(M=a38^_-nQrRW3OYU8?+v)1=-_z+{OQg@)ad>~sgKc6b#CT9?pHXMQ`01HlO9oC)TjM+^8HUqnjrGJMw{ZDL(w#!pt|47H^>ls))mcAY!YE_X(w_rqQWpqO_yUrVv zJnIsOlIK@ud6u@ZI{q$S4$k)A)(uJd2wi`g!Xn7;?OiV z>0nGvZo5?IG=IzQ%FX`Eg;SBuboK|!2AnFVBIha1z>WM!ux&GAt z#~rnw?<|OF^z(M+3s38195eWlf$dk4ZIyZUqb&(X`W}@*CUxcx$#rsdQr~V!B12}T zCk_0Zq(UYY&iHv6Y?d?n1kNQ7`)tfZC`UWP<Jp|5r@iL^d4IDH5dxL(3?mnvC`Nz@83(IXSQI2()j?==#ZlNO54uBi{**Z{OtYG z{Dso=@i=x|&aj7uc*>mBh{CA7n2J?ffl=%P9?@z)r+}fe5J%L00r%O`eK7?Oog>}% z0e&vrwO_)yMuP8$dr-O`fcrd-@*uY{F$ko=ugF90vt#aaV(xQe?lm#@V9b49kdlsKvq6+?SwcR|+ZEwCOX+ znig5tv4RW0BDv@Mm63F+N}l*W{SO=6L-M@CK7!4I@Y9r+o|OmPq+A+vF@_GW1#>-W zMQ1^lY@!%z0b)2#oKY(bNQ+NrD>*lKoST7vMgmJAoc$k1(r%SJGJCa7TQS;q)8{Rc z2JEGIXuAb0Xr>pfBY${v7W)`~qYE#>rwI@|X<#*`fECwt^)Nel8sFW*H?qp~u?vOZ z8HlfNNvU!@3P(BItEnMv{T#=xM(5FbUu44A7Q+(H z!$wt+Aq%5k6~vjf#0f`o;x#^~;%H9jHS4S~wOl`YvfX$%3k^6;EBJUF>nn{|HO}s; z#HppxE+Smtq^lUKDg?N0Ea1KdzydM&FwPnH&q{H|byX#yPvX(rw8~J6n89Z>IZN_ae>^zxS&jWF*@LvGkt>GUiH=oQz+sS8M_zezfxo$85 zrmuxuLEfIrBv9l-n`4o0;>aB2{}#yF!+R)PgK|`7h;~6eTG-J->0hL{)R13-zWXvV zB15h+e1UG@XM@;R(7*v=xZjKzAJ;L?iDCf6a2ewhI>xzC41gHUF+6wFPT`zIly5HV zYpK(Wc9sfWrNDfya=MobUW3yLL&ULIAQbaSa=i{XsW&kCZO5|%NW)S-Ia0}EM}%Hd z@SO0rmT29f$!jWl)<&;MHg>~HR`z&yz_~2yd(jFbr|Ea1nVa}-vG1vDDsmyHJ%x>=NfT- zM6lQ8e39`q@7Afqg^=)PcwHoEe4b$Q8{6g^Xq(}iL{29B2mNMkN3JdAQpFuH@4+jx zuAOq&96mhwJ*o$5FzHPv>t*`j4_p^=)Ck*J!M1R2D~|3UX7EQ0voi2d8F=itfuEIu zcQgiWdedmgCn-mv(8^QnWZ039V*iOzao_OZ6Ry@?*a8Oilr$6JOvca-Ek^xIJ#Ol&h>#IhYhttrXYdz8Er^&tInz;2Peke;NzZqI(EqC;&xp!7 znC&n(_BS5Itf6?<;AjP2k((@xwTA=#MzP7Or4>K!kg$NFDDs!-)Pmm zq%q4_%xkc%hELrz-J7yTC+$U<5?V2c+6|7!)J<>%{oa6p3-D7?^HXGCV1GZS4-%9f zGmD${()A*hly@gZ%cLTKb=InHhLejJw6GVTx5*64k*}I{!hZ5`HD#QdNh#J~8QV(m zdUj!GJzC~QAqL@?*_-K+Z8J&X93}&3xV00JK96y53G)wOSmNP0M6{FO3DKlwFE8P^ zk?$sOqLS)yI7Kf1N~naF>h|tm2OX}KM#!~r%ANlkl$~<1R#-1q>g6RGaESt3ssWcO zz-1b6nKXU$X8xNJ4V%`rcXOlntw!(LG4Cqje>uUsFZml}60j<`08&@PIg}l+Zt{rB zQ*_rLRu-kNbh|+gd?8hr!der46Zz=VOrM}7fq7USc%F`HiS_+_twwceT{l`z-=*lU z!oMn^4}I;DtQL~kU)2;pv(+MeFM(5=7om27Rib42$Vv+Z#=L<7lp| zYh3)XBl=eXsBC8F)L;^MZ06<^}paTu(2zvJlMM0A>C_1R{3vA7#7js zE|1Kpp)auU#z7?nT~RmYYHcXVt*Vt=sjK`-)dmo=e1sSTvY?%!);bWs6YaMH7eQ1I z>nfe>DwS-52C#$ed-Ug>xSfL<-(x*Lh8R~xREEEZuslu`7O)P+`GjU~CR|A!uhxwo zC(K~4tYMq}9o$}U7IJqrzMH)*;W-pByalnhL2RobZTJInQvbuEl~l(k!4zOB2s|xO zU+=@T{LW18<*GkUPssDUc6lG_Zr`WeS7XmH9}Oz=em?9A-34iq9Gtd$OW|8ZJ-B3? zVsfKX>%n1S>dtnP<==@S93lMg(6@;wNY-9JQ=bvhVPPIY;ZH?*YwwZg z*#A%E&bCch?k{k;``fls?$g@dzuX(!{(mdCFi1$EuX^FjZAzUNMgKur+}S8@Wq>j$ zqpabKcH?x%FT(N)+LM%b8Ce-+lB2~V>$rM48q0{Y z{@sVjatY%Cqx&n;jV+WPl2-!od1d0Fu_x-{OduecY-5vMIvpd4%xy)|L5d_I@bSo{b zuD>XuHa>ridI9+t1N-ZQ-5o7{ICfu#4<2+FlNV@yeAt*esNFv@raV*UO-=Pf;ok>| zQ)=vkyF`8P#g3>Cil7ahuqRvZdHy7*ORb^kM66>CY%`pOfui0ezc;o^Y8g>BQUgYh z?1z(#15b?Z_<#s3@1c~0DNqEa%KFYzO-*6x66p|K=z?aIw61RMjQ%!iZVkHKQp`m{ z#$q#4I#cO(u=5fv;aiji*%V9BIt_nED2_YPj}s}54U=k8k8_ObfYclNYMU@C3`M29 zk5ol0{>8Ftx_pELVbxf=_$G&P?4-x830Bu1mkSTSQJUA)T4TCesZiHwz%^>&L8W^J z2@Y-W5}M}}nrn5cYZaO=YXCb&g&d#_s=3nP7h{8^(!~R8cs08Exe_(Ih62eZ408dR2}aG~fmW zxKRUcRDiE(z}FPuD@ymYFwcWI0Mc=WzQSf0e!I%N`!gN+_F%iBIHy^(4Q)g;bLgu; zVLJo+3;zwGuW0k;hOG1v2YGfU=kiofabB}%mkC{&Fs0y4qC>({3SsZ|jzqx`N-G8` z(p!o_)kccEB|2qd&yuM{N&0zRK!Tv};f|sGAn*1>D`#blt2tBY5QC^==i+MCc6^6m z!Cq+ZrNhY2DQE|%()B4Uvtx59W7&*x!aWFGv!u6;2|JV+%j8Mv^8SE=Z!d_CS_Tw>Q3*6AD zT<-IvSV^=LnT5)O>VR2N4RPTeonudFNIA37Sp2-4vTR@+Hl@Tkcd?o~IF;fZ!154G ziR~-0G_eO~QA%;^MXundD%k#w-5Ql7OTZI3(mmT}}-e;I52Jo%OtR;w60`DXje z6S%J=w&4GWXOWNSPm$*uOrn7U!9fW=`oSKu91m{veyBdbgTAs%&tn~;=AptnI~(@r z*Saunj!D0ds2vJxegA}>)!bqoTaD+~o4TCG^HEp<{$V`55FCysNL{l@(8!IW8+OB* zUCwBkBFD7FG9hkwq^RXP)NmkY3|2t;3xR>)2skZv9tq06qa^LETJ+wk0JmwtZ3^&R z4fw7C+^zxaP-8afqqw8aMn=y!sn>ytjujhXb( zb3U`Tm*qr#kdAL0%=J<5GlC7?g>ow@*}CD&R4*Hy64|_M;osQZE_~#;(dh`qWB}y$ zQ?4*u)iJ3kYM&XYGdAW5j^ViiOGzM{SkdhPYkVJ?Aa25@9+7TMj838vpwo$`t{pdK zZera0(l*=lxbyB1^cU=VX?I-ems|*2u}zHZ$NOL$YSJ&s!jp^*(Dx6rkP*cpI7PaW zFV-f>>%s;fC&&|Ay3Ho_zZ1=yNzR&(l0y!0V>m|1gCX~phBjVk!7q<|jGcwW~|`wFg~MC`9D!?JG2c&S18^KgJ(*0I@k zX*bA{aHPF*m?2hZ_fliV@zSm7Jt{!1oTsx zAD)Na7K1k=J{=PG43>u6vh5(`h&3R+(hSaI5icYA2B%w%pd%{F%-}3?bu|wp%F@}< zmy(Y5fp#&|PjYPJ$U~oRlfTj-W0VFwDSge_zoGn`&6%D9%r`}YPoG?2@Pwh|Am%Dp zKz_eS(lK4T8B6xz4pYd=wQC~@9194(!y7p;Dd_lT@THqw$tU$aB&B?qo9x1dHU*kD#jglQFyqn=tf`9f7r7Im5`z zkz>yCPz<^P;d@;}K3^8>h3?ZcSU+L>C6 zKg?KGlj10#ar{_o9PCJo@||K3LLE8ENKK^{P_#;Ves)yD0;yB?OQyWYx zi>#{JHd*Wg52tlCECEnZk`1n8Z(7gYxoaBl5MHnoEQ8j9ThB4GM#F8T zy239}E6BB){^!t?9i9NJIOP94hP}MMj)n5^tfwmtId2uoYA$&=-=F2ROc%Sc$hIP@ zisd%YyX1bWO0*IdnBlyaVEzz+t>!c zIUGpNjdm%#Vj8|dmYX#+e>O#eD+$@mOtsGmZ<~fL!?>OBk;s#gccgBIOxU$BHg0}| zz9&LHKRr#YIhZBRIqMc>j;_p+$p{=Yz^at38(`&EJgTKHMWX^x6X5EEnr=5oi)+S_ zs|$^(hf2A+kKm$&+3CjV?a|&;%OFt!+PrYu^hUb42T7iINk!Uj6sH)Z$W4l(G|;}w zYj39^F|JJv{*6gB7?*tDn(x>ZX1G2|=zo(F+(UpQ14vl3%1X1i(rg|x#2}A};gi#` zP5^iC2PiT~5&Y4G`Y$8=tsdb|h>%8vKgS|Wn-N8LGs3Xh1rY~O5Z@UpDZ}l-W_ZpF zc`c{{p2fg#0*ISNWzp6!@F4)tj$)p}z;^%~ih#pLos#m*h>~~QEm#%&1vIgJ#TB1% zhJU8}%|Yll*P!13#BjeC3j|fUdWIH~w`usbxryXN%Hn;W{*GuSwrnOZ%cY%qGjU`( zXJMY~mR5(8@^v_4+I-$!^dhyO(fsi9*gtyQl-jibb5kl}4+y#UnTb1*rTYkSw<-53 zaldhiVrFM7Z1W9yq7=Kt4!3KXA z;FTSPXUSsQ{!UQn0q}Q#Yg@RMz*QlaS`b?VerHn z5|ab|;+PnCeG4(5Wx$j}^!k@&tS915g4|QRJn!X;oYh7zuQJ9C5;i=zai+~MOJtR} zJ!c#mBqsOhW!D;(F|uZOB0&lqJD2Lsnc-P=ziS6r=UF@`|2@IYh5W<7&|> zdXs2ey~U-1^k}IQybh@oz`EqiCR!byHmVjqhdW>1bv>6ii7b4X7^Py~*;9{s6vdoF zKx_?A1u1zYE=WlhB;}>@ZN+?hWtP|GwQsq@hoCA>ln?k7&$MSZ>i*6uSL%IbFM9vYm3+7 z<>tK}6Eu0x^Q0u`s2tkbA;mze*Sdum=&Ww%b%uZH(c@hU`TiC8a+P-BdaeHU=uAz* zYjuN{fqp(ff9Z=#l~H~h%9I!T;xj)>ao`Sd**`)o?_^YXL!Bs{lOt6mD# zKS<$P(3+GTM9!CHgM)3ivAuvyuX6BiEScjO2stZD;MSCqp7yHc0FD8 zBj^v9uRW#SkI;KNX2p6hI#J-V6>NspS<2(@Cs-rHIxH!**JBviDWS*WKaspRwXTy; z?Ge_6Twb>n?j;=x|53Aa+fElUwd-Mi#p*PdlH5owJRh<>)hOGs_dPsimhPkeT)`bJ z8L#a0BI;|9`7boc{BTxX=3hFiF7xl3RhRis%&N=$*Jjma{@-TRWq!er$@~|j%*V$| zw`N%8FS?Hy>}6Q&Ck?(|p5IIv`?v5~#IrIBufP{OxaRvT98UKegoEp0m%!fBdNx5WU?GDVBcO!9DgCvI9{|;;7XK`D@-;b)K?l?HSN|!@HKS)lrWtFQ)sRx zZCPZ^)ub7V9I2rtZt1a}!p(qNNAtojp>;IN)=^cj8jinwc9? zGE?g$HeSue4u3v|+d+-YO=_$V*bBE!Ft%P`JAtq@mL#8wGd(4lPQr81D27rm?In|3 zGB3?ctu_ngBC&c0cWTZnE%U-GcB+B?9UADTI?G7pYueo>ZCC7k7i)Y?du&g={&^ zW0ZW|c5p`Z7Tnb#8r#k$f_*eL);D|2#c=9uh>>O`M&{2RN6E;yEX0-ltu0E9hD&B^ zS&?Yv+mqWIjtb6H59DF^P;KD*WZZ!Z-t(4MwLn|L;Sgv;b@0CztU$+ z+SMp5qajDH!3KN=98uFI&MI7=lsm&5|Ar*Qh&&Wi-Ni8r!MBOpGhags6Ex25E99+k zy{_xyuyr2$f7CF>Cf?oXDHwU8&quI$Rz%>ydWr)sbXK?}%&iDC(H?sczF8 zcdGl>lvXNgjyx5Cb5Uw?wIAI{ugUGI`p~8+`V^xT+>wwcBFwP^AYM`_lvT-2N$|Wj z8dUK8s83?=(rT79(h~3oKK5~N%COocRHs8xQtzN@%CA6PVYRr|gdt99g}e~6I#Cx5ONiL@g)OoiO1L+&%w z9Y}H?+=qEx>u?d>2{-%;UZ=f`_ooQ|Lr7mN_p3WleXm%JK=F!xJjY-)O*Z482|uFWXrYmF>)^Y`ygiQHN{c?3XXgXwRE*&*r%2 zt+?myxaXa^hiTf0XgUXd1h+)Udmw(4;HA+YCwP;+--8vHg1wNh`aOz<5OzmzQdk@9;Fp|0$>iA+rfG|%DJ93I>zgoL`s0Ma?3Q93fiE99*70iqa{_e&!KK_DK_$$Pg0Vyb2pY8%35Dqqs}L- zj%vgVeu6b90oAY4LyXl`9@toCZ*6X5;c|y&}b{Li2d25Xk zRp%W{>$YF=j0WNkeMxn{q=&g1_vZj3+J_%O(NE%*Gi zz89)V!&xLv6!zv;!ZvRu?5(YYy}gyNcVc0Xn%65ieWM-Ji=K_4?jaZnVBK|5ig0bkH+kuCh&-_UA5JN9`&(b7?Y>g&;S0vz%xx0B;gAr z;im5B4wE(`RaW1=BkmqcoWK;1|n?uhcijZN_bBh>!Hj2)#w)U2!M+U^6-z|3x z{|fqRfAK=>Ltpz)g0E#b?**iMI3XV*)_W+|vWy=AhDVr&1B+Sdr)HpD1(GT8wsen* z`fCjDl}UE6DZz)_ABEqMZ)w}TZ;TY(sFlQ1NA=TU?0RtHJw5UFes9)vo%gz>k}k$w zNucaiY@Yocei~`42Q*OI7+nm$h7FUCB^na^XGKcKiX_v%Qhz?Yes2G~_4R&>xt$BJ zx1+NKR-!qC6s{Qh9q-`;nZ1t7Xv%o#n+ue;ROhQr<}IA=(5w6|bnS7XXXrIfiHNo= z$`c7Z-CnQSq1XAzbNm+P&XNH|oZiw^XV+OEv(Amol`wnMo}%BJ4xR*F85R7U2vS1seIggg@PG>BoI%X;nLM>L~qUL0+WeHID!phk=#`MCtHOisvK zKp64@JZUJ*?1xhajl@&_7Aap$M0={R|LWu1wh?Ud#Tz8aUP|zG{B<}_Q7)8^j|W>f z@F|Ozfn>aZ-^J;AMV2!bD|j_dkA*6H4UhvGBE8Q2ucP(`R2AaJ?-LE&_(MYN3*)Pi_T=9G@qQ7vaRUvYX-A5w~#n zt7uT1BF~93SHswR*H4aazwl2KaptBG^xn51@?L@n>k&oMpN}axenDef-mTcF?m+nz zZ1(6y)3hDDgE6NV{<;r)-1rWJzo3fwHWML_AmFBz+480p913|ip&mfJ06(S7NVZ2u z$cz|{KC`pfC@nX#axO8!R~uu#fH#Guad%yUb@WfOoxu;i+ErJcb?dbXnUS2G8A+-4 zZy0NRe_BU}k-}X~D@C;^g1^H0H|H3qOOrbITSDGnBUrco4DeU`V$oPBU5#yeH{b^~ zz?;BCu}n^EU6c2`n%FOf`}I7bW~@tPu^RJNg;C5>EFf6#WV_d4Er+ZwC_)+Gg!@w_ z{wGy|$*R&OTSWfpHmuD6w|Sikf!ukP6SFQ#h&ZpHZTguJuvf6(W$ zHl$i5_&drG4$jdR&4s_3)3BO@x$GYhp3g;g9`%afNj>Kum~q>aiZ{}pw!_j~b;w>G zF_ZxYMf)cj@+TUNgNgSsA1Mw)boL9^lO`S%&yt`|@k>69g`><_3UE9r)M*nNt#(zy2 zp08`b>k9CO2E3sFzt@1@E5IK#;15!<7<>gIOP3e~+i+74vv1U1f!i^d2m*;(x+2fYy)p5)7>id@G)p5%+Q95jiS{F-4GKLIEN9ev(4}WEg zaJ;v@i?Y{5Ek&@QKSm?1u>4cFLHbAIDNDA;n=K`Y*tC$(tx)V;B5_fTLIqD0Cw~XvuLhA zHCSo!fre6W2GgHKk;`V)7QtxXs_%f<7N>N$@_(Ct27r1Hb!KDxayl0tOc))RTgqRIZQN}~ zq*FNOn5IF7PyN=D@3`lC@4Xk^MM>nrHqR>a*(98@O&w-*{twHX8AemTv9ETo7&7+# zJKx{w7+<28>xn<5v{kk2wqw%@_iZ3G>#rlju)WW+JC02kGKH+!P0@F1lnO~w2!dRtzAf5nw;L4jO7Zf;~s4^OmALey%L6BGqr z337rGeMdV|daUj-4n5D9Vj1$ia@>`85!dV4+%!0Y+fh|h{R^=!Q}QpyB1((U6}{TR zvzPmf_$NbdKVrAnfG;$q9>liTcgA==OoW8=MT^bQy~$aGSV{)rgvf;A%l zACX6%yTZF97c<>JTk8<4;BbctGbJi_AR21AH*9!AL~8frh; zuZGX~etg$xDjH2FKXv85>aNU=j#{^5Mfg*sJm1oDK^EV4aVhkzOHfm`jEF0z)9F&7 zHcjv=E!_#D%P7{SqYyLbr-;dG3u{?+ZKjCs^usoy%Obw=LTb>%%F#*GM>)$L%@nF z*)K%VKa>1J|83~=$w|)Ri#&D!THP;f9niARU&5ES03OVNaG6Qf+cyxqM@z=r=`kBx!edrGrGnx@qY4=m}d~B zsm+7u$vTRe3{I{*To#t$rj-o(87Z^MR>=EmpQq2-zi~q}t=a`v>`wBsC>9F-g_fT0 zO!C|ZkDu)|AFp!$t3H65{#86i`d_s8nWrysm+-Ho&xONyWclyR_)+^Z&_6(=6edlo z%|{jegQ@(NR5aEjcw4lpnLO3T^Q<4!`40XYWo!|H@1c%dG58NvW-C~L9(xfASFnQZ z$kUZRrrIe=Lr79-m9Ww=r2$95Br@nYKvHd%->&{i!9pRYUAXP-qU;(|s=5pLPECtF ztk+BLTDEy)l)TAa>XMzIyFL#8by8NqLnjQL6%o@T38l30AZggts%V|>@q{SfG6`mc% zarl#@*WJ)-xtYod+86M+*1?rgU8YoY&0Dxb1rX2D-_nW=c(7^(@4=b-k^~o1 z8&l~@vwW6S<=TIdy%_J>g`Xb4ng#Ft@vlH;!oM72;D14{Ny_NXhUyfdo#EXB*k^hp z>)Z?~Y;^K=M2oGzObh+;4I~jQUXrw@wCVuhk6Kg(v+cRH&?ULgHInDR4 zC_&JN)}&e%n8kpRE^L7eAB+SYwwU2X$`p&a(GI&lu6@>c`q)I5oFA}wZIjROF}2n0 zis_0k-S!6bR_!)RF%H;;jeNaK#N3C=&;y`%`HYJjcRp&|t@Cx`Hl>oj1FAQqyiSPc zrJTVDtlKO_oE_~IqG_+P4a2s=bqM+ml=AW+NG10${60AO- zuY0dLb}$H@6!nH&|%GD!1MttGY&N6})?x^@>wl6P`6}Yl^=S z>5>33eAv-}-;4qs4VQ{$-f4BDrU@$92Gk{hB`A6Bl)YrVFBOezZ#VjErN84ow=a)Z z7uD@-uFK3wU)Bw;n?L409$98*70j+9kQtCzC{h$SZJn7N>;k6t z)z(1)9F=-WhH##tbuH4h*RT>7ZrE1YBSV=4l(>@Ao>TBxY)kro10YR+k?p7)h=xOt z_y)T|?JUTogDDk)FYD420{3V~+(w$W$k>iGYZ^;Vj&wi9>dLfS!;Jn=o?kF~MhqDe z8O+ifDZVnxxm)PKBUy!LHxawT&@-C43^SLI_na;~Lf+ej_D{Bx@l~8}+rmCz`WD1W zJ<>&X!Z){#KO-XT1oe!Fv=9*edBvFpG0u#1Wt^Cmfs4{)>Qp>+ic?E%-bl=kY>X~# zWAyDIZ4BIUk~=}e4>kHeDdA%*3|`y7JlgeaBi?QC<&p2aPx!kC=U#fe7(_ErX0t5K ze=DnESehI^MT>J2%H;Td+~nxd7G4?u^|2W)^NqWw6<5m4fbAh*%W7;t+XCAftA0iq zcbMD&x~2Vx*HL8ah~Gak#zd0#sB2{M(jEn2;6Zuf`H8F@8(g)#cGUXP*3 zC|yiUYI*F$IQ|rPl+!$VIL;%MBRh|=uN4cXH`>`var?TW_!HUE%|O3F3^wcD*_@cr z>|8Y_THM}6A3HR%#Z|N|J6m%iZj8US?SEv9BT;=1bGwo2(YAQIF@JyAA11c9Wj$bD z=-2ABrCSX({^_#p9#utO?Ike2Ni+WGIO8*F4`73=HT~bQ6&(|*tq`hHNSb*Gd3_PS za+azvD&Dy$1vtBVsyRzmWrLM&e92rDgkz<*Auu&6|-JSvZW4CHr0VzJ_zWd#y8{Zux;R9 za;TlPrJ>2(a{%jgNl62=4Cf$Rz01wjLE_eZR$W4LGZg{FW81)Do;k zH?SH8e^4P@y{)G7wHm=QF4oj-72ULo!F=AJIt926m0zComAkeEb}eQq(p zvz$JCDe4!1lJzXD?kHvdCWTG`G3kf>TO6HIP36)~sS_=?cI*9=`>XjjlT<-e0w(-W z!d}N@R;DGV+6K53l4&I|*rB50E6;mT3y{<1RFviWW;g<(YCTtD6grilvBAZwr|Ln{A3AjF0WJ8de|++4_(Sv^5N+jDSKojr zmEE@fZl}bN^49Pn^pP<$p7bHA-P_{u!4CDx4nMJ6ccGFN zMWn&4%Q>gEf@w~XHOjBm2|XX#OW#|GrZ#3t+Aea5uCYs8_G|35AkaSo1N@P&^-EFz zG4XDraU0)VWpkEglelg1YwKmPn&c$mtER9XeH4U+4vOZEzRP>E+r?^}l8Dz zG#&k)(galF(q!`e3U@TpbpOOOjSY%uB5IELPpP?o9BK}Y#)2*$1pMx#90$AgD94V* zTcI)Zb|v(!&>PC@x41Jp7Frlhs4JYOYn0PtZ4>kC-)GrAEzvMPf1sRa2h?@^9mkuW zADixHTT9n3y74}rkJX{_NuqWvl*Mflu~niON#2f77@EdVp6rm@6%4t*7W>+M!27Dj z%&gkhDF%TfI1WPKcnGCRbE}DCPiY*?ttR=7m=lG1-oYF#Ziqeaz)3&CMxGPxdM>Ls zCZ-sZ7wLBtgmKV^>ibZ4pzjaIr2}{Jo&-@;P?;-maI)Y%(eYgBd!py|OWc=+?<~Oa zol^wP;+-ngJ4I$OSjmu&#(05qOLwwdz&)S1WHwW2a`;YJ6daTE>MX_|8eTS#d1j1` znf3C#OW(V;um`f?;oIT-FdyY(PrPr0~w|aIg^^bm|;b z1UtbwsOwCszV%k|V~X*sH{`xs%p2lesUHzPSXigc)%&xyUUej1(o@dm!dBbdu(&Wb z38Uv<$_!SVQ#{7_@#9#3sZN8uUjusDGETV1LUlgAe%oJsZvfwm&hOWdhB+uTOaDBc z@Su(}qyWPjaJ~Yp)qo2W;Nu$b2?hA127F2ZKCJlmkpI$v&%v=K>bCo$nV&x+ zp>|CB`zr}HQ;VCKN~P@4fF2154o=FgM!|=);}AH)vDk2-ToaA{Nx6~9Us0C~l*}y1 zJ>!vs<fiFS3x|EfAd8U09pJ^v8 z=rU-eeWumh?8MS#M-FN@=Kg4BeUTv?UWjWaY?URs+QRE3sNGt3Fh&K>?%-SDu@Zst zp>{cpZCF{@6;9(zbSQ1@q(|6ZIEn2I|f9dif-IMxs- zaFRnH!D+IF7^m>}0Yk4urC)_136wZYPxv5JQm_G{#2K}_u$TW!hyf}I(5(S!8Qm@f zR}0=902-bn8h(oQ7e28t(s3QLb|h-Z3||=!__sRHGmEv;lJb=0>GVagwI~+c#=#j! z20Ij7s0X*2T_q0Bx-#6Q@EP@Rm$08F^X!j9+cb2SIy41b3=R(>Xt-{Xeq*n%b^?Ld z`m#4i58X(yU?pqUfLXIu=jU&~{07$wK0(7CGx&0Y@45!xSA^Wn!pZnz?vme9!0HhGyh=^o@e+{sk=%+L}I0I&OCBawF_p;duj~yJ1Ifa~1ULUylY!1$f z{hZgRM0Ea13?d~iHX7=a2D|B>l~h+Dk8`GKMo;}r)zS&^^%lh-m==5;+E7YKOCTSb zgNejOiojI*v;Ss$>tl!L-f)0JAiHj0g$ppQJ$FV1o^+ z$~O_nKs)#r%Zk`xA^)6YH1}RH_Nvv(jyD$WWBCInW2%pt4KZ^J*2k2PE5sy=*&yH4 zxr6R*qabCPiMu?EUyjxFid?l;a0}74dKy;Ot>D{GhPp*~`6ApC0^hnWSXaktaXwV# zG$lA&?tQq?93gj1wsD_s)LdQ3MscFS%s zlJzXSku$bko5sVNVUls^$ zU0!fLLi#}k+9>8*9~|31P5PcfV@i{r|`IE$`#_)tL5OyOkTwc>Vj6 zjWSRb^{d=pnV8@>UBm44KbdT7-*LI6+jd^^YqsfruxAsevY13i)CH4|OS42TcGq?jKVb}MeCYbeCWHZh>e5#Icf*-I_ zO691whffo!UENlVY%}V@d_#-BEB3PcH=@b?kfP=@3)^wSTqd}aZ4$mkC%B8;ixUJ_ zew_VU{I;R}n=p?gi%&VF7e9rNO@}rTy%^%eRd?s)Qj5s2F;c5vQ@b{*rxf!pRo0IL zE=xfY^dviTr%HJIahxWimnzZoJ^&}aQVh`6`hK=CG&*3hy zte2r&GW9#;)IGMae{l!ljtTkPjG>H#bLo%7opD19-l^_^_%+)WkFed{;@}Dx*xi=Q zRaxF|Oz@`Qv_Vlg~xqMxkaQ`bqsF{3332`+WS)c?cm*`s}#(WFcsFu zVLj|Fk$aEOT1+P9y~J;M{Z#pQUN5OO`#(i@{u%vr%;8B`?vJonH(_7-&k_0y76=`E zuHC(s0x-vGxAQD+X+X4>?Y05YQSL1F`IkZ?+%`791pVfU`X1R?jqAp3ayeWs9;>D5 z&6e7u=Kme8v;6fSGgF&p8@7KXdUWlYq;_@;FOZ7f+68en^l0H<%|_yVp#GN_eHSW) zkiQFr{}rB{S=8WLED49Kg}ks?)*?#pP72li_;~>M03K;e+jS!)oJt&)a6`y+d~eH; zLL2R2DRoI(9_xqHAF;mTh5d_hgs*-Vlg0Ni@$+GPlhroiDU0!V*l=S!e!#wVy@9pb zO*`u@te#2RtuuC=Ig)QABh{pzw(xrCYmcEKZ%25Ggv)21BwCgkS=WCMeZ5!oxMWqd zCX)WwLDueYm;9UIUIe#)6P$hQ{05xU+4)U4+t~Rn9w97OUZQ?Jx{xg#dArvOl&_KN zh#Akt?WOT-D;mjoK1hPvg*KN{!LQJA_>MbBr|{_Q8=f=PX`K=!k*lq-3mH{zeB-Rl z&5d$%b#5+llasgVrp7huT;i_A1KGq5GZQ!$MDD#4EA?Jil4dxwF5iH=1*M+cP>JtX ze|qi+`>r16wHnlw*)=J6NXVn052F($Eqi&XT+9t`pTL3lq@JbY*cpa8ts-~?DqY_3 zzYV)kLfzok0@HO?un7{{l2cU9&%$=i+rUxdt z6ZeR&LhzX2y`v`9zl`5R<){y0*~-x_k6$!&t{B^dZ6SxCjDrW;)J$7=`}X{1nX0B# zTR5`4e69>HmHmm`aw0|DkH+$NL;Rh%NFIB}%0aD%IK21%NzfP;m(b|jRw!MVl8g2A zQF9|T*2h&1JRxhKupEb`3(;;abE6wPLs6HP)Ly^kdR(brq{f49Z>!i;Zh%xXmYJ+w z=^Ch20aayepkGRGAm?gG{RVr@pJLwfL2pS>a?y7<%iA>NlBtU}5VW{5ZK}(>u?rKI zd0X-_ZyvZ0z>A3+GNh5AvvnMmbUmA#o3~Q3 zHRF=kqGxUN(!q;DJv03h98^!eGs2UWMA9?kWr{+*nVP}Sk*Rfq^=4PKYgX4$zHRfh z@X7FQ^p-;KGO&;&RUKnScwZe?*2_k?vcQ#ITFW+iP23rK2t5meD@hg1k)+G1o7la2 zZ&L3DBu=|Nku{9^TGunY9{oF6nUN$2UJ=|Uad=n6n*+;jBFT8RuKTo!i9~l+iEc~H zm9ST|CX~z;EVHE~rw$33?I@X@8_Bp07l}yvrx{C*mhu{Oe2%`)L6_raxL#wkye@rn zl_OIueKXE@@|>*yW|Eo9`T4ci30ldK17cTtolSd;5!qR}$}NLalH=FJkN(x~cPSYs z59_;p-k{iPx7T*^AiZ zvQ;XRJ;!r5K&0^HtB#urZpC2kQZj0=9*$o;?*@O8xfy&0SlP?zw6Us}q}E9y__N@B z7{Qx@Z#oP%3%*7|>z!nKzG?9lW^X~!R<R7If{{@2cU1kJ~)Zjux_S@jEASp$Tzsa6V4D$b*i%*3M{zpJ@ zshhFi7Qxe~m?kol{|=OhT1gbZ3*q|z5b{-r;Gg8!G(XWG26w7$)55nwr`j%@lTh8v zre0QZ=*QoaO)@V-(&gXKl)(`%Gip!6g!%2z+Pzer6_Q4h4GI@7>Ly&xz}4*U1zb7m zsH0%?@c+l$dw|JN9R0(yGqW?B?sR*1+C2qyLLf2R?kR$Fl0X3kKq81F=|of_88fga zuwk`AIDic}`vn_pY-1d7027@swgDT10Rzs218guh#!4gyIDPf2>Ykb1yIt#epYM79 z_dK`LT^*{sy1J`6Rhyd+CI%T8Nv&(@mFB+PKyr|%_kBNz^C42J3_xWb7LnUI(6lP^ z5$9^N3@8rw;p-a~)-LAr8WjMN6Jc7&m~M+;Vrf}fpfKH|F#%9HL@+H7Op6fbY_kk# zk>(JKID7bl@0V(k?s&aOcf6XMA-wB)(|d?310SE*nbImA3E&eyT_fd< z_vwbZPc|scUMkH*4w;zBuV%bK@U9C%*n*nV14(9_6q~eOD zD&D-k@Zezcc2;!rR*xT}M(O#Ug?BQIeypL#Eeyl{41?|7P9^2bAxPSCeb>U!l^}&A zVWEfe@>G*U16Gp!Nm(Pxs^?!HP|K(GAbYpX#=*;tK!*L3zR&W#$XvSB92kk}c_~YV zmma(sV40Ljnjl<&wz%7!%BQpOOwTo#3U{ALGCA&NC}q?k?BY`nz$pzND#XC!u*J0t#Rh4hF#f)!P5Xo$> zjInrV8H;YRm!)h-;g~YpbyCqRiH2j|pTIHiNOV4j3lkF0$+<~OF6iRxk3$5rjCeST z+G)vk;T+%nTR~}_ADm|V5NRgm*&ZFv5pw`erS6Rur3oNxQr&nMpW^kFVYyQ0{infs zPZ&DyMfLKA9jhA`N#4tmcPcM?p16^!`C9%yLm)Uv+C!i?fV;QCf|6VQzKGKy zp}>hyQjcs#-qknJ!v16FZt8e4cV>FSR`m;m>en}E2=wjMi2L?KoIWpzKHc>8r|(tY zQ|7utj}g8x`Qi|D?HU5vKL5S0)cWc*X7y=P^O*=en-vb*FARZX(H;=A)2>6&OVOO9 zybg?9#P+`imt}LEwk-}(loJ{iWkifWQlS04?jYizLX8kJZ2n}SkMxg))omQoWXcc) z8Ex4g`vef_DTS5zUkyJy;oxDP&8pX}6gW1;XCBEhDWe%9 z&GHWVb`H!)6NA8MrV4JZuS*_9FTaY%>v!P@j9Gpi?$^ZqCfslEi|JH?eOmO{tQ|3J z17HWgHNON8)#ITnY-N!;YCMDo>mNp}k%F#_+<6u~=T3lgm45;(%JaW%HgxeX`t%%u zP>F7q0by;g@*nukGJnb_-9W7J7JHCSk@^CB#rb9#nJMeBZQ`5A-h8irFb`FXjdPL) zR%PkAAByPUP>u8rLCR4-%TXEQyG(_WuPeOGQQ^-CHnR*+WxLJiNkEExR~1cI)y?-x zU1uy3b9@rNqdIO&Pfg-##RK>%;@TO~jdRUHbH_6}~k&5g@|1$vE>Zf66EoHBw4oZjis?0SZbp z3@D0Q%rYX<@Gdxeb~4ieXEj3$O!zOu>ET!Wr^?G9DMr9Jh+Ek$jETB(JHyd)Ib%Xu zil?YjtgJ%QREx$eHwC$MROhBRdbcoCRS=A03@Vu5gCQR-`9!7@F|!*`HbS)d9~Ndt zF2c;s909+~%*{cuMpxrzX5L-P%)6_ZnaeNC3_j%XwL|eI@v>sS3fPZ$InGRH5w9)M z>)5hxcpwed>C)nPTGzGWS2uq>wr~j|g{{o8K zbBM+Lq(yo`N7ye$$C;_dNWdtt)YnYz9N1@S1FqS#rH78Gmq8i7vxU2n4ECY8tQ=SPucr+qoye$&>qbdlLzX*&VMdTsF3bt1 z4hAD2!gO#a<4{z#_-<38N#`2R2}Vad7eJK}Le&<{#Y}gp$9UDrI7&x#lpfw(kk;sF z9kNJ0|6!7#SdgTkQt`MN8mI=27Ig2y1>HL+=%|`fe8w0O^QA^Wg)^!$pD;M{2|?zg zhor(@Q7Vk7j#8MfNKj}UqDiW&TFYkh7ro7c%;;c{*@q)^=s^Z;eiigKvy2cv+oa;` zqvPxo6n<=V$#@__K-ECRfN&sc2?ru{em!sLRO14TMXK9Z+GH$3k0-gBj|XxU_nfzf zW5^^mhD;2{kcq(W$qZYMCljm3lkXA_ zK1u&iQRreCLe8N77)9=}Y#vW03cF1S$CGKo`O_s}hJ2=itJYdPtnA0Mo*Hz|1B6xi zQ{G=jfCHnjg1}}*Vci0oC9tUs+plV<>0ua(G5aGj)Jz{vre*xj{v>mJj~afsY8+P& z8Z!J$6@Hv5c@0^=2-X=vPK7Y1S;$F&yF*?djIx;{9;ip6X+a;H%`vA%`yfD-eWg7n zYBuH;lPc+vXkQtLs-pBfC?gSw*7I2&i9oAjx561H?eJCWIC*A=o(-|EN|6d2$za5o zEk|gP?d(sn6Wmhl`R^D8=Q<`fs3jCvMrkx>FpcH}G#XVyfEx{FSMY(b@nEbnAaY}z zQH5ykU_^5RM5BjnjJ=|bF{U~S4~S?942ZR*sHt{sXPE!tw|GEAG8qsL;s_uP4|d=} zH6S8H21JQ-kdAXuQ24RcCF21R0aXJc1Hu83YbgUFMly9jf07#GXgpLySOr5EjfWV$ zXgtKg<-{wKdAO1^IZCsG_bDIZd*8WfN!jC0yIt+!&WD$A_;_-&BRe0b=$(&K)XvAL z8gQxtoTdTn;PuVXgli{{i6`UyZ>!J7D6nrKWwsR{hI>b2)5G*eAbrm1nA|FEzm<&@JJU=z zWjcL}C{YC^!>c`uBkN=MzKU{hn!|UUy(Jc(=V|p;P{w@rHSM_Gp#*jLKy26Vf|gpx zN2&*$(T=taYAb6YJAUjPhV|ORfp)##H}28GvfUql_F z-Wzyr&>agD0rso#WeZwnI~Qx{H*6+(vhTgrERCB_s{Aslg_n2Kd1c2~Mx*NMTn{!A z5bLt@r{)J@DZAs;j)7R(9)0TQfmp^Kcj~x-Sd-nEKedxW+wAtXczc_Z=ytc98RN$a z&Y}-*fcI>}fRvT{@@+{go0QI)O?IxGo}}N4=lvWfiIbfR*}G=mcf~uEy|d?ioxI87 z7;=xFG19Ws@Yh-3wW^*gVmPy0q(&`GrTS3r*W*OMK_!^=i2$ch={XT#ihEQv z?oy81TG|u^PD3f|*&AQM`C}LY=6>fy-?2^I4}mF^<P3KqRyiPVX{hRt!gBU!RA0J?w zbLfjWviODpTjexVIGy>^NMp0RZD;IhDXVBZ<4)rjyoO$1Txc9ZbJNAf5@YF*;cJa` z#(HCevC%l)xTmv4twlZ;tVMz)1Mu?!7%a;7v2X_aO|*7#sqG(uMd>5yhdS8a7gnx4hJ8Kn;9RbB;%oK@=H-E zw!-c>{?X`FSH{%5ALG)$!v3rb zLF7_}F{bQDr(JJ_B~MK5=LA**#bCwLCg*XGEH`BZD&@_k3u8^Olafhr4#k9%5RMQt zDU!ugQgXHpf=lgeU)bBF^tfXhNecT9!iel$j<%0x8YfW4dyDNQB(2=>rDGi9 zye`Z1jv<7{Tg&)BRdH}j(4)ec$5!-dZ%y`rWu{h4gypMDSG>gr@asF)~G8x4a@6s*pin=vefCu4a#Z2T>cpJoF-CU;V}KV zh;^ZWi|uB+#LB7AgB)e&%i{hk_W_2;!L%)Zjsv|S<&?HBP$$xy!Ft6=Bc=2T-0bF8 zIHaJg-%V8eQ~n#ng2^d^mEt;nqySG5oJ2w zLX>5hM=B?=NQ|H1IV-yVH`6R19LK%fvn{pnIG*y^jq@yvSYx&-2sfPpXE9EDy$hr0 zBH3HASbrq}j(016hJi=$oX+n=`=5+OuC8BbdW%8V(zPxT^H6pc7Ls$h(w{%2x%5+t zZ9lC6pH_fR;QJ@5bSNeBzkxH+>C$lv^&X;Cx+MbtaR8?bI3c(B=TY1k_6vVWw4IG- zC-Qg?=15TU9EfnIaAwx=-wk!v>29L&a4CX#3z3vVyxi@Go#JyX*eOP@$77Iw;A^94 z$TEt<#Z2;J)?6~e33prE%El!>!ovrCKGvVfk|vvVf@ADTryOHk@NqfsvvLa&(;i_k zR__=*&N2||nxFveKnZxQ`8~l}^I_l>*Wx!_yX3RwfAp;2D5&4(W1Ikp;oh;BH(ae_ z9E}(y!~lrlTdvW8D}umlG~7FmZ_%}>JJ2T4xo;CT?;Ufs@>lX-CIAY z+FKsdo-QWLyyG1x`)n3YA`ef%9i!C_KOt|H zk=&n8eV9*PD*rrK_`{XKBc|PAn?U;BgSLGy2v%^si|{R-Oxe2KZt4B>Ewq%rbOp+{*#i|M#8 zsGfI&PH}?*d|3m&tZ8oXUb&6>m5~fD#5i(0{EOtB*gbAi?S(70O*1i5L3o1X%^19H z&cb9ZYIp@sNL#Kd|Iby)^4^*9IfsXJ?_BYnExwZYHmRE4sEc`{D)(13;42F7RSo#6 z0(?yazNP?Q*MP4pz)c!(lLCB01HPf?c|O}X>*&h!nFk_~5$7@IN3f%3wHG?XY5PCq z*T{W}zS^&FPnrE*%)0z77=KLf3}m#<<>S1#sln%*my*H>37AN*3@(svh-c!OOz+)@ zzE`qzC$Y(Beo&n+f=o{(bA+AEp=o|7WUSJUD4O_4g`uRgujWyMky7xo{dKV0?p*>+ z>D_Wlye+O!9h;4p9zR44y2Zuh>rawzE8@;1-;+rl=4IoZ2l4cek95a7=dp)xkUBK! zapb^eWN<_Qe;+9z)ASU_ztocJ2*qQq5=r(Tybs}Ni)O=;yqTP0vxxmxX?u{F<@oPI zA9=sU0Skj%(3s!UjmeHwhv+o3per27LqLp&ej=fre9sh$^>=|@>A-o$tvq$bPOzyi3 zVgsqVerImJjSnmT42QHf-yXV^w(u%O`YX7+tYv>l5$q04jyn{6ZVhx>oH0tUPExs* zk1gZZ`zR}o{B}ekzU6X@wIiOg^?eA-O}B9+B7oaf#&>E=cLrm**po^E2MPPjL1SnI zDcipjb{0+VN;F6ZsRbYAer!3e)YJQz?C8ROd*D}VYBSV)l4g+mhBL_TqszCH_E`iY zSiF9ME4|UFC&8z@tJbJb+wmqq)KrREF@)j6y6&9D0C)kFdNe<**vLt|Het z-bWyXK8h|p!lGCovjVv|!V+5Ao(~<~Del{Bs|=c2t*Q)Mrs1V%$zTL0T7Fm4^1F(- z-_wBag|d4?AiF;fGM*@3?|_JjO`1`E(h0oXJ?7@SKuww(66oV7d#mXZ0XC|dkb1AeFgcWc1iinryhl}LGJ>GE6`DbEBjpAz`k1z8w=PEt6`NN zD?0uN-(!i6aFBj^H)!)6)eQIOzK6E^%IaPXxK{!0(}4RF;C>CbUjcrm z0Y6iKpKHL+W9m)<>4qfro48$n%=5(AXA*!f=F5DUn}}w8w_q}IHAG;tFu679U4y>o zDw$`NQRAfl8A}Ae>-e9=zL57dp0XspYoR7S*x%fm9LPNw7)^BesM(Ix_zsFs za#+CX7FN8N%2LCBlY*u{>0EF~OfF)x5s9qpUuVg?L;mN;F&on?+|Vj307>P~TXHK= zu*vi6E3)zKOlj64eTsBJh+QF7W!TelsYOx=Nhsw0_4G5PNynOh=I-6QEjRiayp~Y~ zWA5o36U*d8g0 z%kA+?F=83EM<_G*H)gL3%R{p(V+6`$`(FqK<^Dyf(se|@$DY@720#M0EM(X#dL=tBN;){OSVvgZ-Cf>=ih|!uGB~FymD8_-J#r{AonQc{_4a9xx zVoYGg{Q$YgihC*$A}D-Wn)>_I(@J*WT=X~09_xQ2HY+hR4gw!9w) zdMeJ8AVYZ&uiZ2q?|urb{DQSH#uYU+L<$H(LVnS@<=lg{O{KVT1by43-~JR5;hRh; z|6AyT{Rf053e#@s@x>8apVkdYey=FpJd{xv%emS~f z-^cSF#z>!7;>gqh=je@b^k0;vLE|ti%^s8UZYC60{hANhFUm)K2j;w6;Cq;T`{kp) zQ5{iV+WSu6sjmQ)f2+&;+dzjILxnh*^}Am|)_&dOwHZ}=@2z-5Ez_D)Y19&u5x-S5 z_?^!4cL5EMXAW)d-D>d_4b%G#3-WMKx;~hDJtd!K<)BH z(Jh}Jj;oHLE6n(yx@0(oA<7PLj2jdS`ECx_0EC3e2w+l?_t=Bxya)C zm_hsrLs9c2H3+iLF#CSMO>25PQOX~(w(H-`1M1;urysE%`ezvrMaG_JG@Ti|3H*Yt z?hA^IUetgW72q!#@D~MmNdsO|fWKDDyQv9~;f z{C)x*Gt-*!eoBtBWx92*6{NcygUEeg|N9ZKskKR>{49*Z#m4N1i*5T4p;X;0uArC~ z$Ezs+vm}V}W6k6o&-DHS3Qknmn@Ce)w5*YSpzlD_#UOQ|`@|t0rt+KwgD(kGRmJ(at(l3|r)&y&cLWAEg z!M??*8lbpis#`j(i!>BofKxGFTmk@=y4spsn`?=win|@DH@e*JrR^xkb4<6}(S9RZ zM?{i!bFLimRvodrz4^#;9OQQ(f(#<(4oo3|Xe&lf@1tc`Ab$+}* zlWi%w+`VUypyf-P|FF>c(!co~)|3NrYjWDMCJDQCu za-{sbnzi;9EkUc4;3g_TE0v&CQKo+0rM(Fl$=UQ?b*i##ly*i<+A;?8XxggZhcJw9 zd6uGxzW+2_s_hbZ^j+kIE90gITRUX%ptM61ElA_ePhcW6`e+Cp zA40DRp>sm$uZDy^7D6Y7(8mcne(TkrG0r~utnq(ETXTuJwwP9D>cq~es~=a#Z^?Ud z=oQ;o%QZh(lC&xcrPweClB$K|s{v86Zr5aG2hI!e9tgK1ACO?R$ZMhE_U}Xb&Yzd6 zvzHO`iQG9PO0dS@7)@=)KA1N_yBpyS)ucN#Zgy198QLiYk9qax43vJSPQP<-`VOT3 zSA+DyYAvsEj&~)?T{_EMiqT)y0Cv1#iLRiv?!CZn`ziU}Nfqr3Dr!aKx~ls7^fZU{ zRu4+&NNaI%HD%BzFfz={a^Zh7(lYUR#o$^%I zOp7U5)5?aNb%BlGF;u?C4%7zoSg_M{{X#=6E)`oH|7omvutEQR13R7)oOXE!*_*CN z^rj}jn~Ea;)Btvj-tsSjZ~a#=*BP(&8oX(&=}+O`ZddI-r>r5E^FKP%|0pbPX~0_w z@U{lLtpEcWzz%C_JhUCC`qEtR%f6=R9mpk^#lN#%9n|-0OhNvQ)I-F{_x&aazRdJ+ z#K|nfhqKH0`oFdK?DD^ZdgENuSl+*q>0HWEF@I;VIRnT0y)|gsw$ut|OtN8EJCPgf zEm3V@nySj|Ab_O-?1;)LMT5sSX!}u=8Rc@->o9@GYUm$OJ(3}|S;lX>_eYCONRK%b zq8p&nG;;EDPU_H)fc+;iM%|7>p)n-q0|=GfLa6d?MIwCtr-VeiSy$&%V%py4UVNqj z>5EeXdI><%w)=O=Q3camiry04XrY=Hb7O-Tku4@?D=4Q*2ukbut*74!L_V*Y8Un12dmx6LYqs4VGW7+6`IV_=u+5eCj(2%+Z6!XVy)`ZaPf{#AO}E=L#lq7yfE`_C zxtqQ?hc(%>=u_!d@n-0FGZf$e4PXb_WGNMBl*a*-#7#X0sa#BN z72p>V4zmm-Cz@U_M#2|(J{g{oCDCyrVy;e*D#NEZXrv!GV@!g%r*o<#V-x4B8)gcV z6B?ROcjvNpZ?DAoEXUBNbYDdNda)`PR`T9P)h07FC1)zq&eDKc3eckgJqj>e17<70 z91WOb2J6(@h<1CcHPq8wIpL8Jr%Y9dl4k}U?_DnD+x~ex1fLEf{RKoy_$3f#|75~H z7xMlkONdiUk|^~5ieA^>9<}Y2)X<12#r{!k@zODe(Qx*C*g%X&j-0l)IXGMro;PlD z3e!w)9V3;m6tInowE@t!tW)~fVOU$BA31;MSXn*1V8DfLe!MYay-Y9g+Q{6C^pv7# z^nOsk!DAa&5o7{*wj;a|(RtG6v+;cA6#Di5hLNN_HFGYX=ONxwT72h}&XfH8 z_!yJAPytiWNbc}sl$k_LIWv5i&N~O{L|-5Mf{+Q{cVXx`>7UPEJ_iHa#rsgXwj5~6 z@syV>d4+_1b8sf_@^5Tx>||rxPBzZQ&c?~c_8Z%_ZQHhO+qRRN?>Tkv@7$_W_x>@} z-A`9d&!_u&r{0-q)ZMT20sdglDF`|cm1A9oIj(dmws)!mz^hnxZT8x4zBBnxzx?a{V>!s`z4 z%z+l2^!fLgYJ_s=h^1Qx-sPG$+~rDd$Hus7*B|JH{+65);ek%UxG6txOXkx+qN{XK zz$eYJxxA;Kof?Cc=5y837T7`}BlxjXN1ne!VGS<0PkE4pl*i1!CnW(+Njvfr)u&Z7 z=olL>*Q7=q6rHkLA6^Z&q^@W`>m)(2)Y5F^5&5zmt>UbJ_(&;V!AE5?f=N5%IIn$7 zMATg_LM+JKKd20uX3pCXrdks;k-8fRyE{@T^Pq>aUlPTjxi1efUP}~H<;d*@7j-h_ zWvyg+E{zx;X3m!1znMkT189RJL7KLvnpO1cXAkXjt8~CkEZa!X{Hg^t&PJZ}p<7yP z2&JrZi{(x40CHR_iKj&RKmG7`BcKcU}DN?{gqQ2XvP^Ru`xfJUOP;7&p};*KcX?2VHX;PH?rpI>yJj>gPH3Q*ZqcWYJ<(JK;iL!K>!%I4%r z#eR5Prki;H4GuK>onxoRj&}V@@(Q5izeK&lxY%1#uJ8c+ldFMy5%{V*2>;MSR)A>K zJd^6%5P4SPnd2OLuOLQyT?3R1=OaYp;I1c&&h_b~eZ){N&4lQ%bz4e$xSiNsR_K4j>`48Q2qqa6ab>WtQHQ7gLVYj+0l z2>IYdaiY!+de&3;L@TfO;dKXhfNC3!UK77nIV?Q|Lz2T1?x0s0$*qMf1iBcKUBpIe zKc@i}`@7aNmadsf`aXUay0!a!`}S}lSy!RR&ZYJI+1Xz>#niQlX`)CB5e+%y5_#2K z$A1VBEkwl}tPCy0l{H%xc+muiTV`ntjKACBYyKTB$*7cCd00?Te5eFZPkeONaQR$`#KEF;-#_m3?KQqWZv`wrI|;dP@gv_Xv=w z1X*UtjW@Fh^~j_~Td7=D6;EUwh9|{87l|6W;_MX*;ULsSH3~&PpY$keT3Fel?`k-H zczijf*O*kKC!`i(3-SKmVr^mZN@*--X;Fe+-^+Jl7y}5To)9kZnX^7DoiZwaPkQQr z6y#pNT@M56VYCx{(qqt=wd0aK_}%Hwp-T5DN2lnf&Y(|IfGEo$%Y&M_B+*`!hZ@&P9u>n|vW~Q?b$Uc0t{v{dZh)i(vikiQs%sDOsbX{h# zlZwixxK|Hl`WYp^Z40Ru)v;|7LDDOLjj6laShlqU`ST^BZYRMqS8gj5^_sx@03hqmZMI zVlMeLJ2QtBX5_F`T5rM%G#ZYCxihxN~2k>syr96Ay1O_ z@hY*p$DhDB=NP@M>>WP&KtcT~(7x}z9wN83vQL1Y?tpic<+GbwXIx;Evj!?lRDd3U zeLLgjj?H0NJdj>L>d)TBlKbH+FJqA}Av700YH@wgt<-lvj>de~rj`>}uh!-jJmVBVnF0 zd!?}kX34EE0=ZtXEhjttQ_zOLwnj$DY1ss8K1_uf;OUa_8H8`mBIC9;&p;~YCX)pb zb5ov6x@nYHHLaPF>W8*JFBbI?)Y&}TK?>LsRe_mfOyz=znNqVFC|%_JnhlLC*nb5z5KyO zDX<19y9j$b-sodO2jlmU6+SkOK$m@0hy)JvJ^xBkY0M|d;LZ9axn$6krrtHxm|KO2 zXN4JJi#-E>d+eqKK2&n{guksEXok1~{Ut!;c8JDL*dh&@g$z>?<%v-JQt#6Dg__hm z)tU+)f5cK^ZAnoe$kP{6{K2HYI*Hte!855|-yCMPij<;1kpF<6Nc!8W;5J}cbmc;l zTY#XTXP}T}B_5}fR5b|2_znaM9|?A}O9B6kEYP=auAZm#;7?xYbJjUNvz3hU@1!fb zADU)gr0hU_O~ngvi=GI7G2Z3`E@4)_^$QiGTT1BAoH!^V*@s}Vs&i9BVM@IP)fR@4 zS%jZ}OuZvn#(wrLfrIMSd$mV#4|v=LL)=3qaF2gN5chv&GGWhnILL|pUFrl2o9YF& zMS7vDuhJRbJ8PxXBh!@HNDb4tU>4fQ6BldRM6sMi3C;~t4un3GMhyH5ZM00tO8`yc zfUQi)%JK5mWX~T*k1J-uAR=-xuOnj0(3)e1~%5F@wC()xrcY?cX2zU|9w}qzT@39^+a?Pkg9eTHmkJ_ zFE%ZVCnC=CX4k^K(cKH0=gVbHoY`iObSkHej<`ZUr#BCk5)Wtd5g~kqsf#z`okdQ; zE_tI?5BMl$CkNC_M&;lm{vr7ymjvy6o{VSjOQ1IdUDtO67qJ<6qe7Ei(DWR@7 zkTn*_(9V&(XTs?Bi|G{@%S!&)M8kRgUlmHl7z#S&TrVV!=B!*rBbgu*SZjBiKF}SH zASs;8gG~1Ix;F2)a?P&pXsklfN0fhG3G%=C)r@|>5RsbClHMKp8@{^LOR*TB<44yT zhRdTASj3G#I$d4+ORXnFG#x}Wh@Rf^3QnPHsfIr9o?~+;-@2~HUTG9DD zR7mBxU5a(zSJHm%3SAX5P+7)kN`qa&LSUU1v=A6;N zZWwKv+=fcHJXDg7>Po$r%(@$3Y%(A;i-5A`yr(F;k65?wU~D=dzT?Juv-naD#a|&& zjg{m?8SRX$1F4sn9SxoLcfr@1=a)(M{xtS*Fnl39OzXJGdw5RP=)$qFSgQMlC=cv@ zZ7#qlxj=EyY>K4r{*~zhi*&RBz$9Ggs08sC^TuMA^w|JM4hOUo64!-&1j&aY8m+V0 zU#{s_DvF8g=;|V&gWSS_CzUlJ){R;Z;Arti9u>pnKPL4sD(%D3L(M@f|TqZqo$MRF9(zTrC zPi>{u7g!0qTO^ySdx6h2i(`p}t23ebsnW`=+Aqh6^3+uI2XmtU);jFPbGdnoNNn_q zQ4F(G+d_4S;m0ZesxXL;qNhtM^n0 zcWL0xN?;vT?=+TeGVtd>i0VD)>z+5{KLl5sL-%xn*#trjUi8jqvsR~^0RYMt9)`*v zcyG3{X9V-Rb%y8Ur#i#ob0Y>_rDwqIDH2Ag7x}XWGo z86pjeL@W7Fxsxri=Dtqqu?DF5QOyW4CKy8^#DnH@PT+0D!FvU&%sjwD7; z$SHQ+P%`Yvo=N~AlOD$9(e7Mh%!#d~yj=6`^;g!*5i3cOdsM&M5}ip08F*@6krpRL zZWse~mrxmDCD?Opeh;EB6Jy~1BA)P?&@5d&fMvmZuf7y#Qg9G5X~)r}FararfWU0QzLn-w9CFLm;O?kVPjZ@I+Y=y6STJeN zD>21{FzXyX%WE8y6w1DIWNmnf_0DVB^9!>)^6&vb=7X^6(mU^W;@nl@@|wZ0 zt10#Cou(PR^~&bc&~I8_YdZj`W6>eu3*IfF5yUg`u_f;whi0F#mt~_q+43bSX-^NfK5?;Kp+yozZKhdWxX-G|Qd>~8fh^4L|sLb?)e4$rYdr9f( zpmhAE8f`L9U2ZL43-pOusoH)mn&zeddDfL;E33s(Kh=nIbFy%ZyE^F+_cp^c-rom{ z@Q0P@t7C^o7E&ec4$1kLF*4}a9%S+eM7%T8-2pc`5`$W72vh%c*_u z?k>XN>PYCOx~0>rX*LgOd5L-t)rp@}XBV%S=$!JE$nI@@EvchiQrF6nj(FiX>emz> z8OK51q@pQvSmSVJN{TNZacV9{mXpDkBq-~KE!`@*Y_vc5WQ=!!;W)EmEWSC?%^}@7 z2y|85gRIwWE}5t+4*{Xzl_@3Wg5zW z$+4~zO)VmX-p}~7+-w8q%pSFa#A!#kL)?F$EGYF-EL+(sPYH+)e3#J1y4GV$AcM@U z(I#d_{jEa9pNCG*VbEq*H-c`-hj@$)9zk7vv5_ygnJd4UtMp+l_K03RSQ~9=>aqmv z;at~*9k_H*E~=NWF6yMR<<}q9vWV%-a84(A$zuM34&H>=zi&bGcKs1K_<{%CtPEZ}2+%o_VpNoTj^17pTv&eF5Gqre|3@GW0xLU7#~OtsksXw}bgOTxY?mmy zLp<+#`OLa0uK&%U!(1D_UqIO^FVn|fZ6;o#qq3tqS`woCWM35E=%Agh*)NM#!5}|e zLkY_iVjy6i`h1?hlN7}*Wx~x1TX2O(mVZ+#`<2u=8x6ll%`@oK*U7ED<2#9t zSER10`2w%q1-k{*7NCmVel-Hp)A7u*wmJ2T^MoG_?gzPY2H?-37t9i7Ea8(avvO;? zWOOd0yC;T!jsaQE1AZzF5KS*q@~9!9IBs7n-oGst)xqN>X>>6S&^F2cT6 z1aDRay@Ve`Gnf19%dHV|3J=DEo zL>l$8gTcK(y%VKFJVx4m+3pK?aY<}=iNAYLc=fwX*uux5XrdFerWz{ByLHnz(Q6nl zmWv7<<<*F&7m*XhvrWayWkG4lMO@LsGt|5G} zT^cNOYa6VDA_%Z$nL0rc=5)nQghF%3qybVR;@FCGIZ>hD5;f6yd>0 zCi63emrBIlqFY$}Ij5pxQUc$)s<2!Yd}!6Qx5qxb zp{yI5{w~l-iqKi-pH4mGyQbm5#`Hi4zD{?>1@fOF`_nS`)J;6zm*3CT`?Q3c$<1h+ zm9SW+5fZ*_`xpf*r167WI%o1+)fn!#}@Hf-Bbr{nKkm4IUl zD8))U3&(c(fzUo2a~-{U$5rLZiX01|NUZ`mnJ^9av=}Yiuso++9A9MtZA4x&~j?FBB;i;# zU>3=2YQov?h>$uYrU81KM-Zv|i>Izgp?|El_J%n`B383x0vm(d^dX@hQd9k%jvMfF z*#7BevDb^iiuc6q`Ifj$MfNEYWbg*r?B&LBRu-z{16G%>YKIo&iDR}7h@ou0i}ZL~ za|z#yiDoBUZQG{|qPxUVdnayS*WkLR5P2M$WX)~bvwfI4u?|e&?{BUd4Kx@Xj=*?R z0Hoyww9#};FixIxv*cZY?PUxbCI=n89X{fvZkBg9j~N;B#@-5Mze7@%P{Dv$8TT`JAqV{lP|iGq+G~!OV_Z)~X-VPNy+n~{AWaAUNWcv!$i);n4o^eekeBMBt4gZEXco!sx0o z33VVI(Q>pZo%hm zz3y#A;+@Q-PFCJm-mqPH)&yuX_MyUr*DS&Rzwr*TJHs&z5kd31qNz^kXxeQ=7e@k44j7Z9sb*h=&@pyw(Wk)xs-(V0Je zXd4Uld6MBE4v?*S=3wvHk|kpPuzs~&8^g4&-hj23pJu>aR`f0R_X1xOc}pCfW&jUc zx0 z*y(1M(R-O{`LvHVx=_2N0TIi!0g9>T4m^{n{Q3nqwC;k_x+0^gVbN>7_^1J;6g-5Y z{s!SYO<#}_Zqyt#nBOm8CCxxadRr#Zge6|0Fmblg;l>Uv@+BM3JcZst24`9+)@Nxp z34kfUUH4fJ5k%lz)*!=jr*)bR4Jqe=;iSZwsyf7*`gvt4OVw8FG1$xf_r34^q=5bY zwbakHp9A8l-BjYFE3p9snt{g#gp$ID$;BwKxZ(j|875TXDH&l&m>^q9C$r?2l^bZlM|*2Fp~LSBqqp80r1on!mg0(qJbyi)6to9xbhbV-VGG zFAMoXftKu`MamcYy^mcXGi-@xI2cjGXxQH9+u)0PE)$_cF&-hCL$@5cgNU(rvT7P}BbjLW0_CEfY%MON&bZ@+H5HkboI%LAi{sL8Z4ms{HF6B4W6#W9 z#t7?Bnp;ODP1-1OF61k!0>t8*RKb1~^An@V$L4nU_N2HhG4L6r^Xb+PKikCGiiI6d z-O-c=$2$nurtZTMlN>P;oFxwlYF~PUtHhPa0s{+SM+WCzI_E}$Gy-mN02||*E7ArXeib06z+1E~PFJ>y#wmHfZi6XEvGZ zMN?`J^$!0^KlkNyo^%y{leQ_|TerE}^S<*G7&5X?g#!SXWC%nxNx z5zfw;+J8LF$fxLMz}B@+qfX%O9FcfE*7uwd;o?nsIh*8tL!n`STX4rsGcG&u{>b=h zn8s-YMv}DtGE$Y=E_&9ko2Ph0O3H;v`e)Q-uL;meiI7>Vf{;{{+R_+C3FevEqk?ci z@=S{^WjjA>Q9kI3RUIkMx=jP9bPGGdTLM}8JwSD*kk?!$_wR+7_T zA52v0!0o@joC3(mg&Z^<3(R){ugCklLI5dt&QFLXE^Df}_HCs+OQ^PDUPgk!6p zZy52Ao73ZmtC|%tq!N{(qK{C{Z6C4g7byAcymNhT`+LwtkH|)Q`~E<^B~kwCc>dS8 zl*Cq7Z0BSclKgxSfx9|}5k8jv6boz8kJA34tVD+gHHY$Q<+Bqt2k!IW0&z}lVFgoo zWp%nC_#-4S5voVCTc9QCTszGI%>}h3n!AA(p-~8b`(DJNdr#6rt?O$CWM(r5Nnbd) zya2-cl!+%<(eri8vx;OfLzcgbMUwOXAoT<`E?z9o@Xw3_5bi31t&AnOvC4>AGcx@u z{iRq`87@;p4jDE7m@UlxW{z4)^*2rN$h)77HM@dcz|D2w5;0H&+f<{#^D9Ipa+~-( zkW9-8UaDl4cvx*v%9x8f=LR|oL4uB|+@rSX3fhhfO!xX5!FmOA#2NpS-8k5*2Q zfKmOAwSuZMxp{61U&T{?LMFk5ySYj_UVhpynJV>98Cv~MZO~<;O~hlVTZrM!A01~> zQElfb?Rp$C+)Jk)X3Mb}5%xS7(T&!H#f|U6D37QdIm8{xlYtziY1>P07I28L&b;4K zU~6(E$_Zm}4HLh*HSj&Cr~eEspGL^?z)X+15a4~cF$~V*D zysIY@-y@Jk`cAeL!2>P_3siOwH_$9Qs5m4|VBl9+)g<3}ip~19BvAe?FJoqbn3W5C zbcGV$8^aW(CQ1dre@x(eU{$VFw(}lUn4UYhbaVhlLyD);@zW8LUi@OEbxGp1c3kJL zIu$Mrm2BX%A8#PFI^9Q!t2Gg|8=P0E_Dj`jTCudVPM$-*m)GL^lkq?_{rC6l%Ab?L z1$xI7`xS8I1L~WUBf3M*@Q$MAw=Q+D?c~-j5LSoCh9 zdQO_UOJ>VzZQNR1(8EKpw@zzWuygZev8Uzk>l(@X(&`CBv}q}uqlDKLr2+D%tU}$c zLF2Y5yP!U7CmR537llO@Ep5nX57iK62wUHYC8IYg8ivhn@s)W^r>s<#JeyDc<*EhB zMKF%S`Ti^@Ts%LU{j@z*N0Ay}RcGl{4+={$+De{-8MFZ^x6wNDSsCC>dH8E57H(BE zh$UwgX}*p4sp40|uOd0_x&4r`eIk7ZYxTsl5B^SyECTM<|Gd9; zU<5Ns{7X~xm0UWITpF32pOVETQJoLj^@K}9y+kJp*a292_Q%lpAhp;|n+xYhC{3;$h%Y_QXD&7<;r|688mO$GcuoN?N^%t z$ZAE=ZUeS&J8Gri7EaFIXmlhsC>Q?UL^r`9KB(88e$A5LmcX(`NhEtAfpJ#9;1#}kj*3(A7zLBT)VMwZk3IM{QY?( z@@&c({@mH+YB#Awhs!c#8m^LzmF*Ic2_$^v`uZ1Jp zh-L_9EQ*4t6qCr5lovbef->9YcO_}+L6q)64gVHctQNkmxF{6XFO<;e-XP-eFn)`D z76Q*5SYYX@@`4j4n5}G+S9y`SsGFrqcb;EsvJ|VH3MOwM-i^kvmi$Q5iT8Y0-XvKR z>6CG37N$-cimI`$QSh{ZD}xN1!d=6d zbT-d}yc6h}U*zs4KVzMhE1efgzB|UsDXW=^Is%0bj7~0aAD?GaAumJ< zH$W=F968f1y@s+*tGI-IKX@QY$&>ZN2MNf+nrMLChkG}Q34DO8A_4PKXJ;Ty+k>p4 z0rMhGC$=Qdr&DovfLb0D0VK?>nm3n%Htm)F;v>r}w~-O@jZ#z^gQ$9KyRzBvVl;cB zlTXN^G^ClYTa5_kKvC6Km zo)A)8+A?L}evMwwp|z8GD`M=1Kseld)FaTw44#Pl9l_^ZMx|XY`J1AjHQsU8d@kt) zWsnTa{S+(Ctwn%Sq2S%BNX3yVql+pUn=`RO%0Q7Sk>QspK#YZq3j;iigEb$i6lGM} zUah1PDbyYk{v-wCd@`8YS9;gs;U;5@kgYE5={AY?z^+bivB=$IoTq z$2L^dqPJVnIM4pfpZrv@B})8_&E$U(J~(`>rXZeI#+{jqzMUDzZ_`~u-)96kym4>; zOZ=jDamd*H)*jA0lwLS1-I<``?#w(0-5y60y4;6_YAsSbt;qM~u_mj+14mw)z&AS& zj|<^fh?KfGbnMRHMf{ueZO=To4d>~g;%_j11F8ai*F)~lJcNolw|@irNBjp6^|#gn zeJA{nzZ%t?wCh~Alqb@DR z|3z>iqO6vM@H>fO?3#Qo?Q|{0iWIw$gB3gE(uHl@d>D8RNf*IVMl5Euzc4 z_Rfsfx8owdfpiGrZxjO@mcAYLkNENJxV+tO?VkMdu?xm>RLUuCGf*o9mc^xIfZ~Sj zJstdxVTQYXcU%I){f1!XQE$QA+qHQ3-F7<4`A!Bwgv#sz2VcP*A0gU)2NN3QOzDqK zuHbbXkR`Bg6rpVi;OqS#07)PoR-YJAsR+A+A-f3809{O0B78+j;AT%aWX?gHTJ=^p?! zARZntI#};9p=~7K>tWrF`JFoR8Qyt>xzf%f^Pse*<13*HM#NT3+><4tfvaHQ0zE>e zOb&MfZfq~jh0MxOS>j-sdNH?yu4s*(zGZ4v%3j;cuHEN}YTI|CWe#mDwn$Yo+wiK8 ztg@b*I+uZD9(#J2Avjjs!zEm8*&X9%Tl@TR}omWRs%Hwpn~s9bL^ z`QZzW9uF7CYDGCzZ`$~?+IF0PEwWN?@3?eu$DiYGg-dxkt7_D+%EU{W#DeLg!r7eP z&__b6^yyB>aj@J(={3iDvj)k;rr%-@skE4VMEHsyZ%8Q;Ui0ZZWx32lbY~I3li8i8 z%Y_`Ejm4L#3bB(Smti!o%d=qF>g@O)Dac{=Y=n4vbA5ewbIqNzR239;v~&eFh0-^4 z*U#N^cYJ-r^D1*aj?I^;{zZSQo&dI7=c*Lq%{##C^$a-dLgCTs8=6!0Bj*yWQZ~46 z)Eo9~fSLM-P-OBZfSV`KEVD_e%Q;_F`Op-X&f$;xwgRw+eO&?ABmcoQltwM?mMn=a zmGZS(BEFeyxUxipKb+2pqt6e_382sS&Hewl_pBRrP<6Q~{D{ATT0HQ71$lY?lk4GP z6}2V^q){unw)iH&yDN(7)iNW#7k%;Ij!(-t!@i|l7dbS=VMX7U8B`SWADmjzs|jtU ztA|6zY2MmXb<|>o*#E=Oe>MJvmBsr1z*DYja3A^Yu?Lu`f5^WaclPZ##&5?x(ft0l zrd-7PeVsS|IOUop_CL5YWrB(U#j2=ERS$6C`-E@J&uQ^=iSLm2dK6psuJ^*Dn^FJBSkYG!x7GCv53yeNb&SUFP>m z@H0jKgVXgp&1(RhKFq+EMqRG=@%?GS|Bg$C>;DDdzk&LnwJ&4$#qaQ!i4m*IVaR?v z0#WuqxoY`{nYKVeST-u2e@HIiQ3>5bsaAK1!BB9cF6G;ra>k?Ff89eCN*?v-vK@S_ z@((jwZp&h4i+SIXSB?5l0RIit|Ez6)g-`vnlOIe-U{7~VzumrL`hU2PQ4mYcd;Bsr zhB4zlPY9eW&mj%Ri>+#t#>ecW#<|VHfKekx%rprbvD@H!!u; ztp-|&S&qxC+kA~*9?8vEarRsg`W{*6iiew9ih*%88~$HzFyn(l4rsb#gOKTp4J$Kb zWfOGaTGf6v z(t=6wzO@%M+{H4+*)l~9!_2KJ;7C$mUd#7P`0BQe?-NQ@Iv2TrJyaEkRlG4T6K>GE zjb0_%G_)6ybVT~6eiD7>iBfUtlf^hfq&Lt~!N9qqrN(+!l=<5Jolm_W(*BicMcs2H z>RNSt>lHcbMRxuM&{z>xUCrPe$o;b1ASc_m`JihT@&Oukv$*|8fjvw2YvP zd^h{Dw-{%O{oyp68XHwX2ocKTwv_6A-cKdYXnfG|+tEcszmRkwF1*d|eUSQ`Jpzmhwszvx=Cbl4r}+yh)v-Gy)n%k05>dD*hKEm^LUqp! zzVHp;tWw)=mhY*`N;L#ChOW0|!61-%oy^K%Ah>!4*S4e$_b#qru0tWJiR*toi-yw5 zzoS_4yN;Pd;dUH6lyW4nkC?9}uq&xpOXh3cz6AN&9ZwW8F(=DCLbT;NL9Q@040O#8 zcvbEdD&yY2{dDal;{th`=vLYwS3Mc~o%7O44^ds3Z?rUaMUn9_DZhI4qX0U-8Yhh1 zec8%#RDCxzjR4a}UI??ce@$oagy1%Rn$)seV@j+2WO`ssT8n4qI5u#Xe6UrL9kgcP z(N@oVKP~V*W#eSlKrcm-KH4q(%e3B~xFxLsPkx!rrvoj(5+k{e3uKM3I+4PnsC!UU zuMO-_L{DM2r0fQY7!K@ri$r#N2J#M6>WCV1;OVthW0VWf+R*+|Bggv8xl?1V=Mxk( z)U({+kGQEPJAC1=g)%?3wSG=f<}IA_|D(^ofwsPJPGMD{1!`ElAM_YIuE}=5Gg^ntx zU(B}e5sS7es!rA=*dSWk^e(NE+i(sq1OH(w|Gu<_Bjkd9*SN_7itdK)vkur#E5Y96Iq&5#<-dBbE>QaxH@~{OX2>E z@a8&+0u8+1j+{})i!l^ioe`;Ji0E2PAb4FRjSpKyQfnPAm_EP4YOR40+>{xxz4+F4Yu}{-3B7OFu%wd4(Jf()jNJ0AAE)H@NMSOcobkr%0uhX&gjJF`6+YHc)P$6Lz_Q)b=Uba zpyYaSL{F7<%P7U>Lh|C&-~P;6=9IQ<;-XmFrWyWdTBg&1HYk)rQdxIsC`4|RV33~-} zV%VsIe5#&Xy8^$}fn?_ZlivxI06JVy`ewjYj@~*4A%HY4s!^gd`4j<)$((uiy9z<$ z>m=b>;;&Bv{(=!vwf7t2u#J`e71(T*z_#EvEZy=zs-T+S;wA#U3f5-99__Fx2r=?R zA|g|qmEG&+rtUlh^wTyo6qENDy-)4zMZ~`$?mt3kx3X5>J%bK5%0W zvsOks*)62Hf-D`s(gP%P(^|DGq(D<`IuPLu(^}a!Jo+S`x}%@*F-2S70uwGVgm&Ks z7-lz~bmj)a5nel!)*b|}S0FjtkGVeS1#g@(tz|KpWPCZ^^n|HCs#P@(2ZJA=be(q$ zy~SprJw^C0_FdpIhxEkkx?Mmnb?QQfx5VF?+`8anKj>1=pJM)c6-$Vw&s=`UuO&N# z<9B$9*k;YA2s@KNeJYW36*+n~?gxF!oJ53W8y{6})CW774@JIBQ8;+=hmzKZ;V>V& z*>)=q(3vYz8HG!PEIGUzuM8gAzrXR=d_eEN)$NP4bY|Oo$lFy+-uayJ5G>d6eC6J` zn-=qU$!8qVf0}2`3w@P#B9>ll%|97Fe6(HmRDpFo5crsDY_D3~&5dp%)DxiH|A2#H zPT11P7giTVuqOBKA$%bCtPwO`T44wD|$Ei_{nxlu|zt=r6guu46-M_aX?Z1~@J z717EZJ3RhHa-v{9{i<&H##}HR9i91oj#>B&Z;lrfO(9v+X{u%PP2mr-|^$Jr{fBOy$;)>V3lME>UE>%3<+3oAANH? zWoCtX-EDAZlFS`l_D|Ph3|OV^KPc87fcjGPiSQqp!*9sr(xXW#0=JNdLQUO5e=v+s zF-eoGTSx3)H4WVGrG_p>MvrK>3Efp4+PHHi-)@CBB$+Q^9=Q-x&VmyVQKs9quDyB! zAH;*=(u)xW#2D2qoQw^X_2j;PDJt*i=%LkTc*gS|bs&{=lbC(93!tKzwa<}uDp?gu z(lpF5DnAS!@PN{vW?G`pDTE;O$BHYM<6kSkSt)Meowoh<&>3*9e@b;1{rfx@8`G_F z(>O*>p4INowa<*5b&{T|#s2dcHlx7zX`>bkF7%UvO3sRkpN%I~Q9T$~kzfIe5xBd1k*>vPOfDZds9T zTV=_^i5eDEJk7_beF-X@+GA!UUE`VY!?rw7ijga7d}1!Z>^?+#?XPGu@@y`P=BT*c z^kyS-Vr^4TSWP9HmH}tacft=}vF|W*X_8x)@`XzxTmLk{GdsK>IHrU)h+nK*nU>Gi z?Q4$glGWUF7ihmbaWk#<6tEuvU0<&cS8QEmom7McFJK%4ZK4i?kTKo)3%{50*FL>4 zmY;cVlTZm)Lj@rf+IFkcpPEjYv49F%1iB~c>P-MP;r`3us$(y|xVG~qwe+%dl9xBf z4YM~J1bu_qA4`xSJJ}u~I~WVtr`L>um04FsX?%rMcd}K`S<89Bk-&M0wJK(Tv3!N~ zh~<6qDc!BCEU4#$XX?shvrC(AV!py&Xv5}`^C;8pvZWo_vUI{kTvWqYn6F8P?=|_u zzU5wR;qYYzQHvDiXKVowN;eWU z-G5Ta6~A@v!R}i@IRyqC{c>yKjYwS8y$C)aDoM|vTQGl!*z@>xJ*lDpGWlR>i24KZ z0;=g~p88C_#Y%lmD~oEKPuLX8Sgs0boOD@zNCB~Kk>RX4uP+3hC}s~m=9nX6*lBBg z7S#pRD|@siue_7Q;^x!0NG?AH?~o#_A$O%%0|vvD5GJDaLf$cs4x{u?r;g{Ml&NNh zvf!eW4T(!S4J|}c=Lx~_v7~(x^kdZot#J~S)}Gs2!Qfcdb+!R4%1!<>0*4Khj}`M$ zEmRF`zgO97@Ba7b&7grU4)F!7J<`|f$3ml*79wD&8;bvct`8y}_!?n76w} zm)D(D-eXa9;nux+Eh+yiORk6|H6VTV3d6unX^lHNV|ncrJKmauOIj!T1bJ6^F3Ado zr6unNv}|c!ExaA745C5kCEmMP+62Brdf4W$@~P8#`(Xburm z`#}@O2dxmYx%Uf~^`!zhyfbh^a18cVX2lP>getfs7zr2Xyz0n!NV?7}WX(s}o6y|t z30--L09e#(-gQNnz|}AZzs)>%VY$<@+mUQi$J4Vm->Uu!GHd5`DUMXISwA@fu?q|R^AmP4>Wcv zi8*qi8uM0e-NFebYGOicUep6v{vQ{XKfnX1D%O5Dk_$*#Fi@?{BO(2fHpTtj;iAQY zK{+5?PLO#u!6N*2JK^{`*|k{_a(v_^ofY$BGvY+KrfWa4?2Q?vZ$Wv;OEp+YNrpvU zuBys|amLmSxG)Ik71{dT*-`O-8cx+NpCaYV*8gK9q)ai7swmXB{`brn(tUVM zfYfTZTM!I?lG{3p=$gq1?A-D=rfsqRQ{8IbVkl=b-29*TA_V6md$RQqSInE1I-k7@ z7Csz(U5bQy>oqgwz0%SbVQ5SqXrVL{aewUJ`CuAA6ghXwC0^}~2i(exY$XhASyT<` zjFfZ>(WhJRW^18i?h@0)C1a@Jo8YP&)_)Ij@8k4m;Y}~Ifuc=^mD*&_L&;EhFi0CE z{Z-JufZ&cFW0LAj;q}>8m;KXB4sa>S66@?IIfG4uZy=B5HO`@f%P)IuzgwT24+cy4 zb|W3zVCA(lx~TGs2H_}H#xV?n{OX63F-oiBb^qIz@b-G!yNd5YwT^Cuv0*>R6)5dlM)w)thgq3yUt6$`e!a z=NO}5bD3X_>Yh=Ot8-8Dt!I!ba53mS^x_WgL3Pvs;-*kTZU*JR(I%UzbVEco%Ma7% zyGQa8h4o}JO?N(Kqi@cnK^cSAFBFPX8LegM(Q2++^zE54{S33bIY>>B3!RE!i3?qT z!g^eYZp)d(7EP$s5G=T-%HwD}hQId{&8Z~_QX4qe7rg2eA=o`C#rLOeuPW27E7Ptd z{SFQ2P=GNSFh&8!YQR_p7^eZ_6kxmtj8}k84d_&WE)D2XfDJTY0|l6%0TUEpq6SP< zfDJWZLn~zdHrHG-AL_@AfrKfuvVdL`;RGGHn)>(xtoskIC;2LFbt68W??#?@pFK-k z+>`8LR?zhj{!FG5aRGQ+U{pAL1%Ep-@z6&~8>&=Wir}3kv3e_J1-7?al%?#gwRlWY zc56sHj)kO2CGQO!6)U}i+6rNRM~u2v*nDiQlZJrZ`$ zBuiP;U64|ZT?P=ty5Zk1;$irJ+j};vMADsxm?J!EdSji^OKUQr6j}AA(h5 zzX-Fk7=@ile0x+V&OL#?*3#A7Ke@XtH@CXxwAzz3wO&LidybB(PMxPQXxY&k&Ydd7 zuF(!{CwSn&Rr%^MlG!f?jvf)5zd*K}ZFY0#xaAZ~%cLyk^&n~q|H_%zcG(2dRZZ+U zl$==9Vi3}e%CqZndLU3>Sm z{FxSRyzq9Ua>u}=+VXayV1f5~wuCMWGM?w9fHWBCq`x^ez>$%5kHN4uIi`CYTHt2r zo0qZKrRh+MPh-_v$&@v&WelV5Ucz#aV^)ehcySU$Wbp8AH5lH`(Cszaj0oN|>H-?6 zSKnrx1CpRusOWAgx^wRE)vH%8O*W-e)ULdAERCbZ<8B~4L`!x@DJY6faVZYG-E;uc&MzNo-pY)(-hXG7zw zY1K^>z7&0*)?KevI~Mm(i04EV&yjbFiBpe1VTGDENukv~Fo~h5w>#hw6JAXvgk)@B091+vT9~^LfwI>PBKa(v8%1v>Qzz za*q$%wyGX~!_ITzc2oCp9M@+r(4W7-BAHz{U)kO8#BH?bV#Y7HtnicehcYaJ_@lvd|IqzPoy5QCtIho~eeCSvB z&@QoHO$t5y6?`UU9a^8X$0!TS`I54u*(~p)tY>${0?Yk%HBvx9p?k!n_7b&cIBK_= zsNGc*7{VfamA9<QG&2)!t zrUdQHHGl($n3XAvPrI^ohO*rEkkz+pVDE!3(JHumiYjKRE@r9%Y@q>LD8QB)zya3x zE~fsy5;Cr;wfhGYyPiq1-McA1#VTL^uM^fJ1Y0SG=wdUS~ zvIeZosK0!K1H0ta{rQ&bG_d4DBb;Q3i4WeN&(zP90iDYFQTp-nT~TL0PcR= zy8D27j=MkXa-z6%2=~yt4+E8EfXOCu(TL|0xU?wZe?vXy|3H7d`v_8Rs)PryRgwx!M^1pk}Fi8rOYo6ppQf9;Dt_ovmv$ zl%5B=$*Xux^dMSskm%#$-od=~vAmZtf)P8_J0q?e5zAc>B{HRH^wHdn712AbZx`Oz87=G)SH$QbEbRuVmIS3 z%BIqFIfahf zWNIT;1rh1mh}hveB3m0VQAZ4|h0oIPVKwk&K;q&QBBxtfY)!SbBD4AlaB+*KwtAJ# zeO8zpL)@pCrUy2>&!zYX^9y)H-IoyA+A~c`TBe?r>6(B~SAhLAU_S-eUjz2HlueSw za`a%Pum1qyG7H5*qQQ_i3(7_sJF(}i%+%RuDpqtrh!xEkfECTCVMPb1S{$g0;lMtM zYv#LW2xELrF~-+JjM0#~64k_c;G9nE_O8K?7|tK=$BzzB{Ah;aM+XeZkMgDjn9B&? zcpDYCSg{|(-?e7E;yu3lGVz`o*7J6%std<`hu896vrg*1lM*2XOrf_qNz@rpHN?57 z&d=8y@j*s2Xzw1Ty9xtlGp8vsqtW{2iot8#oLC<0?#=<{RobLnmImQ+N0 zq>$|0%k(cM6y80b?A^ZL9!YUM^XN}k()4>3e0*<5!t{sFqR#ZL(GDDJ?`jCME=~U3 zZGXlrRaHt(DCFq+I>wee7#+}=^>r4nS0?LzbN?-6beQg^NHkKOu7Tq^ru#WyIsaEX&`9xLHrY!A z^9ME;-x}D5Sb&8U2<+f# zry5)jLH~YC#X%h0VYJ%*a7W|a^^t0_^j23|$ZS4cv;J7D>#$f=>Szr(S^$6?z&Yu@ zW}0w=wf*@-f?v;bVlI^Horog08kj88+;SgaijAQ#zas<-3tXG4lD&@^A<9uG=U!Jj3vB{P+lBCr}< zw6qQyB0o8s);`@)Wh|JEn{Es0$&P`VP4yNkv=pZTSoXiSw>cLTn?9TMi?%uyyb)Bq zDko0sdY9J0{?M8H0(E&`W6zrrqQ`p=DPIM!zdltU?_SN}jVWAE;cY40qQd)Ac#sMo zPT^J+K8nJFIo#K{48^L_a}J5!*Pscrao1^wvYNfAP5C%D%Z_baip#``H+5 z6qr$Llh(45Wsux&+z9;+F@YTjUS5h8pN*rVBsVN$jGA;VC2EMeC&(hc5&8U8QTJFYz*1g*h>0rh;iM6dS9>6c;G4NKg|D~2+?nX zKZx?lAR8u)AG*)oHqBdJSVo@`6@O>r(pnnzPQ?zB>2_lBpGIN-A*zPsoer>fMpTTa zOQyR45-ex+!z36w(gZsby9JJS7J4>b@XqFbPJw=<;u7#yFsxp~5b(}nSc8Tk;GN5` zCJjTtJC9+RpsKVuranKPD|SH?)(v;pVSnizs&L%9kRccG--}W0bEw)>Nw)dj6+NE{ z(*?)7gb~Jf=NSuWk!ry;mUpS%UsS1zQ#X(qdNBRR{^p>%+C2vND%yx(Q|W&~!692c zr(`SB9g-G*14Dv#6y@-O?a!ST98@q}w>l*197ETZI@)xLK#>fsZG$YO9c=&hZ~?_N z3ix9s=A`T z-+Ubb{}U9|jTqve$X>ixB^;s9^|B~$86#-1O`D`{lGM=Mji-LUnQdtZ^X){$yIjb? zC&19CcLn3SXQFjkdCEF1RcbTcVGNe124fc%vj&#q{U%O2?s$ftCKQeY*?1CJ{*}}? z@gxf#l#lZyI%^4bGIDky&a;U^@Fro$8UIH0ZV$2(kQ&Fc(`?SXC$Cm-+*V<%9MbiW6=W6YKsqhQO=3+eu<0e`0jIHCZS`wOf~zE(Fy69Vj34SG3{BsI8&Payo`u`8}Kt z(<$2gXHXaZx<`OuQ^+dp;V^QrUB)I<#t-5;pJZKz8J zqh>xisS8U7hgI4syJLfxI|tOcDVC16tviPPj2#n;x6Rl*hGeWiY1R4@Gw*mSLEvMc z?``XjYtKc7O=saBBo^jkhtq$OQH(PE-`8OM`?_NqC!H+8v15w#cgC2;($TiR+XBs% zC&8hr?Vqz<063EY`vfUU-JB z7cJ1{;IQ<_$7F*ZHXV?`N-;Yo8Xx5flr{Gc_pM&dj$c@8FpCq-w&9(&*|xOLEEceB z`W_aKM`9e`QIyN_rbP6r@@UptoC*?mY*m4=0KwtL=7!-OkDR-NiV2ao^EEX)Uy-*9 zG~faSxKINwRDg>#;35UMSOYFrfJ-#s5(PL9&zV+!T++X4fp#=W@#m@dOLc}zl@158 zVSS*#J1NbZmj(9}jmzuT#tF@7Px{|3P?l9iVn_2K)nCUOAjmU;^6b?=Pe+4Jcs;gR z4h9GHPxDkMIHwEsgQM%TwV`aA6vwOmdi}!wU%x>uB#r@#5WjIGIpw7xhWN61iJrID z)!IuzS9W5WZQwjemwEqclszO0iOW4oKu-WPIEq6zmU}X5F>J;t(>;#f#vgCG6->ld zJ1-F4ZzF1LJF&QTW0ZA=NKxq88mCq!uyNUOEUuxLTy(noEHu~1Mxt6I7i824`M`># z?tEC4*3y+KhQEP+g9vp8>s-p1Ev@oYZM6%u6g(H^LZDg9$oUAY8%c^cUj_TL3Tr90 zvYrTicqfm?Vzd-mVh(B3>#Q=prpa|RmK04&#|neKJL`gcR#Pb@LEZh8b0J`FX-mMn z38bCXE8`U8W|l#Y3Dhnv3VsX2=WBSWE}wKdT1-hQ5q9}jh*amY`ubePc&yv+p*r2g zKA_h?Co6=b?K@f_e0ty^Tl#8U} zoT_&i2HF2gPFFoHF2DunA=)^iDgO=|^bAO5E_Iyr%yMKjX z`B7Ld{-qlHD}r(u`vJWF4ex53%l$J8Y2CjCtl<7yM79U;XrAldk7rxL{bib!w0Ck( zV^74rRjA-HqJlR|Ixp0M8S-&V3jimCsPkerNHX z+hgfKhWstppvk?A)4G=;>0M~`{oLw4gIfI?sr%Vd_a`MK9|>F#90|k$YK`8{?=fbATD;~IDopaf@Pt@wLO?=ZrZz|-6v&!C_~EM%fVKZ{{2 zP|cqr!U_HiMEoVuU)0aj_iDh2qb2K-Y2{;0qC#{s|j2Oa%~0iz$)!~E#Lm_Qi$K!A}C41kdj ztPLZnaLnoA9#l9_?g}QC<+Wra@)g|>4z%{XD(zYJs`~7MAk!)Lzo@JxZJdI3JUC!G zdUa{Ns#{*ufY%h@bq(M^r{D;iC>KGaK{xJ(4HVl`iC@lv&S%-~Dsb=GGf}2vyFWl@ z5~CIPmPcvg9&_IV4=PF1W4Hkz;SHiM_O=iO)+&# zBIn>N<9UMI!~3Y9I+Op#DkvsEeYQnKmrb~3xFUjaxELI{FhKO>9Q^{K>rM9#JY$la zxEe9nxnhRKy^tEH7aZ<|RKH$`Iou1>HWt9f#ks|Cf77AVzAu1Ss|@I%xk7R8ya*ez z;-yJm41NA;zR`M`v>!6YP&$G?Z%yTQKyk*?~s9MBQn%}@Y;2(0{WP?CYZF@)5u?bc^ zb;4{4rp#F0wW&|(eGdFGyh~XkeR*2{3=Z5WD7)nbWBis{XFc5*dbEVG*D%^pdkx$V zxMIQ9XZi;`%3tNlhSAg{=l3m=mlg+lq1!N=c2BB~&|C(!!|qAT+g%c;-gw~0y5~j1 zN&e0&JojuEN2J+Cg5v5C*AtTzFGwL@8-Qg1n`OGcBVhB~uC(d?KFy{ld8Wk^O|xfX zoDKu>iCk;qU!+fNJ6d>$0#*G!4r>j0|oOPQ8kws2XV@DiCHM>u;q>N176 zEdb*un07~+Fg*oK?*gvaO%gZ!JsOey!r}4;6yJTX#d=iBz$)_B!TBYHH}_)Ya34?% zW1pmZ<5LGqVVQzVX`XsUZ#p@mj4A&0Ph!= zm4XI0@obQ}FvJ)-S>uasJVMXk)bZZbDqcMCnZ(Iro(`GI`!kL*gbpI6%nAf9?+>z` zXfXLuVuMxL0*|`N4sg2gCY2=^|I6TjBE6e6z7{N7C;u(=NnXEfP0g88{vEoh7sZT1 zSKJ%Q=Dp5K7|NfEl<(K+v@PX^#<0Eh+$b3v9j?P|M)#Gv-4@$U+{<(?kdWjw=D1o% z6Nn95Nto!0-ogD{MsON<`m>8pmF5gH@*Bwa*0vY7Dxfn_<5#9(+{g8K4E1S%f7EnF z?a6fmW=WLn&#B6$nyA^nuxK)6|htnOY7af z`bpoADBe)dyM4UV{d?B_$MbVNi*n*=(zB@%L@L;mYjo5Z;k5K!WouP~pd%Y&)f7OU z%2bsiz@)}_HN{`Ttq5?iF_CXfPI`m-OMN?+RNfbIHnk?jeM%LJ@mRGlZb)$Z+UKc& zs(bYfEmEo3Wr(TDP_Tx$V05C2(Q*AE_?igetJg_?OPlL51Vz(v?*S11A#pR@U%B*( zIqs`iKK%h3AGvfM5H2B?EKF-m=8`#Qv%G9>Cc?N+@9}<9DprGwIKUQf$hhxR4ku1uiwKdxL<(hG$m_ zTpvn*vDKCs-((f0MfMwRL=0p9!Zd#FSF{S_?Se({qV}78iPjNCtgPk!5d`HYW(&L+ z=$aussC_Tf{SnWd%nBB35${2a?G$+fnkQsEH$J664?|x`g|ZX_kIf|QeZ_1@^8X20 zB33l-Ml!H=>VDYb3k-fk!cut<*vUg+ClkZ^9?kQJH5k8Ty6wFtbo&-o$2<~c2k^IW z{htDkJ;IyHv1w=HV!*UYmlst`Jdde`{mN>FyvoP%j*5?aZ-7`Otm3Jr74iN>FA2J#;EUoRNvoGeWR11kIg4a^CRA4uz{W)rO5#0Q8Hpj^N#ml z+>fXZ-X2BeGm(tUve?{dJZppaj7&v(Y{!#uM>wYolJk7Gsr+d$I>*;Kmzx$vzKv=| zSc|GUB+kbO8!2ZllFvodY^){@&P%{w+ce;cZ~4Z;R_`Jx%1l2VytKft`t+9RDKjr> zG(tr8FVLm5jq`p)<;CDyH2Q330Q}@9!b>Cs^vw36ZeT+&+oEWqFA$rZv(x>Ri2G_~Ccf!gYYk+ifW2Ct;TK*fGPsC&H>rgyq z^NsZ-pQu^=T}r@b2?8IcXz$%QE^<4mKc@i+qt66V>VSi zIRSbzbmerW^3ldrX$X~;YDjy3hr*6n0rzlwDwm=Z^f#C6?8SaIdbu%UTDgq$tg`(% z!Kgpau$I@sBx@_<+~`um_CFO61 zp<-ihl7#+(O0@a+02bllViXy| zPa;7w)!grJN>=e-#~X`zUGSb@Ly-`d$vN$|qdi*)>d4w>xiR8SeeUE$W77TAv*k1B z`3Ly)-M0)=J2p&rpQN0HRPWXa+rOgR&jZgju-!}bj!rs$^P*ro1|+~-Nu5r7)~?Pq zN@&E2+UBac*%7*(7RH@i@n41BG z;bck28;nuNI36sV z*w1YbPHgUx<}(rAZcy*R!)0-p>Fpva5C-D8Q(9=aV|+oaeGu!c#&p@kdHIaYUcIkD z^q@LLla2=3JiAk|>QqkCdh9-+!q+Uw$9S^GWLmaNrx`|=9(BLL>J9aD7-=WRdGpZ1 zRE)&jPm%w8T$o5RJeTgs<}!WuLYx+0u3zZ1-i} zZ&7TfQ7KCNzY(hBGE2~rIWYps$+-eP6W5r;$#LjW8dF4GQcPZQj@s2W={ujO@i+O7 z0yp3bd<*C*=GIKo;5@d`a=d>+e)_j0kXuGN-w*5T_)H0}K=^EgQTKAap?uDf41>+(oKz#}u#1PN!H!pO z`HC?K-dD|Lsap9c%GiAof@TFZDZh^8+&O%Bn!y#+Lv;tLF|B*4q&_Ezbw6jB5y|^( z9~k}yy7*Ec%-b4a8h|iw0$~7RIP6$TJ@4ogjY#n?qyUKF?&XxC`&{`T9^Ttjk?u>P z?5+zfm~<=XtXTobdk2x{NoqWJ^0W8BmkGzZ&*vJ;-!u6y`p;Z)0sp-a89oCY+)omT zQg3IS;}l(>_ZFtz1oaKGazUs-6jI(3bYU6ZTeyyeM6au=t18N7Tif8OD7R7%^Xy() zp&m=2S6GgNzlw-jC)`~p{~h%XL-!~Y$mO|w$Khagw~85zIXmjbvZGG@FQRmOr|R#t z#V}i?NL}8n!2LJZlTo@G7+qYTk%jBto>XnH40X=KG^VI|(AKBXTrk|~K3NXdpDG9I zf!B5>(!HFY(eAVOX?L$+G#1(JE-LF`$X!)gDiBmc-t6{7Rd<+JTM}KM9X#ze6=0%g_%TPI^rsGz8F{g#Qd0En9lZm zV?*)zoJh;;fRGExN8Pu934Dd>y0p%DC(2&Qs{*6tj?4&cin7mvKe0R+aG(TOuHqxf zNL6c`3Ui;dEqtk=F3z-(iK5U$T8dF|poeCJ*KKQ3DUmx$gawb(h3R7TV+kw762l)( zIg`Jp{0>uubesi%j+i3r#kkGQ?Ri(v-lkxF1H^Ed-|y)Z&B6Qzh~YfH8zaIYh->on zZcLUA&Lw#=V-!S6cI>ty4=A{)2+Gq)#>I177qJ5cQ!;Z;5{soojs$PW&iRG}4^=x@ zvn}RONim1IxR*p&I42486N;b6Jh|CekgrpEd6SKH{)~NXEl}(zEAOO3GcKwY`;hh; z47tD*6SGwB|C6XsqBP8Zo1c0A3w~z&=wdu=e=wfPPd6;B|0~$inxYuaI@~02 z=G!!1Cp_lp0TTPSYiM9gasc7iqo{MW9KN2knoBuBX2eQnO?8c$XRs@~-|($}4R#2c zj>W~Ym~S~nA7kE8FQ*hYgRf@niolF@NBU1oWn(V=$F=~WGOM>qV&S90lWyW6DY);k z)^O70>h*njJ(FM67R#rb@fJ&Cq;yOeb~Z1zN{5DFA4s}g?Y#RPi;1PJ?1BzXwp(;? zj6FyP*Rxx7u*Dv%gK2w+4pMU)BB6e0jK&Bf#Tr)ndYF=NvWEL1WOs|?mvIqi=(J?k zpmqH`uD-GjfiChdz*iRHY0b)WxK*JRE`wBxf6Mzfv?xW~t?&aQbVt&E>1cI&sOZSP z-sZBe=h#eKO!r)9S6XRSxA#af65)M>sdi)yNEOctt5l5L$k!|Gga&nhOPP|^$@4Nj zcy&JrzeU_HYhOQ3SI-A;W+bE@qW+j;XrfvEq+@U{n5}4c;d6(a zKEfLEq*E-4z?kndl`SjmKmJPn$T*y6Nwm7E7AkSJ!n1Ll#EVQJO`fP*^C#T(UynR5dp))Xo zI;-8v_K~^@=^7l+!^SVYTg0I{aleONr^x4J&ac)2EYe;{6#AF_PsOl+0}RQ@yJ ztlWqh<%+EH4C4+X^*h5#*GYJf)kaZl(C;vMN_7cCjVI6oXVa~Yj9G#1Q8va)b%g|6 z+Y{?FGH@>)=SxBAGRiE9^J4$xZ+v!$bBbw`X%*EgcLBXB6D3E$#enKw52{N9cPeu| zi7nO9WYgv2%+zDdQ`Jr&c4#bjbsFx=EwLXMs4R-0;3w3(k-5_(b03_3QeA?&-$Bp6 zbJ?JL9cwRnr7C&zYRND`xr#p1;wOckq0l^~ojYsC*ZoNtb;#tb*Md1Sr0Rj_0<`8*t$ z$P;1TyXjiryJqinwF5iOVNs)$=bd`&NJ+%u^V~03v!Z77RhYz>6w1w6ZwpQ6Cy!BP z5V62ELg`9}h`+C0b_=!L#*>U67lKif&>k(gaiBlV1Cni{8QvNc!g3`j z4|MyEn;^K8wcIbG>__A)d0;=mo68mw*YZxc;~k0Wj-o0KIX0w`vb1;W5XtImEo$9v z(U@?cF-q%p2~Uit*f(UfV>b6rQqh?P)B757^Cp^0yCOdE$LjgzUZZY{fmT#o*JTJF~2QyR&P zOeyqAetd&ylF`LY#M~p9;C#b2lO2;~SLlj|KhO89@f743kz2CpAvZ9qMdXKZ9-7F>3W6Hc$< z@`V=~Bfn)liLg=pvy97V8|!Sm5WQ?4#I^etwVT@&ry!st&9-;0r8}&FyJK#ox|jU{ zJ^vwhPc+zl%@d(Kv(^6k_f3NbBF19VHvavGoIu13rg^QjKb~+>e2S;mitqbo#6gkFA3YQB<#bI5Fm!TR}u%{ zbzrL07~@r7Qp$38KT^5BdONI(ui7+hX|x?8?fckt3sibxY|6jpSbYq>DBA!XX}{|@ zb)!`Y3ydKk6A+LFBMYB1+)2-GX~#pnd?bo8Gy^tlR?sCxNO<+lNi41&{IC0092c7Y z5t{y>nnWpOj^~ZR%I7-PlzV8IRjS)HK}tiq&9o9VPy+(M9eV*qo z*68(ysgy1WySWPsx3)1P19*mwdNz-#H=V*X+nHXFovl*br0=j|CKV$(TW8CvF%As- zL=da;sd|2f=OOamJSHuGW^E>EQC+rCv?ajVPk667w6oa#Dcc`O5ko1ey3fc#Q7Uxv zr{H@dVoVLnTo0?9PIXs!QR>3r$sM`_y!Yt2y(HYRR`&=+s>G&b@DV zhIMl+pL@Jgf16ffcjkjLj_gm|Tb~LY%y#naHbaVL&sS?id?gWIt`YI2M0~zR#OD(6 z^%@a?6uBOz|L$=(_d=s}{QYK=xHFAe5-6%CFWcGH)KX4yv4VY6Cr_$m7`-4zp*9DE zOYWzPI9vqKn_bm8V%hit`+oHKfCMWXIF%jxr1(%dT=k_t@_3>IUBn5>MM|;^&Gjb` z%>Ql&Y7@iIoBn2iZGF6kp}+j?0mJc2fuVE#T?xiQw7|HRj*dM2dwnuit|5y@$o#zW)EWXLb4w;+vyKDk^K@(qM9`ZeXwtZwiQ7V`fv|C?1LDb0}6}}nb z^B%o*&_CgwBmi4&#&`^Kn1rs$-W?_12um~-z@jw zmPAoCnC@mEJVWGZ<;6xS*^mr*9_RFpiCn_=$`r~a%1cp`V?yEMIIOd$v~N>g z8J4=s2MZ%_F{e(JPqknSoh}V`yrXfit2;FVi6vpfr3z*v+QnCANR*eP_s(ZccT0Mi zd=WTZV`LI>4Fl)b`P106WGguMj^;ZqW>SE!r`Rz0z5^a{A(W~ z^~gD13ala>yrLfZEbc?Ssa$=#L$Bf%Q(f>Uy}em^HG39hL?J26^eRc1p~XtBl~Y$G z#U1Z>6dN-e;#^l+F7HkaTA7PcQGCLf5$;Jx>xlDpTkR)0VolZut9uhyF%Dmb-I6qz zU}=!!Wo)+SW+S%<-BgrVvm4n=%aJc{onf)s^mbtr7N^hd#ui-`!-yN5%|bV3nZEoPU-O*#Z%;9T&vtZ-O`nlo2Pr@qvSI4+Vfno z!A3lyY)^0?_f@P-Q^ERPd;A8G@t(jP6!wZawEi<~rXWe2cmM?{IkXH#f3f@-58c6_ z?h@E!iXNYcu_w*-UiK@R6c2yD0;V5^Rz;$g_ZUvG?tqyy51`P&e{Ysf^Kg)6wxr=n z3yT1rv~bOdNgMGNC1El&7x=uX%w6538RZXYd(9sz5%`MQ$n-lZR8kMo^u;tc>be2$U5_OF zBPvRTQ)L}yxtY35k{D7#6%S)Zq0Lwid;~0$PEhVC5dS9CTvo1$E0c5j(aK#Sx!u*=~-++BREVlFzz-uje`EW^pRHC zK_ICmANLC2AGt(mg`iLw>0M-wnnS!v8&m-Z5{49rPQ)ecQ?t&icwFP9)?T%5-Of zIHklVjliVksnP~9Zg*1ou4$;N%ByS7tTa1+4r_LlN1gSRyZ7jSC?b%PHZe9|Qsu*^ zQ5z#H&&U**4UAmZbdL?Bn`Zw88c2UdH>@I{wBt!&x<@1BP?bX^dTyXZg|30h`=EbP zlr#AOW?9I!(LEfTovC^dsL9{&Q^c}UQ8sM%!3Q!DUWjlL&WE^jGjdZ$YmeHZkGQRv z4hm9i4F>DI0?o+*|4QoPZllBnivYvkmbLr`*62)n&}>d$~MYVHSKt~sEEql@#~--rh6DLZe0n_LU=v?=JCip zRi4VvVAOv4;yR_XA*s~;k_x*45N`x!>1`V2UwMMkA=`O@ff$bD_Ku>z?SyYjQ0{uR zw?5tn+Y(@HlYi2Q>V^l&Qk4hoy0(#ZO%b&hvIRlj;yp8~ePeZ9V&UxP1g+XO{za_d z_0`E;0;Q&SE^;|7OFWlKEF|0 z1XwZ0y^}dNAe03ggA@I8PQ;Oe+cNqS?$tOP;%{*hzzo1~1ha{YE9$4xoxqmw9Uea^ z^F>r+is{|~w{VZ(j6tVA|q1M#&p%<5UQVO^NzCmD%!MX2R;ORnm~T`#`5!{bcc{66U@P$5 zHx+UZhY61R1TT^6PbP`~5+r#l6ZnAnTQ&H1HO3Fsl8&*u#$#0z#%aJf1sJaZ;}xJ& z13DF;O9Q$TU;_=LjcTf1q zLTOx7gXumGF6X!#fENt6{JGU^v0Mzb=6 zDBcn~Yq^9tW8B-&=F9%J&n3j6_GNWAYh(F|Q-Y$Bxnv%yS6*KwvA&v&5>MxHl2~MI zBvIT1Du~I^oxRPugm?(7S)MrlG%7k4cQ>|S8nzIso4{~I`7d4H@|T|y_(Vi>6Kw_l5(&1sWdHjo(|MV##3DRCE*ipPwO5rj( zoV+-7Gu=m-jUT!@_UuHU~$shlGlL~V%}Cv zK)t^PD+bFd>_r2KZ#mv${P%H8xUDg=+t}5G;3MIMV8~ZWy)kw7>X|y+4f!GK*-@R1 z;M&$KaMeurPw0U`UQm@hwv`#8|R-i?!vf8VKkGT}mc zPLAsgImgOai)30E;|+c%Y~REErTq9P8<^one6(JgcNxR?G&WXxK=*Uu7?n*lz1u_) zz)dw^(|(MhH_UQb7y78eLFHlYV|bXe;bE?!h7oMb=q71CL7KWX(`*+?^XXdBY#&PV z*;>-<5K8lT;PI|D&5lU3W(~hKmuv@r`pvu36gJC^@Q1QJk12!>Gw*)DkMd3s(>|6k zW`X-}#joC|szQ+XFCb+=QAch-q_R)AeJ zU>610RReZafZa4;HwD;T19n${Jv3ks(Ko(_4Sy|1Y-Cn0$K{?)-j$}>1Gias_z~7{ zJ$$V&wf84Xv&(R6#F@}jBTKB$UWyH$T`@6ZT*}Bk=VD4z-i>!^tcXAffxpXyL>HM~ zILH4n&#$Zba?y(*w$;p{$}jkE&{eql()}KDY;&49xzj=fP13mAr3RQR;rx!|uiA~J z4KrJ{8|&yWHrFDSvGq+!)U$0wr}y^6vfSGXoGh4S zu~4R%LcK(mr~tkbBb+`VxOo*l6yw&mA1hCGOOT&CevZ5<$0}w86vWF?2W5a5RLF@{ z#PIfJsb=RIyudMR>E3vMl!%3~p%5xN78O19w>W55#tMyNph;M$2g|@FUEKGvkd#j_yj05#D--6)J@u{S-P}` z6B7lHBMa2T1m5yy516U;w=Iw+-f{)5$T=QUE3@;I_;QkhoBAw$N}ywW)Z5R-0&-AaU6RtRKsw7|w{IN{3eaIY$Pmd( z9%~RzOPN;8{UOTqusk9wPggw~)U%+T?ODTC_I3|boxWs$Y`jaC@7Yr?E9xjwc?Omh z05RM<0PD&^&t5u>8KeP-;gY7MXK$Ux3eo_?a7okJvyV;_3DN+>a7i<`XJ4Hr8l(Y; z;gV(<<|de^y6P$}t*lJb3~E}SFS3jRJ--q^FG&;#2TnLM;-#|KynoE{ADg7c%rZTP zfc~7*AZ*4c=zYYGxxO( zfR3$02FYVaA>sEmIu+&xYbrnbM{Z<|m`w&3RUD;I_^0la=w#eJYbdajVs7{raP_54H~rUAOxg`c}a7m3n}j|2@Z_ z4CJE4H}6Yd)bM+Mx`s5#uGs5;jNYK{b~mG`ug9W+So4{rL*vtXV$VOBb|T`4tf&J> z6 z!#GS(f_EO!l^&_MdMhoF=LcnYoFHB(L2?_?|BeeI-v9wuRzh3U)rH~iFDXZ&b$BON zTn+VzytyXp-^Lf=E2Uft|Izlj*TH$waVmW&U5|2e7M+$ADI%=#MriFe#K^p)*BKdjFXX_(`SGx39#%C!YYhFJqs(z3Ppb z)C;t1`JT*n)2Vrz@w>6GH52MzvN-1C zi{lX0VxeXE7NDaMCL&7j+tXE_a-b1D*|B73P7$k~M6g6+tnhQOU-X%Sqorpj6aCbr zJn<4`KkDQ17y4Mcg+8D8D!bMDETsotPo<%8C_`ZaPoUK9eQ+8}E|(8Vq_0K-aRkPn zN0dfAMq7<{lw-eloXd#dh89o3X54Eld&#iZAI`{4`KEpDs_o=l$xT=$g7iA1ZCh{O z?$#6Gd}wbIc#9-CiT=EVa^WqJ5F3h)QCVcNd82r4rNUj_ zR{ye9g)6Azd)w*lJ>5JcIA|J9v0735-2L&dqRTayvkGJEBMk0!cb%$e%;ZWK_-c6g zHLf#c%`g5SQ$rhBi8 zqNe9GE$s99OWmSp`sm7srPc24OiWhrM127#-OBnb&^zL*nDfk8T%^dm4W70-PiGO_ zey3x{`+Gb*Ws#lyqe18#HR};vRo2GzVxmCkU3*QdnKFfrd3MFw#^Urc56%c)64BHa zp{X^YQx($0E>ZLS9gW)k;H(Y@Az{H&g_*<70iaO2f87BAatra{?ksZ}p z#*_zS`sGOXL@L3aFNhenRvnHvp_~+UF*c?Fc`^HrMA@|?#lCf-bV)i(jOAI?4#G;> z=Y||p^Pkx}abX8Fu>aoOp4*K6wJBBj)SMdez46i`ogeA=+wi;hb3N%uk~XOe|MsUY z%GwZ8A|3_L+Y4&-!w%W#5pP#}$r|yu)Yw|@ub`x+cS-c3vj_K>Y`vp-7++P?I5)M+ zagdL_!Y9&iXlo7*@RQ=RiTiyCn={+;R!dvb)E{9#BMg^q|Krj09}TohfcP^1t4C_k zw=zAsWxs&})URfQxAkbOSHtX>Jfw!6G&AgozA~KF())>KT?x_GQ|eR(R^zPd2R18{ z{giEl<2k7ohcZ1cSR}9ouHA-*zA+cZCpfdT-|VLPDM@xVUu^}mF?Hwu&%{z`ZR|P6c&wT3%PunE$^#V_rL1>d3yXW zf#r1D*D9eM?^PLJ88p#JH$pl);poNkgNo8tLgAK&Uy{7vhHi~&`EF)$A)f_5{~{&A zIPE=VNKbEV#roW^#AV!5v%yV9_aN(khaT&$xaP?oEq!T5u}-~&ufda~28TjC-4 z8TqPNi#-20(b{I*ipcw+tCC6T)>DCXw5*bLXI}X_#p5#ab3YzwN6&&jBFpYOA|WpZ z4%5wvV;>RS7S+RqL-RDVcBH>uaxx7$#BzFR;D;n=>>}hm0S20VM4oK}{We2VqFKR$ zG+ozi;saN6z_fT-G4#c2c6d`fU1{^>N8dNqa%`=8&5d%4u%q6(;Ft0vW@vXIX7HEoeVV<8dJcZg&HjjXK70PpV^9x)C`sKn zfo_7gAJr>9b9Glln}w%daQbu2eJ$2y={m{$jA)?gtN~z&PcIqmrRNwQ}k(p|~z?kBm!%W#wrpS^i-g!?e zhrY%0QnktryrV0#6*ApcF{g~nPtd6~tWXM8*{d&!#KyQVTU8UTA8GGcVak za&P)MjvEnd%##tA7J6>1sx`ZHO+4N(6=iVqf#lSN5`5SPt-f&2 znFh5hedPqHql~vU^u}$C#C>?IyB?Hv3*H@a8}q{1({Adng3XL4gma$d-D@jZ2qgGB z=oT;|3HLggi~_tszq=jv)gq`QGlNj-xp4~R z@D^`g!9$mzk=R7qyu-tFf>Waxo4cK{%FRq1#c6jKkm=&B3b>O0;*f_Gr3_{!LNkjj z&2DpeH0wk&SsEEi+n=Z3_#`DotBW3|YETXC!HFZnW4W{YM~3!04aYLq;A+}p!`^4h zuR@xq_qx=GnO_fzY#gM_5X?P!+SFCr_`hclLBLC;A{>0o>B(RvD$)Y~3hiRDzk2^! zlAXIkO50*9HLN<*ae{ag6?!{5Bid)RCL zyd8(%B%jasXpSqc+hs@8Vjm@CR`#V+`0iIen%SqXV<&R*bV{5U#{QyWo?kc3*os6c zZylY{oEE!fRoy_!xX0$cqA32|CvJXwk8k=b5yd}d;^q(c_-4O`Q~Y~I-25u4%XdHN4zKK<$QC}h+t9sIqg!J6rC9;<{Bm?E-uE+|D!kh*L2iz$ z+u=`7I!&I2w#h$_dM=x3Ag)*`aC#oqxNx~eCy&@#iXwyS!KB-PrgAxnw;l8>Q#_Dc z`fs?F+9II1HjoWz3UDGL1s@$I*%Nh`QI}*djtvDpUA)OnMvBgID{djCYuAhV?zgj#l zpKxl~uNJ!(4?4#zDm9C3ph8j(>nHv2P$_<_{Hf}d-Gyz-A=h{4s{LB$3w*+9S4^$` z_Z7Ck@l>zgF`>Sc=6U(^DyTo%7elkMF<0`rRqxKN*!E{hP1}sA|0S7*0p&}(Esu8K z!}l!rUQA)7xdNCk8#5@moC^gl zRzIes75b=UVmkB165SUwGbC;uy$j?&@)eIJcV#BtN?LXi3p1H(oQIhF=N!yY?=M(J z)kR$5Hx(ykFOlA(f^jF{ZD3D8` zXZ?p4-B>hu4(xUB?|NY?g=s?mXzU%CQ~wOIAzVN79pQyP%Ob zq36RfF+(1tX!w(<{I>@CgVSePk09Lk`j1RhL_(4&iP(#?UzyiEHJ=%#l_T~(c)R*y zQ-)@cC>od1exfh0S~X<=`DDOj>ZIp1A@R_CsM2V=#;%usb>}B)if8k;(ELH|OaQkr zwI`yx@eTA{AuGrpgFf7f>9sziAqx-)E>q#Y9H?vmyK}3_K&pGo#R><5{tRP3=0>TP z2QTN)y8TFV7PI>k>3j4f)2?I4Pc-qM2QNlFp`R1xi@&wXvSJq0Uy&f%uoNv+yE}-=Uo;v^_4r~ z811#S%tlH1iSJQSsF7=BCfAp=zb)lS2Rftrdui2#GyW_4_YE};pTbSt zl8=KIWui_PK9i%b9cBi+A38SEml2*?fAGPHOFu zvnEWzURIh^e_pymuve!6Ztl<^8M&{VN;e}}D#*k*R;={!+6MnF1)ah(fc#U)y=PET z(0yL>LpIQl<`=bmue&;59LY|kP_?$6#7yFe{O3>i+n1;n7*KTq!bP_$nx+HxBHb$$ zVVRaCszx0yrf13?tNj(}doP%VO!D-+hM}R0WbUf7%*%M(a$U55_IJr;i?r?ck+}zY zSFXPm_5T=T<|i}_s=zJ%hf4oB=fYi^2lKR7DR=#vzIcoi3%8;pa3);kLBnD73Fa_JJ#|FNf)p<8{`Y7sK1_NbwW4}NaDKl!&50R6XS>f&czJ9;?(NB01ovA>4 zuj2gg*$TSHihhgRT#bAb%?W*%-+3tZSz%$n%4{Lq`l6ETl=6~fTbsL$*6K}0!2_2n zB7d<4txwDDy)O#g_$e0T3y?C;9eo*XT-g?n3FbXo?|FW>cA)&v&(F&2q*7%6WY1{- z&&i)Arp753Jba>m6?F&Y7hXuh4wKL5?A(_4bWSwnu(HqYb zf-&yS(Ux{fva4Ih3jl_xuC7L+_&YJX@#??;Y+MFdFU}66`F*nE3rcNR@B2k$$~EQ- z8Aa?GmZPx*DxzLv%2R5AYo}D8JNPM7N48oDU~YR^z6K_PtxnW|-FMm>aT#+rSHUFh zYJVo`{5apiOwJE7n)Zj10eU_lXUm>)^~6YK zeGc^AEADveF&z!U%?ljZCO~>Y-lk`V$I97Dj(hHHd;x*Uh5XI#ex>yn+no)^%T0St zB)}UC<-Gx(-4)0JQ5#<&0+nEYRS3KgyJF>p*{>>R2jB`5fR!sygv>d00_b3C4uP|5 zz+J6eA)+tzG{5yk`xhS#df!|z0IT$Buoh?RwllJ_3fm-qLp_5r4M#MFUr`tnWfGq2WiZWtRzfacc#`Aq`^DSd^uv8Pl6 zig?fiU;0Z#;OsxCJ$t#UXOfT%7rt;z^cf0dYkFdf`aYhvD+Wy2~GsIxf-)pdNXi}%7 zxtBBSOc4#_b<>3rGO;9r(hR5f7@GBWq!3)Tz`R?W!mfH=3o@`Z%-8KYnRqw!5 zS7b%h`7zrO;DD!m``d~#UrbIGHu&fM6DvB~(YmQ7)xpu?B}Hc$USCx0bOJ0@Z*>9F zz=Lo-fCYUH0B5xA{2`3kiCab}{deH^UMb_W9~dhJXUu^rTsw>LU2o1sL!a{%+%{eb z5y6Vy<>pf7V8rnfVV9@UxFYXvR?Kl}^qsT`!{m0-n#MAbNRFp7xDD=WaW^kw929lr zZOrd?vxE$M^zvs6OVo|nOa@_bSK-Gdg`0?MynleugF`V`CvJOb09JM*OmeHxY{OPea2Oq4$~W!)SpWoV3>romAp0N6Xy-~kq7 zh0ql*mtFI3c|I?Cv;ftyK8_MEQ9Yt_QPfF%kaJ*)kQy|g-R7|f0f7yNW7d$w;_mh!^GuHo6p<+$wGt7(ohM|@z z_vCZr#{6R+IcVU*o&7u4zEjPrP*T=hUr7L_`R4M?M%rh&i0c-9ncLw3?E7YY1kV4s zgif4P#DDb^PAX`%CpA(fJHFgVPhfAG>70==H$u1`Gwa|>Yf z1K-c?IR!v<5I5#$icf8Repq%zT&dE_|IM2Yc;(u_!FrrOrl+Z^sOfm2p=et!A5N*O z`0EY%$M>=yme(;*>un*_p*!f+L?8e=wvQigN4Ou_AcQ0(CEMhG_0;$ zrl?e-f~XJ1K-t?86&^eJHd-g7) zQDbdi{1J-ibe|iOuv)>-T$)_^oP3irH$1EW>rt`JlT|bcRaUBlB_g5+j3>PQQitGR z5;p}i_LL1Oh!-~J%ey;?ca(T5ohBr7G_Z}BQBJA`y2y`XGC&_sh7)s?YTAO~g`^;) zBQdp}=NuN#0u(#87f4YZQ)~$Zn)8~s?pIHkIZE>CL4&fkaB}Q_UC%f}aJ155=n+0m zB4gt%6>Fuv&}(f`>-)UPF!MNG{)UVbAWse`c8ZvTRAGL?9S`h3*N`Y1Uco8YGpTUK zUS*e9s<~kLj1%xq%ejzL!_%rcPwqHek9LT^#}H&E2=G5X&x^;EbMKPG=N~0YZK1B2 z6~-razPs`MDT;EXsN?>v=f}Rbo%!%Gyx{~Cls%{7)l~&h$z8LykmJ}N?RaM8_XMul zT64z)^=Om4NBHpF4Z7bLE(cspQ5~^oH-g=!cOJ`nZHfEBi{U(TH^y;?R9}{$fpUs- zVGg&^>vBo@d35M(gTZ;7$<3p$=l<(aU-uTR)~v89XYM!A?lNlE)!CB1tX%!MKsThY z#YM!qm)8sNt|^Hw-c9`CnCJ~ZCM1^O3KYeNFN#gp)>82wT#o>($MTnAn{HIeO;8F2 z&bLAreHn^CNZ8W%em2V~D5s32?am-DGy>J$nb?t(Y4u#TA@RLk@;3Q{ zJ1C$w2-UsQ*0QzeqcD5g<}JIv%HvzK;>}&hiTcQB}lV z=^b_`YIz(+u}50*}w35{{@{UHVtg@rpdVovnS!0(N4 zYjgbboj1&w5bn%LIr8(45?%nli*Y`f2MYXscUU6F^ut;MQEI`N?Z4)Z2_ifCoy3V@ zfdZT>YD#NR&TVM>>CHoX+{5(i?A<$ct;^Nj+i{O>??BdftetKQsJC`PgAfsZrodJ_ z#U&=1f3(^zdk*Tn4GPT`uqpph-hJi$3MHB7eWoB20kSCj+Zto$d%B(gtYv=%_V7TpV!l7O1}x?R6qmQNjNdTE z9*bcX``~x;kp|`nWP4+lQP^uPa=zlFO!W_{Fsd`Pva{u6@ZyWi5YKsC8;lsW)O<(a zF z&YK)U%IKXz&cBm4s*ih-HRgW#!Aog^=~om+odl9~wQuVr@K@xUk(UAF&R{pJLJH-d*#N?M$baSkUk>qZJ%0iFK34 znr3?Q4Ym1j?(=00+4)jEWBf(uHk1qSy8u-gqEpFJ+z0eXQ4sc#A1*@Jd*|$i;4U+5QeL-$wz!M4+PoYk&-F-lSg1 zcxT8%?dpI>+IzX^;*^MTUrP8HXGKicS$D6vSW$r88AeO?Y*b0ELMQ$x?Dxf^)GcjG z^gw@v-2sC^?bTrYjEKiB^&893y;_&}x`oQapwo9wsN!oLJqsnQcIbG+UJEV%({TK% zi+&#H@ecdNK+sm_ysz6?5M$O)&+A(oM(J9d@SDT#ylOrPL`=nOXl1d%g?d%z*QMWj zbkBsWj#?r@qAMh-ldd<@!$m)R0ge$A4;dP6r?JXL<)o4XD;sU)WAfm3Cj<&eN`|Fm zSDp@j35Aha!N6wWZS{UXJ#WTwl8za_k0*zH6E5sb5r^K)nmob#f$ZOduuYi%*KU)Q z^(SYKLl4A|Dm@eI04pdRom?%#JSNOYyApsdy@GZ6NQlnV^ok~JPA`#z#El`l;SrcR z7hd~LQ;&Mn!ObsHM012c#-mJpw@un_)a~i{+HfjW6x1knA}4v%ThKa@s}3hH$S@Q7 z=JsOs{Z1daO)R>jS17Gh(IG_Rqno8K2s<8ClXCZf2?lT*kmSk9UrtJW)*1C#N$P_E*3D|k;g;wIt5{$14F zJG!QbA%kHj)sL6QwJ&#O1)CSkh^E3`IOvfrl!MNXcE~HnDXW%gZqE|LoKN%~co)>+ zws=p~rbDeh&5P63)(|E+Mm3ZH>6F#e@W3rz3V>7-rm zPQ{mUv>2W3mY#D`n6n~eDJ?zBVS|{U2r2Mele3YlyPY!Pjv1+t&?vg83O1upY#DME zWhJJ$RQ5mF_q(0sE&X_PXxtXdaC(fMgZED>n;`bmEsmo{ow)Ad^4Ir|=7RbR^CM18 zVTQbx0Te0Hxv^VlNxMr*;??=ZN;@ZQ$8Z~v!)&PGP~j+dw;iv6_*2{#ddcoGi9RZm zz`3-gk40>(Lhqmtw`K;D9InMzQpKJ zZAs8!$#B&kOV&5Y#+i;_ z5xd01WHPI49NsqUn&sTwR*bbj>8v)0_M-k`okg-7;yGUubOnnX-;4^iy73+}?ZDZe zgIE%q_}WUd^v}y9#onY=>K$|!FiVWS0j^IsfI76X?y8pilJlsN9x}vRhsBzrtI@!= zx9@sW(vTTf2fV{BsfpXmL6k=|ZEl_ao01-NDl|Q(xVOY5&eN5upCJyz@b4o(K+4mK ze|t7J=)O0sCPEqccxP%?e{m0lq@sKNs{k-6*qChD6L(|R!RJ9i_B?RtMt@Tr)-H_g6ZxRG z3$6O8yOpi&vQz#;zcnQE}L3Q%sxRavhC=A~=0lAALAvc-Aj zQZb~>uf-&IEpj~rGpfvXPBkT2V^{z{B!`zYBq`=x?90O%^jP{r*y%&PPDnCFc;Jnp zRL$a9Yykq;i%8I$@^kNkc1?HA+CJx|>U1Dssa@iCNl-d{`^c+!qA6&oHpswF6U(0@ zqUO+VWeVtNkGr2%ayYZKH8hP$n0R^$NHt6?Uk^lsHz_j5_;X+>Y@R-k+P~t^S&F-W zwcf6?HYER$tt_q6b1it!?oyOsgGNf?R7)voRA}BP0Y~DOyEB8R*dfzKr_RB)rim!m zjWt)x7DZS8eJ)hMgn(B92fNys>nzvM1F5T=gIsq)Ga`%I#SvY!fpmPb&^l}9+;-ir zDTnIq8G+AomtMDa_pp6fnvjq`?t9J+r^(cAoG5ftitj|;LOS=|A~@}vBP%LDb)4^S z{UR*Vh2yrXb1`h(ifaX115bU_u&Qcp`)cNTd(N|mya{u*QCh{4Ml}*)HPLRX!_OQu z4V!Unx@HGYT}+|Ik&NfabPDtm1(>UPYI(nHidP@URY_~_2(1^EOe&;AFG)PeQiL8v zg1&t4N8lUg!rX@s>N_~~%8}p3olT}5R(=>Mf)E%J?N&Q2FM%FpDMQO6VIGuw&bt2g z!%Nf4`!o`3!>GVvCRDgCR!%S%*6=yn|End(E|f2xL@b-eUe2F6q%^^X%%7FO43FV6> z-p)i(XI=M(?O)9;M=qjj{E{Xz%XtjuBQ#h?Z<)iI4w=+h80Qos>sl`{84=ZD-zb4e zi0EOBCpCA)k{^1!8#}0`frdu*k6(bYhp>(k7jb)3rF5arY<^Dh>T7R&`Z{`8?_8@3 z5C}0hHA4B9k#Vbm4nLLQ{@8(YIci7{>zPlld|JuHF9I8wC3E0?y&sI#KbJI_hmTOP zV@_;}s*)Y|oEPxL^I_OAc9$>al)Ip#IQR8~MA!gqBj1<>DS>$&+hf&}wRykC`4E)K zik3Y7o-u_$Tj`hb%plzAEp+{fwvgow+4<_6;wF6HHe)-LTJUw`?mQI`wIXqdI^O8rWBSr z22wtE?mnNpkcwqP8;4fwCzCdVkhHg(x!WZ{(9&lY)g5JhAq1*E?<+z&cCya!Y!t;zk0_y7-^j2Io8kOaCPB zeu(K97j~2eRvpD89Zr3(CG#9i*#Y(&Z#IMHelWgf`yucM!%A)Ky!#Wv#8{4^$%Bm}L^!Kw|wQ-zug+6KhY; z!BwzB|6{-Oux#h)Q6hc8+ZRjq)$svaA^R#9cQN=$g#QWuLy%!P%xQD41V!x%y~tAe zl-+&ir;^49baKrx!YES2jL-GK^7Vob0s^rcb(+A35VXxEUFw9lm315T&MnjT(f2>r zD27@#?mJ_jy%a(}?0kS#U5ztd|kMv^DAoC zgKDDGOdEr?ow7HTm|~bw#sTyg)^uUVCgvfrrk5+QS7F2gC|-<@p{hS&B_+_7Ej?Su z*pP;z8YByh4qLZ_;qK2itcLYnPrU~OktVRTJxK5bZCsy*-X4-0rj?nwG5$bOI|n#B z1!di5c1B92EkJ@Zp`Y&Ft?y4~g17x&Xx>k36^@$p-z5YPhPQAJ&Y}Y?B1!OzRVH~Cr zm!zL@^5cxbQPJAtj9#A-t~Wmx1@a}Io@o9^yYp0mK~-e1x=qyd^$yF9gAzE0Z=&H7AppK;NYJI{4V$*ka`4>nU8hA$-VA4>$i61 z3~co`93ZX&3RU)D!r@TBN}SA6kZ`yF2YnBwZ{uSUV*TT`>tNJHCRTxastYK8o@ydD zAcL7*UsU`>oLv>`No4P!u??Ag9PwzdN-JbTuc%+D328N*5ogZTcH>;H3MP)NYNZ!C zC9+Dysd>nx0$4x24(Q8x_z3hat2*Igt ztG0>N#VD3bT2jxF0-{o{aciZ91u*UEoSWo!=yp)D@=#NFbi3Wb7W+*lm-FhOYVWuV zmX{WA-_MRj-i2jYH`ekS-Q&-Z_XWw9b-dzNSCg)BJ=H-G5u@!mLmZA(GUV+x0(5B( zpXTRZ@+C{UF&+CY9qPN~I%TbkC(1854S#)zM`u_FlRFhEhUx`EdsDa4v7A96h4VLuq3Fe+Ow!nSG;=hX zL+kYO5QRd<_>YBQA?x*IGjuk*0LQ;`t6fGl?1Z%mOw|x3 zXS^>2w?8uWVasNzND)Cx>hYt{;ar1ySkf#tUV+2f%<6yQEsHk~au;^q)X4(LXzVC1 z6^ART-10?tNFYsWFHcoBibWmE9CKST)m`>MipHF0hd>f86~L9wYz@U1V^^aaFxM6F z;H(CgHr}nihoQg}n8zNf#3L|0tN(Shv&F%_;ex^%rT+Q=q-ZLBHUdQt^cE*awp$)> z&wGJ>I_}7A>dCxwx?#Eo&S8GQXZR2m5A444DU%P%xoZi%-B!B24Gz>FMu{+;1MRpC zJuuG@)X?@+^BR6{TghlPv~W?&-F;y+kt$jn$2bR_i`~rme5yoQ7xue^1nw)a#d~Hn z=%kZXeX7fBfg9h4-s~Uk=kpJOydF*<(?L?A;4j&g5o?&tuuHEFuBk%BR z_UI|waxMpF`Fa+uhD(!6VI60lQy#7AUS)m*=$+6_yvVaUwn82*+1a3r{ofsI26j#k zCkk5=4^MZ$8}vEyTnMO&m+wtCRRY9l<5GMJiZ^BWhGa>KKaYG}V@Bo|3lB*W#X8~> zt%jH8VBKHy4Vx)$AAYYi`fWtk7)8`p{?SW$p^`JZW7M>ACOEsX4B8VrQ0pZZW!H6R z@Vfd@eCzKLGQVdTbNGyLR>r-u3D8~IsI?6roB6)A_SN%qo5W$I6_0R}!wJ73q=xU7Z?+8gc&G_Z z?BVq^(X%1PRLl|x{cXx`<#6Co+>n2Wd2%b57}C)FPl$@#*vsM+ie z#-5v5biO33hekkq$;4e~;R1_M)-bKu0Lj=Z`y0enBT6OL&*7)N6_hGm<}MYHtv<0L z@8^aLM6Z*Jq$*~5)Y*%cYx6-oFnX9#poUjwXlBKusn*weAx1}g4yrENqu|EFW)cZh zPp;+ddbrg^)U_Lb2cZi0`u9>3>zTD_quI1=;On6|j3Dz9#xq0cuFn;i)6>*kakGT) zE|$=8(G4nZF)AmCzHtJ_q1MB<79-m*cI_i$~*ut-?N^RpJE(xJjgFCXv_B@|BDC7oP`=A|)qm)Py5Y{x424m-n8{K^Nr11I=__3bE9f6xC6D52#pVN`8H-Xlp>hO=y@8Bm=v{Jh! z)Sa^b<^20xDJf_@!1yt8AVWi&vg?P%k6;rnkyi}a$uGK1CrqqEPpRaH736znxHng7 z01UXe+5rKTF&iv=))N;-+NKo&npz5647y8BMQ3!n?OK{Qd}dF8;r4S;%W!FC-%7t zqpdV{8CmuAdT6RxTE;TlL%4`)>q@ffYG(%G8qHXzep9iKxlRswc)2yeGQ=Ffp-y^B zq{}%uz*-3IaHYCGk?cfCpO_}LUIg|@Qv$Ox)07!k7e9ZM|5@j|&%^uE-Rg=}q31IN zSyom7zpT#LUDrb#lyBE(~Z9}9LFI;G^Uhs8Z=qZv!!G!Lh#pWOoeNf{?sUJYT1+$A9!@wZ-yUS#h@Ma_Eaw?|)Kr8ZEy+ z_~~2FYS~K*Soup44k|)pLaSUfSAwSM=BQl%+j2UsbZ#BR?Mg5>xV7Z(Ac33x1o6)+ zr_Gt*pVQ8RN(;*>32`BtPMq+Ad9`i&eA%h}UmYGSH>R;BO0?8=q$Z>K1|`viSYiMQ z4cgOc?>PAr?oXI&dt`W+PH(wdPH*|ibnjIQai$eVeYwsq^0jOru|+Ow<^5pzG?LE( z&u@?}(sx)RJBxWX8Z)i!>r$BP!1}|Ne6miAC;(yXM!Wh{ynV2m%R@29bdN=@9yW3? z18(#~;__x7vDG@eiWH00vUg>e=v_&J+4FcNH_-PGxJKccEa}ZtOkXt~$SVcB>Hz+c8!B~;Z+cO^`_gN}^J$5{ujZdBMwHAAsZ442`y-vuYJr%W zspU9ZZh=_oMP&s2f4O>y+P`(kP0hw^%VtYufs@-mK&-;i7 z3g;MV{{CSXOrZ63E|R7@<*L^T8neISA1?hXK}BtZR2?$8c4q+`?iyE zxwxi{f(Xj~KA|uwlm(Uief;Pb_QM#jv`>byFU=udz6s;DvL6Laj;wPRv_J^M_FBCWV)lO5KN@W9HZz{Aa4@&cYl15Xtf|G*K4tj4d!a5YS61w0uYw@5Wzb@VXzWGpD*Bvb8~c=ciS7MtAe6$W zKo+jEOLVu?&h+@Wm8-P%8pphc!#n~DTy$TICR-?)GF|h_Qs|U45XzVSEq?J`(_LJ% zmT{rHnfnBsam8r zjBD!7X|;FJqga>~HRmAxRnCk$uH-U$u&J9HIK#oX;u9-0W67&iuJ&L zuiU847X?Sd)pH41re<6T#{ie{fkwNzI6jj=QtP+exZXOxt+}U=54?{ks^RUe68r&9X1j-j>agOP@TLtjanJznvvl z#5{Ob*lhWTzGT3z$SYvDn#$>5F-=*{^MTo5c13W^i&5+oCayHg}b6k4fF zBYRAl%_))w?pr?n-WS#u z^hMmXz=a!v(X(Z>ck$saMLeJ|s+0wl{_WCxt~hAJ^r}DeW2Gg+Lp{i-KB-2?SQ$Lq zn6%SA8s_dScUs2V9(f2}wc}ReR4!`Be?^BIj>G3Ve;gc|271c$NSiS(`L)%;;V;Ym zy%%@2%DXS9#-3^$CEScyLM$W5I8P) zYD2@>AOGMa)0dc9eO~L44Ku|CoSIQkd+SVYo2Bo$89mkObWas|8Pr*LRB7*2hL*}Z ztwf=@7+ZYY%;t#DU7TooONB{QFzBP)n9ig?XS8$wiNCiuO{9GH!GR zgf~VQ=%+G-1X|;aUD$M!i&$;iO(Imd$9{4YJ+d80-45eal6Xq!cO&t7?If8fCCZYp zfI2#Y|Me%IwA5DN4sld$6eQk9w#qqXh;-yFM@WoxS;qRSXJykNbh;|9#orhGM^3uS zV8ay$YYuTD=&E?Q?JTQ&9g{csoLP5JJgX>5Njs?5tti~QtkzJ%tlM*hVr)cDMI>%G zb=*UR=E{cuHIz0*W@eCgUYqe*xb0=^{wCk}#oMhiwPV-5v*zKB66LHDlW&8~_wlH{ z{h9VoY}tQ?XVc12#K19l=}}U?Jf+Z^EZA367DpS4k(#^Z(kFlRhxBH2&_@$0=;jQ#LXT^HX$Rr3pRM5w{=QC%{&ABU+Sz2gI%!uz z@xC6(*6}VKw?2yzx{;0;VaX~_3mIuhmD;vVD-&M&=oHy7v&uEM{Kf(C%UL-vy;$Gd-YEKLnHXb)!nFz?!_N-8c##k9nCz^?+aVry3ra8K{_7DBE)JdTMH|$;AsLjal(H z>m)WR>5(Z1?XAr`#gR#$sV`aE30wo|{V9c~xvo;GXm9pEc&IsUtGUVl- z6~I+hWHhw85w_Jj29#Tbxo(T~J^1@}EaUw)g;rSbnHyiJaN!pV{l;S3KT<=SDYH_^ zP`<8+iSK&{%l}8xb;q;$eSfNG&8k^jZHgMTNo!V7RkcSbHEQoI)Q(l7Mvd57YSpe0 zYS*Sk1tCGC1hH4*m(Tb2&-*;D=XpK%o^$R#_ug~*4@d5?c%LHl=sD){QSUQ#v+4EV ze(!2GsRv`GiIpcF8~d0mF8^W7P3+LH_WRI;R#KiI7tv=_OqbsA)q&K^Z4URfq z%zeQBBB<2GVkTU9g6C5uHLlP);iFOR5WN-~d2pTCry6OgHio%RoXF6Bd6rUk$1$Qx zp<7d8XEMn}8!(D-u{K66d-*v%Nfl>SiH>NID#32lugeR(qCm8#YgTIT_?(^*RkFph z+2=vUxRm0xG6%M9+h48p`@7*zQJV1LhDw) z593*Sht}+UWm9UdJXb2Q(Yzt>16nGhvYNCv_EL|#R>K|G@=2&*bLi@gV40DW!mrFk zM~SrdTXVlWzL~;5=&9rkHg~WoA#YN~RlgVX{F*DTmKk$#nq&#%ZvvmL>FEr9tL&CH z(v{pnKb`b@H7=l-EzQet#8^0zmk0i<=j1~eD#8qyy&Y@bMilER9Ob-?C>M>H0$=1s zh=fh@=E2bt1;TZ?{eA$aYN4$=D!W5kO4jMvn3;9MA_27ug;>3;x20%!!NpU_DzwXF z*wxt7g$oO<4jb68|ZcQW`wvi+TW*#!Ocf{O&qC23v! zCxf;!$EBBYrHK_QzbYB^c&L8udgeMd=l9Cx7q7I2Bx5s8L0+Z3&E_~W_-kGF`sCzT z=;7#*kG0r`stcovuk|VGF87T;Yb^y8ZT)yLr;*>Qay%}f;#Q}Rbh$nnlc`PrTAgd! zOj_Vlo13~6Uw|&N&-QlgO1(&sKJp(Q{;!99xnwbUU1~q?y_NM=(KUbBoYspi*D4|z zT^){^T(VOD^kqGcaZy?}_nezGIF+q;g&tb17=MGC_oqS$HMN&0-++RB3FEL5zEjN~<#UZJcZ39_#sBZREE?$tCNeN(17K z+Qy~u$?;d?@)$a&`E3@KNs=Z5N#qmSNxm=c`qNzsWsF%a0xl5+cVCS=)IN6l$CTAk z>CCS%r!HyK!cAMbE^jNq?4W8e_ba$zDKCDUrQfYq(n;0CWy`r%IaihKBbIO91rz+) zT4aHIM1xm)rQyxaR-c6@yXq~4p#}@KpJO_vo8M;Qj;yABx6bos)_i<)A&n91VJ0OE z0`7jJ_6r9cHx(*!*}{Z5+lGD`bj6Yyv+$} z-(Qxsye)E*ST)v5W*W#-04tPzI@$pNOQli>ox9;{N`4$R^8N# z5fQ8!V=l;x)8jy3e4?alKDrR;y`_=$xF~6OvkKc}b$Tfz&^D$rx%@ggjdEf%H&k(` zP@2|XZ?E9n>Jd}=$==RuKEeEYQ5%hNVU5Ed3`ji=4kHmkz&`hp_+uW0ys7Z?zfK2% zF6o&qG3&j0!aq|bKshD~7iN?X+C9{^)E$1b$F*x5WB}AFJ6+9l(hL5^=@~32igWom z0;IyNb~?gF#}vN$^tC5m`I6`L^}0>vC8abb{leNw=kzc4cWG9{i&^1+ji&Y$m(KR@ zB}ZAMB>nOU`B5-2YN1R1sWNShanAt2;rmHClTmtc^MRANA2oFsSLm!(VP9Pxqx2)bt4=;L9uMi~nGCD& zahECBfL$89?@+2!If)Bxu?;;X%%5GA9$!l-ziK_e#F^EZ@z}l~rP#VZWlWd1=>ccU zP?%F2wnBD<{L5ui)|Z#sSqWhE@NopEc4QL5Z_$4Is~y0)hjLWWQ2~Oh_hgjU#;FE( zrIa@a3#PyJLF0K)#-o~bVJE6!zN5~lLUz04^4w^$6zRCG36T&#yj0LdZb;DYkD1cL6gpeEefiRVl3r|mE4c@0akkKtLQ%&~{L*>q7~nl> zCCh-dn|vbt44a(oCghl{E2Ty2$#N^G?r`&6os2rS!CXz39`6H-XHrvCoAOPXk{#AH zK90efqgg(+W4e>(=Gj*8mal*3`RR?-rKqj)^S{oFv{X!+SGepheU_GEoEvBna|-yA z1$&QN(hM@wmEy4Om-p3{w5wZDK$==gsaOM%dceUh^wQioil?qyp{cCZA+F<8QdfGp z1(G+lUPmH-6dpdR@q-32&NGVTlksF{vyAMx%%DKqbKr7ae zZ<&5CfQ#=@^_x4${?cD%wcu8oCH(T|O3$*cP$3JR1_6Y7oW#V56VZln!^JUxuV z#C(D8?2_I%;-g>Mx^}#JP3$e!tlvS+&t>WeqvnTr>*~lXCVo_9biaAkUP{&}@@9bY zhGeAgRb!!a$t~0uwdc*cM8Z_3?B!f$u`4cB4kC;3wh&{xO>+-VJ>$kg{$;X{nYPhX z#2XJ6eaL_alfsXm$d3H7WQg%f(TznzzU)j-9$?&>k7gng0>s)%9HbXX8VYf?H!+7e zR|@O*(f)xI<+}QQ_|msTMz( zG%ZQRV6=`q+#YeQBukUdp~aZkR*5CNb9^aBbil(UQs*&)li?=sM?-P-~Dq5ZE zIeH_uDNuiwzS-Owf!N;o#a@z!-rwbK$my+&>?W2a*>!JdreXi>LCi=a@4gS&!DIP&k1t4FFk__QQ)}QM+0v6`))Ov^w2w@Cc80rhw&SU4 z%4Odh=;;j9J0oF4hjNQ_dszivhfkw3s2bou;xl?q?snYil3x|-Fa;h_+c`=Zyp=l=1EHf#S0 z&4G(^{1ZB~(+BIF2Tx_AaQDwK`Z0UZXdKyr!T|H<`v?>%{t4qI%0=t>-QLa5jXuej zRGveJv6?AQ*-T$9k{HLRq@Fr?kc?PHFwcyNG7V*{ zNtd!RSbo^rF7UP+9SiZw2k8~>5jp;<#+#A9*(c;$AT`+c^9G?)_S;P@baHC2&zAPk z)`r??kdfs&WZ;Yrh9ITk*Ic5Ll5ipthNYgMh!es`QMUcQr0Kf#Pp=MQksn~J8+RAi z|7)~U*QDKjsWIpDw#>v_@TiaUJ;pkJQe%`)F$^a*+B4AA-P;Q-k3~3+MR?|VJ)Z8& znx7lpclT}JA_5R$njPcjAm25oxNAujCQME+Tok9)9y^}kc8Z|s>zuq1k{e<+sedg6a6JVmt12HUsF^9@FV+7e(mczp3$SeUg9+I4R|%K z0CvXT@9)XlomQN*nceaC; z0hWHjO5zCZpu_e!5U;UDJdR+yeS%sL{`J^wS39cjA@IO<9cb+lu5)|Qa5^rPhNs*s ziu>nf%B-z~5BpQ`=vpfOT*Vl)Fk;6pEIRCA5B~uC!Ov7)I`{+RU+f?vRK08Am0H}} zi*yzM!x*S4vJvt{G3$bh$(Y_{!HH601afM&3z_@ox5BW}UMpxfWlPX-=C7Nxdh_)#g!td?$M~f2jDt2lgUND{mQ06k@=J(VO};*ot{x`rxycQtjn4j^WZ z_SH@aB)wr>`6;fJFQYSn z%73(E_jhzx`TmRdJRXUJ-A}sASaH|V7#!*DtwoR5Swd6c;0FFGTR>8~;L@lwK&z8v zt`WPN^Xet!>xZ0^p!d}$Av^N=1KKa?&*x?Hkc7~+zwpjqQs}%ixkp}C*@zNd^O7_hc4esMPt2GVp^4!dYsA2IHFIz1noTa z83XPgQqI(AT|HTXOc!b7$DKZ~fam?peg?be?$oS4{Zgxw3ghG)Sd62`m^XiQ{%c^A zE0)m8u=K*&wagtXONFs*-Y>R}JS{U<8&+x32w&9-<#ID;vG1H@lBHdwu!Taz5NT!I zs+PaohS??e#8jAv0yQ-OKU16Hd}A?BOv`VG+*k%cQDGft8Y*(6Y=$yf8Xq`lPpv&t zFkbl3w_zu$l>qY7{?aYX*dh(5+V$sBJ41t+ALI5W&CHJPLO4!Pf!!+Q?mY6Mw85{;<0-q}-YUeuK1h=KdtbMV8!snhSw6ot2Q@0Je~~F^N{vQ>3=8E0|t)-whVG{j97>> zR0Gd~aP~-9NGj5erG5(Y`MUU0qIq3+@VxFyO0D&2Px@GcwFLcU7)=24V)vNF<&m?c zm>^$eF8bt3d@&+^^QROvkdcyaJ+gl1)bm6;<~Acahw6QpLj0-l(rZy$D{3r>s(=IA z;$JSLJX3A1Q(5`aizp!Jj`^)qd;ZRd9ON|XM%Aa?_GA7l6N+vFyGy=iITLU&l&WEn z8#*i)bNj;tdF!o3gl$bU$9IbjNTUTi%GD(4BAa6bNMtGhbTa;FaLwSk%LOYP)R&r# zocv?B>!QDd&_(7t5ilZrx#@9o+d@KcRMwMHmGXMJ&CC`x+5p{x6iUjdchG2wZjZ0;%jf?UIel%a=yyVl;xgM8E-ZW2}c zBWJGY6e2ujgJ<+g;%Q)W)wDoycWmp3=ug@XjsR;bLG7w9>uiJ9nBOUGHsV>2G&&v2 za;xl-vrp*WTK!P@kP!i)#8pO%v6w|eDSyH%2oC)unp~$no?h`UP0U72x(WRyYjw62 zx`>4l`Rw?Xp!%o0uYaDwa>6c1t#Y3Ium&asyU(XaBvJKVKqd{vptDm3y%7;&ZXC@j zJ&wqT7em}Ow@zh}I|MW6oDW;1VxKpWJV)!*PJrR6W-}T#i0!?Ew&{{(Fu{{{tpAFC2*|a8 zj^N+lKX^CRd;Y+!Q0nb!B(?=~4;@;}K^j0lAaVX|8%MnaomnO8tV#B^DV|P?*%h;A z2b$ibPbi&dke>Wij*+-%C*E8b1`&fAlf9So4$G!-oQt8o26&wfu1?+a#@iUx=C7R^ zKa>IVvtsg*VPpZ17WX@z{M*4%^6ZoMpYSb}I*%3CCbu#zIXWv9V?Gf2OSu^uEwP9Y~4G-#KUu6)vo>nVJ6glMkxxjY{8Y@?EV0jQ)(-bW5}9A2_D4Tu@_DHlG74QF&C%Q8KqReSNN zVxtLgpd7y-_=gs8vf*b3!NR$JhwxN|5Y2kDx+wKYH6zMyA}dq;Rk8 zAD4LXnTrV*v}iY@suf*Ge0|-oHq|oX`K*%-Gt>Vz;zYTPcw+_W79kNCmJl%JEeQ-F z+l9YcO*VQ6w`eAxaV)qWaivXZMZ1gf@#07ca%)ZiMg`DX{M|1c_M@F$K>11AE%fRe+moK7S zA@&rZU8@WCpuO&uMY@$QBvA3F+n8t^yG`s5*UMdV}xZ6uc&h*pWP*9M8V z3--0}#tkKm>z6dx`^}b*SJH1Af=usS3EY28G8->|P<~zd93WsgP_N5?7PJxAXaNu5 zpIm-tx%nEwbe1-OY&`$#4C7C{+QelhAAS1{WN*1Neoo3VFD4Vot z!AIYNZ;EpHuCtCLdrWVOg9F}wZ>Y)8?6G#9D(+5`1yb;c=Ftd$v+@QCov3&Nx6z@M zI1A^&hA$GYV{o#X+u^*LZo@~_=<_c$YbhV=B$rH_l}a#Cr}~7dL)|TMx$j~+cycY$ zfD!HUS6&PhCH=U*a3_yMo_M$8g;pV#6}_xywLIp;>oVN4z9~ZB(R)FQ)0Yg61`x&o zxkK`4&S#;l?#fFt&9pOHT|D2omYz0$nw}@D*P2P#Odd@7$|WN^1|wT!0ss#q-@LF# z&JfK$)=$<|Do@<0lbam~|D1^SQn`yhT4A^lEeWT_$TW0{vYjn>C4G`u5^Va$AyMb{ zO;Eum0~d!9YgADX&&KVQTmG!;;{T_!Oe?nvOzR8Es~>Ss_n3D##Q%dK6taLGJNsPy z!9?4MWd@V&S${-NK2NKXXf&pt4ZSfo zg!3pDT-^Dye1QMN798E}`TetGgo4?0A79UVf89rO`ozmj2i5TpSG$(giVc|)Xo+Ez zyCm&ebMM>JAKEU2u#RP-r=CJv(%aL&2!^SqH%C0YMEl_1jMtnS^#FmFNtk^yrHXVm zg>8w$LhXV$Gf^s(Y;SCzIFV(_NATNi#$PWyr!-QT}HrD zJ<26Iw{9sBovt_5vpvw#yjEp4T9N2o{Nm;WyAs>FS{}(gd<&SP@)FznrzP--S(XGF zHUNpl<#q4Wca7YTEbcYnfRgxoLy+Oax-4dxf4~))so~3Xik~Jm+`n9npOx>MJ#(uk zA37tPwQxq6+}nJldF2v|g7sYB$%_H;UZL3b!qDw0>Eq$1(lwkY*e@!-te-M1=87NH;D92Cy*9Vm2~7=SaJDZ{GW)5dwK}i@dZps+D@F=u-?= z^i1kAwpiJel#(Aw0oH=?Y!6O8o}|6vdNSZG`VE5OtBlk2Aukg zIJZneQ@03p$h>irxVuX)bhPwpdpOE~+>-OralQZ=$mN)a@5)5~O#-TNks+s-TIb*k z6(|6Lg$DWh`M%2X-(!yr8ao_Evi-zi?H94b#0z=3f_T6F3-j%?fBB~*-uZcUnEV46)tN12dVrH!t@d;NCIirFY5P`l4VRQMEgj-YxT=v&$vhi{xtuU)a zNZ%e&XlaMDfvF^iJCBFGf(@=#2-N}o5830p4GabZ?{8bLmm6}qwkm#i-`|W4Wkc4dR=aX?%wK3b>2`N zHd20h7?g4|Ih+fR4a&8H5QPVem$&zFR*W?qQkCmP3e`J4VDjYtq(9r4p{RIG{o6)+ z{6=s^r$WFIR3f#A@3F~r6acEeE(zeMfWHjM=EicMZ84D@nqs-6zC$KZ#`mEocP;RsZ;lqdWw$W3{^e6$CgvLYt)_sGae*`^9OWq9KGl9mA z-WrEKi5X-T7}Gms=Bb%D(2~Bc)w$3dkuZy3mw*Z>L~a66o6P*$`iIQCRsVrbF4WmP z8!F!sby1W34m&s+o_WnbB29pVz+zPp5ti~dik5qjnqP-H^E#?LN(cXR zc9st$JljVVDBbUwyZ+2kewHfjNq^?V!6WIeX(|cnzmV4((#sH?Fwl!kPcM)o7AHIb zm3gbjH2{@*s|Sp`ewWchrQrTu<;{%x?l1@ziG>))s6^BVPe1aiM`s~)V%V)MWAL%r6Sq?x%MKaHjmD}IxPa3`5E9#>DT{~WGTFdcjVbS3xV7gM^>WtFe zu@xjXao8p`3d(Jj90g^xN{_+Q`C?g4UKSUQ&_}6keE==EI3X-deosmDwh@QsFk*Lz z0p->STtl7`!`B!!uy5CIBvB1Tt*A@V`R(DA5sg&Zd#4OtIrGuqG{Q)|JTOnb7a|8q zJF^ALmDd285wrAI%T0}7&s%j=K@Snnd!G;)Xe-lsg=72=IT06;Y$SLhtOzGO^V`#| zl;JZz$V1fuWN5m?J;*w?dn7O+leld_Y_ZkzW($ce$M??GjlD_^>i@k)J@10-J2iaVix%G~v$FtAkbKa+0 zY0u*YOl+}bBbVS?2BckDq4{p=*F0-e&5eB8{80-8v%Xwv))&5CS9AvpOF>d>$TXtW z%5HVMMi|{e+L8vs=x@TAYv!o!fN)pW*A0hvjW^^3ZNGc-gYr%qZCB}0XO7f4$8@w}LFoj)lK*+7Y})e7y7rRV z>n1Q=XJ^<`i|vNCvG{Tc1miN~okI*w+l=bNOn-R`%V#FrUInL;7cb(CnvMBh#(TbZ zeV$&eb^Y8@dv)3_FeimiExy~jhuimF{W{+5;h2AW%ITB8U;1a3c9Q&)f4A_bhJbfEV-l!X$phIyD36w+P#mSBO5>-J62*na9JNt46{(Qs+x` zidePSs|p1w{Ny#2bbss|=wp=4O9`2p`B)JCy#G9dCbZK^!0QDfNcs##ft^{GwV)8L zBQR|IT00)u>{?z(Ls%6)&!U0Q$B_!u-}2Zy%+mP7)K0z@AU^fHOc4>pLEO%^X5z1LtnMYiD|CY{(egIa+rJdGKxFOCeo4KY`8?s}Nm2L_EJGR>5tQ^?F8Suu zaOZ44%Z*@KV1=N9>eGSK73aPmVOJV%@RZYav!eQCbo-AXOg;CW%!_zaVuFvdCM)G_ za{m;(gcr6HvW>{;+$aa$-JRjQ%=;tWvEBOPCzP|~kt#E;qiz-888R{e@MN{W56K_; zJb)eWaM>8Z|q*9P@J5u&r$lw-VUX%Z_MSFa(5{>8TTI&W|A@I&?Y!|Lg1 zGaF3xw=R+6+e2+gtTEa=dA}c7Gpmt_F)r&%If2z^Y0J!W0so+Phc0n7FPZ-vIJwXV zk8)W3tnG1Fw6vVX_NQH5xLLeinSeNF!-APkPlozJcC)EpRg1(keuEezy z6_^5~{VI@4i8v<|*1ud--?hq<)*4+Fprw+ketD}t0jFSCSP1&*j5Qs=^W937jG3`b zhLWFuC}FEj#*)cT2@ut#V0V>!QvIq@Bvp&aT!AYtO3C%($k1t_C>`G-D7n7&a_TTt z>u(#~gFUkI>h&i}MBZ>#w}^lKOH5eq0lNfkqL&!|*f zYEy54#=Rw$x-+Nu*?QBcx?MU=HLtlMpDe5%vmoSC;l(YAlwpNPRX=_NRZn-%ao_;w zlf0sEw9Y_Jf`tG4f;KRuyQxw2u=BLSz%Pgtt!>?zi?C8u9&F*FW>`eREZp$!L}Ck? z+t3;&SAP=cC&>V_B(&1U`Tle17Bd`G`Go)GL;#0Ir|spx$9rbmin*r)$NKM^&ie=z z&f($OlREWnQ+8nK91#eun2dKuc;4m$vDCNmGcCX@t+j>5>)JqG9A6)IuCDGY#_b_D z#ZI=VkziI2&l&OrZSQMYG5DYMZUGN_myXAD0CEJZJ*7;a4s@rTcdga#?alnHy)D_I z0Ie=+FNt0ix*M8yC`_ptfPfOG-BvC@y6`a_@b%h1#xt#~D_Km{CfA){ZS1F<8&4m&1*7&~l$l_Jsdku^0e8 z(F`5_xHQaIm-`eja2$6lYj;#K$rO5 z%W6C6KxF5}XMZW0y#KiF`7*8&x2Ii&QY7K>>kpnKaP4{wyah4O&V^mg4PZBVa#h#l z6T!#(bE@5>Oz50x`|em9!lp~>)$8hR9>m~j_T2r1yc^2poH=m<<@!-y4D=3*qyU-D zz9FPzlE)!Yqo10i?od05Jxsi^$V9#?yHZ@LO*5Pl-rI5Eib@O(--44V-u8ah3;5w# ztShhjG#3E<;rZq=EBd^D4=7~y2`RzoVGIc;x2IPrhpkc^GOE<}FDye#(@3|D4BD2V zm2o|{nl7ryBYk-|Eg>f;`1ExGYToILtEXh}9_ZG2-c_4S0#cY0NPK#5o^A5;972S` zF6y~HR5gRRgQVSmGpEtE<3+Zy9GJ);(qT&%&jDBY)tCKrkh-Y@8bvy6jxwJ7(gtV< zX|$SxY@=8}6{`6+SBaMgY32s&N7{ob5v7Kn|6o@VGFbg?8|ZWfE(S`;+JL)>&DQMt zN({RJIvWpwi1tv8`SY4#)LysOOchku&}7IpY-Ffy*m|5^#Y(d$pu{w|_lSsg@O(8g zCv>-@>>iXfh;c130rkXTbH4&Wq1QuvO})m#vATy96@vo_Q-09tqBabDpqhqjrX_SV zw4v<9qJHPi!#qEzu@8E4RPd!=6~p?G@)L4T*M7(C1}W*l&|Y!cGU0)d@)75Ph06BM z3`3oAZ&7V5KkhU-PdRPxM%_v}4a?SQq>WYw71h(#r1>_F*hb;#Q0x!Auv%_Cr|kNg zR*A!qD$f4f9+5#Rh=2qrtH6@FXYXDS3e7oCMuZ|R0HaYv;#h17D`ev6k$23EM zL|wB-tl`Pn?#~TZ^b22H+gESiELp|3g;dV+D0VGK7mClWV>sK;0#O$iR|Zp^ey;68 zH?mnE)&ucm(0oke*|uu(na8ixw9w-_Lrq8FA5h^T6v!mCYwBKRN!4;;7?fP*uJ@lx zw;RrBnSqo1?^qME@W^&wqj^s0?Tb56@k9~Z7aza3F*TgZR|@aYa?P3~pl$`6glG&u zv>8J}rZ?Hgc9N?6j_xS0a;vs27==(_v6XJu*U7S6!mV;m4|uG*6Xw0koh1<0TFr$C zgBSX97OD5m3Z|$mmyPiEpLBIw`Lj!K7XQAqven z$Mb{-sWa=wkx9w22pt=R79VzlzT=K&&WEeWVMo0*D+?gqK2}>g8;~Q*fGi`PIyjuy zvb#3!r6e}!J+F#14ceTqvl7 z20V}_P9f*6?n65#qTjlIVPDUdlkP}RxQ6?+ldWwM{5DSJmnEEb&|IN}stYxhTS@b| z#OnBWyuPyY%j^dp!$iMcbn_m!-^Nn=X8i{LLzq4bQ{eC@;(b+9(hvVQYaz-J!LR+m zoq9NF)JRC;k+wNT+d8bCeX}`QQJGtt6q7}hHezVr`K=%6`{qxWz~e_lfzm#|e-EJ# zuGw2!X^o3t9GwEFeSTSThCc8+^p@Ai@sxD%dFzs_1* z$eL$jEid0R4Rx(=t!}-4+pv+6?*5B=maiI{6S7{lWX-=8c@H=KAJ&Pj$(U1rN$Dph;~{2BCeXzW_8xfCBd=`6gT*x6sdQz*8Q(GgSA zX3yEK?P{~Col1z|dV10P#Irt)BaK@%s^eP?#D1C`9XrlwO~TIHo1a_LL8fpY^@58L zYrtOBXBq?WkD1KGn`WJL*i*?Dr&Rv&4_|lAdW2*3^lrIjoTq;6@Cw-D7?-)aX;-7xn;vfq$uIH(%2nAB3~+2uVG=Bt62k4Jq70 z`9iz6?(Khh3`|8ae#1xA1!*%L49Q-L8DUeOuO}|iY|+(WY4oo*8CCd{`({{Lp$l;! zkn9Xr_B@ykkNc~ko$OU4&}QJpH*q$x@WwsEzTjYNN-2~5=#_He;9ORippwbci^D7Y zXzGdWMfi=wu*pHF`$bqGVubk2Wel~$Fr2nF1v@+nEkz0ig<0AFOOeeP`){|1JZthjH5!iRLz&RLGTvyKijHz1F%ygC-0)=}YjKQaGDw~mm1*Dr_CNh0zU zrdr0mZ;zV>kNb)RZt!yXypwmXo*K3m<*5C5WL?8?cVxk8ha)uoCLnz0oa7==6lUm` z?ni3^-CN!ILbW%w>kUGgQQ^S~Be-sRvD|ub^U3c1M*4AxXV66V*fVBb13TD)7fLaX zM=k)RkSdmqnYe+5!@_&L?HlU>O6|0Y;PQ*hrs%7WyfPCD5RT<|j+EIj+~2Q~* z8sBjn<=aQsM8KK!?*tr8hu%(u>w5L9?63Z6HSoF$(>V7j*~E2;#`a7iq*r3aFS$S8 zK-Z-Ar^q8r83jA*g_D22PuR536aH2&$3>zZwi;m57Af3Ptw=5w^d~z`iexr+ClGy zULI(O6zzSj2`Z^7LA)yx05>Un3a@SjTVjoyS`ghu&V$-2l3;^SMd2ODhES2y#c;-)hAZLJ26Ev#J5XtRI<5oJhFJ$IEtWBWY(W+0yrEqPgWcPMWtagq zQ_m_F-(43l^O6qObZL&!v(bs^2mR5@&}>BbsoUT%Mgi>k*B7`n0YUwm&!FTu1_MI} zse#^|rpxO7h7l2`Rn=mOKyPk+;bTF}Ic_cXMVE|qxqNb^aGhF?NS&@ULzQa{19^TP zxaz##kX>^@IJJ_EVR%*_96BooCZENCwP&njUov8_(QlLX4B4L_QK*c7v7gwp2w^pi?UsNs$0^bM^8Xh+zoI^~!AE{Ke3wD1A;_faDV(2#Ct|(Q( zzj2%C1e2h<)eM+1*tYu;`dmUZWweZ@C20%`6;lLuBna$S(CrH2X$B3O6A;etg;Fat zybb=DD1UrCSmumXtG|aaeBG$2D@;?)6Klh_RF+IgWlWf+Y?F}6I(TRH7kI8k1ROn4 zO%Te|h+WfFD7CVMAk-2;s7r!SS_GlKsMXV9u&r;CddlQKwu&6TpW&?i6y&mG;?3e- z)lQLOXq7W0@^aya5REL7!2o;n)SCfQDgQaZlwCJeWKZWxg!B28FsCLtb4ZzUngOHb zvGib+pIJ#;(&@QcVooJcgrYmZC@g`UL;^dv2aT=;MN>-?!DVQf!A8Fyh$6pM zM3i3Dr1eM`tinF%DPTIrS5e>MXh01Mx9Ytl*g;CSdZ5Q>P?KO znOZP?%02^Ei4p^(Q~`YCQirJVt4F~6Ac$KbPqFkNuNt9e32zZ9)$-F#VXJ5iq$Q` z*}mll5z6K`+mIb0Rwe(Ft+E{~XXRbqmVqE!U0{$qGcjIXveft1-p`M<5xH#3Cdm96 zOJ$+$Emd1DpCW5gQ1Qg5D}&H*Ny06$OiQo5Y23@?)3iii%B&iP#RR+x0}qKzRuwV= zEA~Zu^gBhwi@8K1)Ix<$&rVJBy22UBL#~8rur#mO*EznmgU{#((^sb$-U)$8h&%fM zgT`HO(bVI;*UP<~mfpVmoP)L9!GxSakB(Vqpa9__Jz9~XXSAX(E43M`W{}{fW+Sla z>>NSeO$2rO64XsP7<`<8&_Grrc#nS|jE=JrVIkUBMQNFgK&(dSSDk3^bQ?iX z6049;$u=&i_+;9ZVe+ag%H&N~tcgj1dX3OznWxZ8nfF4fYOW%xny#XgRsIBZQxgh0 zg@Jjx5)7FZ8pN+MffLU-2BTKz!RlS^jM_mk(Yl{GRnJn70|-K26%p!~JV9tKp}lP! zB!XaIqC9KsUO8E-SeAfD?0jvzS0u42JGTHc@)Wf?zi!|ZR5o{Awef({E;p)xiYluj z*4SL|R>#hs65&@;E*D|ip5bsQAa401Bvcfp+6S`)h#?k6bRnR3S38T3@U(8Aba&`1 zOj|BT7w$3z0qvDBli$o0fdGHBX~{AJFZSPEZkMbT2fpjN)&8)Zto^j}`!&;=z_@E( ze59q6=ke*Es^?dOcR=4HNXL--_4VXO`$#cukP0*VSS$P=NAV5C7JSO{n5!5_a%PX^ zSdF@b{A9+d+O6(zd;?hRxu#K$Yf2F=f0-;o9Ia9*bH;5uNpA$Xj6i&8SxSML0>tVkp+2FtDF>*_V#a0P2@lEZ zvyT3gAeUMo6%;CIHD$?jX5hHTbWjmNeCC?`?~wjPPV}Z;-(azqpnEwN2GdE7 zzk)RBAjP3l@2ohdG*s>&Qq02M^lEgo4{T!jw?A>?>lOje>WRIByE2bM?(NT{-`Ln^ zaFTilUuT{e^c|j8Z9izhC8RDVhNuSpIC!(tY2hIOL%FI@Jc2oWR&{Gxj>unB)d7;L zK2)}bKCHF2e@T&B!feiqdli(;*)z1zBYJCV8**1LH(v>hRWab=Z=3BPxf7|eA<|A6_-l$QLFi1Ll^ z4QoUDbk5t0YqQtR7s}OBa%R_OL=a#X;{JZ)4u4al$uYAPAbb1S&)}c1yfI2aXTs9+ z{B<|Y;Z|fth_n~)RwprhTV;L}?>c<_*fx)|%jQRCg46bJFC^*EWc%;Wrj|*&h^2~F z(POS&2u1zxc*k`-u);|<-$~K+bJgPeaHniHsO5On_|Y;> z8tnHTtv9cFR>>#>>*bdC#ZWNw?z?7_ZA~FE=cGaR{(HJ?w*HQTqJM1#Ha3OC5!P2z zv`#1fonE1Zf7&Ra1)fePTmct{`hOHw|&wuK^UOjRr zLX7zX=F9N$K?NIXmwEA8uO} z?5p5#|6w;!eDbWQhnpD{XaFoqI_j*d9~-<_S!nY0jyUtbjAl20bsk<=7n`m`r`?or zc95fPUhTJ%qpqGq8_2n)cyY6w1vk97)&Ee%L1OYIef7Nr=TzG9)ENR9T%HC?N<*a= zwKH=~(T6h~_PsSYKAAlT-UfsxJ>pWO#Z{r6T16BE*X_r*Un?J35n4L$BS_|;%{KIz zGUS5lh?KDEtM&LC@HN+wU{41b7Trv|jUaPXr1Km_(1I`6)MJ3E^)4*^Jgbnw8dBCF zvjfwgj&{LK=aw%>64P^0Nxsco;_&P8ac}urPne&W(OE{{65`%v=SIHY6F;c(46B~h1Z;Y@kag7+6 zntDgEa-bfea?%l-kR#@ooN%QK4z{uFPy|(`v3o-5<;TnzCw;tRIb@7Ns?9y$<^UV?jwdVqR4&ZKK3c(Q_hfcHn(9c z6uCCnj2ttIZFc?k`TqWSK3+Rs=ll73y`Hb<>-l`XMc4CsfE9YR;_^DOPY^Kyyi4aJ zb~vIk(jU!R)CDWNQj(=X!&~i_>@;z|Zyyrf>;frVy^_jGrX=a!6LLALVM2o>>t2Ya z?ky}|8fp+Xd3uO-S zTCWGdSrJ|{vwaSyX54)rBCI|R2O7^vwjB)`SR$Qn%l41IL4BU8h5PcOC%^sDzoB$bFJ73~=@uU*+o4y~);Kk`)*xJaf&gkQF%S%+5FEfmO z{ii@w6TQQ)iia~($l!aSmxsk8``V=kQkTfT=M8j&G4%Vtl3@dvOq8Us45&%Mi?=r(D$S(uHUA z+ty(`K4gT-QU_ixOMbwnE|sPj*GExekp)f7G`m|okP{Rzh7&WePgr)Vdhj>yF9r!k zBwqn^GnhHL3R=L?V?d=@yM5~67ndG$>9Poy-YorPF{dEVpORG%nxYcOH)Bz+-!Y6= zDSZ{v{GF(M0s*YI8zsI~J4n7bVnCKj#;28GS?^|H1p#~dQ07E(JZf8#Vioj+Si^t^}0xQZo5OpO;>QUjPcgVfp^-cuVEXuLTY_!ydhFxD_gq z<}P2o3HQU8&kkgx^~cBd0Z5@%{UrE?ZI59ZHp zQ(;*;*jm09x|MB=JZPdj=}KF8#q;klVscZ;jO$TgUG?mi=MwY@;+|?v$2dp-0~_>Y zDQBEhac9o{au*dPmj}b|9aLeppJ)6<$?oN>(PW*l9WwGI6%y=uB67@6+w)66Re82rg6zI1;O<}p;r9P6z zLUwhfCAU#sVf=MWbKT}c!;FZu;WLV1NpuD^$s(0&~(b`N>ZNZw^%^sX$fX_An#GY{aNL=sVXv zWlKt{R-=Wcn4;>DM*?(GdM>|^N0V*R`aCTrFucvK7aop#`tqCW*=ep{9pUvvvfV~9 ze^&8t4=s({Ia3dnR58zSrZK@?Sh&lK3NS< zFc)3jc<@uV`36EJD17j?9zP(#FqR(Oc-5V&eQs}}--Ud-Dh`$0Ewq^j8&9=186y6L z8z7fVfA4*DmD7`V%;26$CO;vWqPbOGxQurc%gBcO?fCwOe0sMai2cbE>*Wh;O3Wxz zK0SwAg5UF+Ctp9VE04o2PM!bNE33q;2bE&(F6P3)pD>cWx!|vpb1NNUwIia%6afaO z<^$Ff6Hq>r_xWwJpNGiFD0wlR5 zCpTYQ)hNeZseH2`G>~^bJ?qZvi_PsT7lek>UBj;>0lx@ZG(m;rXxU0ud6>AynGB+tr}q{j81nzgM&7T2SGINnN{)dfe)N zNANi~nZ?NCM9V@HKJ3!#;uggj;Bo)#|E7OR%JA{4fAU3f-O#T;pX&X{*~%J*e)*~Hett!! z{9VC(I!ALaKR!_^!ql!zmjKe~MWy5zK2Yr!DOAA;vtR+FlzXz;d(E%bM6rMorIQg^jA)+x(TRxg1 z=lAaD0#rROlGl~x6Hlh6KfUmFi$Hpyo}d4;6}fp<&tV$={o$n|@TcjUGtBTae%PB7 zxt;E32ov#<(Cn>>g89TnW<`PNGX~}vf?YczwqVr*VYw78cj1$0mxDARX$fFG;;A0G zYCh-O-pEBQ{-G@uyhu& z_0SC3G%bU;*XvOj+i8wkAl4eLUffY|*}-N7VQM?=`dDqPt7ms2$prbVK12!NC z_#4&&VRt(!Lo+_ej@C*JuC`s9lOJ@SQgr0-HiVw2fyEe}J4S*(7ZL7eROA)L`bT^& zFm@*E+?R&|heFB|M(B+8A-^ghpb5SDBeDNNv3~2_P=Ty{d5#1lIA` zKDr98n8;^jcQgES?X(zvSM@uV0Og30)o1^aLF*P){YX%`Kf|qX>dxXm{yFaa+gVr= z{q~?o<@Be^HL!O3^M`X$^Ht(+hVi~lM_eSg=*80l%-WY&5++KC7QWMAc=@o4C{o}2 zP0E9%u;W1h1Md$I`5vb997I9^WjtcI(DDGv+`cRs1CnHrbaP`p5?P`78=YSHY1yNf z8cbLAqGTxct4=5IT1)LCktaY(TzH|>5*auGbR$5PHqJTebPQ;p)2c;*<0u#)p=@Mq zjxjR0u++_uaa&02<{z z0Vveug&UNJ+TE2-9d3U$DLlY%(Ql7mru)w`4P>$L8>{y(ascVo^B2vd>BN{V%yL)8 zi!kPA!&9WjEX8Tbh+!*|;C3evJ)0~*FqknSoB#Au9uF-%cIv*v+nr%w?W{pFA zwjU#wlyk0#K8oAuGx#R|G37I?(t@KH%p1qc0i+Tsy$DgZ(+Z^* zDu`6uhrK$m%ZyUyVq0ekL>}gT^i9ul7&G7g=-jnlj-E837hd?fQz3~K z)Sv-@0I;OD(C2yTKy@~+1rS6%ya88z|RGgd0(Kp z86*(J2lq?N{HgC6d0s7nWQx}H9}obbKDo}zKw!lZU*0i>&(^%69r$K;{*V561%chT zV3$QiS%}l9a`&vu+JXz}3WKXthq-E=KfAQ1yC+DMihPyBlo6x=BGOy8s!iL44Ko{z z`O^Zt6ZLRNNRe2%OtCoB>MREb^P)}MIM2&&3L{_v)-^|QD1$GL_((2AKmU!PiYhyO zV8vQc?U+)V9LGl3MX4j7#lsj!vfeM$y+Ge1seebbI8@mz@gVgW$?deoKhA$n?wRTt7~;J z+4qeoN9$x!Ht4JW(c8XOfT+q$-S1@{Zwh~P)9qB@lU%Bzk`1|{YxRCgG025n{{*=~ z!YW-s7yOqHSRMJkvq!e7FFlO}A}w}bEkeCALzM%NS1eGsi@;X(K0S&XL>7Uioad&bT$f@^$wHH(u}Tr`+aVRN2iOw^-TJSB~wf zRo^|3$yi(nSH|TfA8D2#_qz(VG$iON1$B1ZLpdESP(BXb(0r;BvWDbn-KqENNBprWj)~ z+^E79F6YY!xrf9I-(4PMdAQj; zbi7*NLM?y(6xSeCC-e7Vs*6tj<7uSipmh_;v`Lc;Tv1nLiy40G1u3(w0uTxTSNoQ$ z6*ML#(wd{rmTBNnAj7#wqoQ>BOT|{c9C+H%tkn^JIy`;N9l`;lpR2Mp2Gie>)Iq8n zox6-d@Zjk>CUQluUPv3ILr<1{`3?()XYnqQpZK2~Mq!9$&Js1SGg2~dHx%xvp_cl_ z-EW@sOItk4=NOwifRLZN--|ly&{=(xX_;C1Q~wQ=mXoY=dx=>3U`1s|-+~FfoOnD^ z$PZNTa!IFlZRRYSL$Y(NNoM$1EK<GyURRqCmjZswg2MD0TDQEX?k$s;mV)Jtjll-(= z_#k4H1`!ubqw?Fb*LAZjUJ8XF=o55SqDI-fom1!hG(8XJ5F)LfeDB=4l+xSy9}UjE zs&JRcO+b(D!@Fi*NK0vMOt`WvTup@xOOn3P=(-bwm&y@RD}YS}6H_SuZcS`^;;wso z#Q7aE_H1f1ncZ+Zq0!J`6O%WQfM`$uOBI{oJ#N zl-US*`?8<#yE&+(k^AggJ#O*&n};};V&OVj7V@;ylo4IZ;Io|xDJIL3GH6lfr3NZF zvLb8X`ahIz(WJoLtkF(8#u(8&1r55+*$I3GdBGlvtjKir@B1GHUv%*>a&Wk5`=$`H zw0B-vrn9=2oiupWzvwsY(%=!QIQeqmA!c?$MTSdfVB~yo;8E?VDJ%8d&Y+ttOZ532 z{ZDMwvIRK+C@1rG4vm(R>Agswv2BXXsK=*cY+FFK>95ZdXd691^IQ8*u3t@TftGYW z3{f>yu6DyrHZHl@Wo-}H$P$8Kz3wl9eu&uK&E&8^yXy-1pz%^Ve^=!+PYy1G@g)C*cayO)%g`>G6-ez1V?D2G^Yusfh4sma(YnQV6TKAOpR0Ha| zdn_S*U;p;klPHTE4RWFDd77hc8eX}uOFuJ=d3stPN^z-~JGWXB@M`8pOUoUmqanQm z4E5G(S-eZx!YT96OhO;lqx#9d&dFJeCLI?d=sg{F0-TQ>V3>?cB3=REI#l$Di!RNe z@=d&}fkB#KahNR4ZuOKKDNADklsBb|<;53ZXQ@0EJfH#{BupJ2y?11Z5n3-T+jb4g zxmRzz$cEh>e;yD4IGg`%7m9z%e zmSlj9mRTGXm)HGU^fzafMYR}jFlI>WN$kv+R9c1dByJP}IQ2~=w12t$-`Ah@4IJNc-s&qOf9H6 zu)NxR!Ey1##!*^}zmyi+bbSNUF`WH&5&UmBF@LT)Yt{BY3klEwv za0@%Pl7}^)zKhI78+JIVYE?*X*A7jx?Vz`2yoZ}yY-;LXf6LuO8LaMMn!^|O!$-n@ z3pEorY%_2zh_5-#`o8e5wuUS71YF%KpcA^|R_8AJ@p&&{2vwOJ`Q^JD^w9@NPr@7QB?TQxPr2w_KRr$tGim3FG7R>3)`*Wh zpdD4|=(Az%hu_;H1-`CAm0h7ekLsxLI<>Acf^TO3>u6Fby9@N-tNgmdHOiEJaw&2l zd;p(yV&;e7b`n-6r5b~5>5y>!#C(SM5*PUfJ%;@nbH;KsZ2XTVyc$IKUDIDjP(o?+K zCH*j+xv|7UqW6|bp_{H9JZ#+*RBct34L<;wLba><#alEwr+Rtvj{xrMpS14>rYwFl z*0)KI6DSN5^@CdV-~zdes{-XRS8KfjnZ*E-!sPNeB|bn($co<$P@{;VpWv3yyctgJ z;M<-A-GA*`(qF0}DEQw~+5r36;Xmy%MstFsv;k`Fq(lPzDH&#pYP3EWCP%%eo2}j6 zkfOP`moi^g;tv@{ZK)RA8iu*~@Y}hHXo4nXJxOy}JnThPbi|+C z=;qpdsM(+AX8Bx9#MCok?K zxj~Wl8baO>7}v9^m>+k;?Ys>^?6Z~i5Hrd!@oiRB8+?deJG!Jn$f|P3s0HcmD6Ryr z-d#DqDqaWkSba^Xa0pGOV5CmdF~kvq$CIuF`Qb2DLv- zmaSCUy^3nJ^;+p55bfvFMRSY%2ye{m4n(rS-$bG-5)K|#y;yKfm^!0Y%tOAp(>xpo zD}Suf9TpXlpZ0C5IR@szu4dlY_ETwd?j`yR! zoB~+)(>V`~hjkhbk~0Z|#PVDRi_(?-^Lh}VRL+Y=OgswaTbBPUn}0K5 zMCs7}f8(L;Y1ny_?TEv>h6O(eu8d6Jzu3Cw_*01aJRiY#eoVYqJ8X-`tnX#Xz89t zuW0oG$r9(95(i-mMxB~>waQy4tkp~QtNtLc3+>0lUm4d|dtZd1zVM-&-f5Lg;y;FB zc1%-kTMy%DoK70)w5t@Rg9@(n<@7cczc>;@di`cH0 zS6|qlb2C&MY=Oe=r@C2X1|V?{YwKhy^O6~ZdlDfIueme$MysvyiYryr)@3D_>g;tk z@N)$Gid2A3 zSVewkhsZbb2jbR8*KW3=prDjR*;vGntHntfb~C+UPrqUvyek^emp$oG(z$wSgT%hpU;>y7)(zCvjL6xtb^CuzD7K@V*jjb)O+P_sAt8MVdDID z{b)FvfY}}0M~gDMi+j?u=EX+K7yMVvo@Ez(=XwfcY=k`uY05i~4gGEpwg2rkifbT1 zvPlzR^M+?+53^4)r6GV8C5Uv3oPpFFAL8Z=7zrl6Cfd3t*#^j87b){I;2asIu0IMo z7$NsOb6^~R@9h9$z}i1FxhPZOg5%Eg&ZL%vo)pH0lo)K3pap(`(E zy6ydHu;2d5aob(en4%{WrszY2z5^tN1m7CT${|gxZzh{Iy_6)XqhtO?5^vN&;iLSc zgmcchAwk>Mxc0QhFf);>5e9zBU^0pDGc)pn6~iDlqi4;0R2psb66SF^P(p4q**x{L zX)zuB?XR8(8VZjXUmP`9i3u(X(%3y`G#PeE8(*Q{I2{U8`lITU!=WZ}5W zN|3h6+Ggxr7JJh%5s=PaLc{mpZc4Zz%?L#-lW9Sd;&r!6Rk$+*CGigq7iMjJ}pfThK;>7|}A-1@Xx z1D>B5b6LQErfc%IIYDYlX`e)BD$1_8(#aq==LQW})mXX?+xpY8c zf7`j;TO0#Bi}6bb zyyG?Xwy0ZCH`H546&VrYPPrNHsa{h~E7wTDQz|PbNOyBNfp8T>kfX1^-6iB|>znlR z1)GB0XC~xWs}w&bVRtt0R2%x#TgTiB0cI){Uc-(gCH}%;r}>Q1HNmMvD=!PyrQgX~ zPPO!_P|NIV&T<($%S&wcT-&eg_lPl0#FW~~U~s$_|L*a&;qMBD`KxWIDivdZDFw9s zOj?Z$T5BC#!;h9(do~3_JFHt8D|`h`LeR4m8`R;sR4{so{)k2GKD%lw(7>DFW7h zTFD$D6|EkZ)B|&E%4i+as z`yTdn$kD;zD^$6afs%sl^t*7m5TDTF^#e7eRPzhZ^aDLq%zux}*`<5^9+?mRj!oIj z*}jGLoAsG9%`pDGHE)>#sxxi@E5ck+#0&NPMDV6TsL9G$h<+%j4vKdOr9NL7Y>el& z@c7KIlWR40u(7sXEKqujB%fGRE*$8=J)=(cit|eM4S-V{)o0)KO1^<*T<+YQo1!dYAeKz&WuxQEmUGe zc(lbUiIcoT)dK$sEiqOw>@~)3%`61Pg?{8#e2Sz@y}xqXug#dRH74{6<8ojSDX`hA z6kFY)H8+xO9IiLt!=3kjUUT{Ato0|MKrR#Dtn}$cclFyGlq$x&sb^NSeF`H~cJCY% zGX!^!woS+}tFaC*Q;nq!OJZ8FW%VmRvh~r!~ zz;uYwud;qc9%+p(3Fh};Fyq*(skip2?Cn%@H5@ebYT!Rq1mkF60`-$IBnc~q)8b~f zK}^lPNLT65=awx4@oTSD)TiQJ^ZV_!a((8FrCUp>F~;)Rc*^P+)%^a zDRJaZ&y5n^l@oq8V44Vbdj2x`#%;A<_{j{Fj*OCGv@qf|fSO(yu@TW7dN4OL`$If_ zZfv$U>u?S!!fSQVtmJMf;0RjpWe}L)1XQ001(>8yyp+KLRLUOm~)3azT|6rB+x7(JY11Dfh!5)vWa;KAG+BS zgwVq~*ts#|Us=4|mKUxXCIj--!Wuh(*nji@8R)^_ zCXW+=(pLN0W~1ZQ0QGdP8+uwkk#e+P)iVz9_5%61+33e%fD}6Ha!(Mi;n-t>Mm?6O z68ybFepjPyRPUG}+&wIZJK%-fynYiS@JV-v0d@Dc|D0~e0xt;%w0q~pdy2> zqg8$?4HyrhLZrFt1vTubk{y}7W}hg#Zn9<=GuIjM`-S{YYb*8N3b8;hl1|A-v|NWe zK5`LyFCCS=~3^b9wAr(^uR*0BXaw*3GB)JVImUQ+2 zCGUgUPwk5T@k_hDPyMrh%XR6>mKHk3xk3)wOFU6K>-$!Av3&p7iYD$*gj`@*b4w&o zYfN*T9IXL6(ow!?i>~fa+CQ_BiVNHqUTj^8%QX5VR%yjqygj0*Q*xFn#82jRpo zFHq4CZM`q|2d<_iwX`T$X#M;?EQr-ltA~^e?rk00G4!{2MrRj3Y(%nh<`lN6R~u)K zVXwH4!QlE1K3V>eY$;rCXjNiRirev{h83_H1vM2DSfn}#bXeBA*>$nJg6KOnGQ|qbv8Bh>*gQwHeHV zC^+h*!u}oR@QvYJbHq|c?I!3?HVYN*8S1zCXYqxQ$peVvM?1j*$?*0a+6@JJ<(B}3+zA|uNo1g722ZN6~Mx2B6 z7_ouHt^2okE_~wvA^^0!->{P6!>b!II#Zcj%EU6AT5%Gnao`yEGD#Pv0L0%jP_ISl zFfp{BYUZ3QlBG-0mtXA_e##b=;Vl#`}WWJ!&c)LJ@i1q}AhPCr{2Kzq#RJPXOh%64RJPQK#Bjz5u2j6Y|Dvu4Zr`;0 z2`j^D*pz;12-5$Zl0N&^59$^b#Ta7FJs(Kg8t{tMe>u}G=CGx@pn-8xK{iaq(!J~k@8B~mHWW1+`|Za`cGOym=88(s zdapCaRq1rACj2u7@NpCVfkV6Yfc|`$XNOAa^s1X7s3(u17ojBI`X1!+H_7SblAq5K z){p%>-evz+vlHW2s;Rtmz}&qX^6~-Wqo!=lrAF5Au)tn>#)wuu=f&0cd#jt=kQlhZ z%gdtea=V)eLi?Of6EkML$+57IUYm&HkL5YS#uf$W4XjUuQZIq>rFqK+{bfeZm?0=% z8@g%2O~d!cv>u z?CDfXB5|3ooooY8Q26chjG(thAe)lL|80Z1*A5QR-*yDI% zc}Wsct`)I_y@PKZr}v2@QLA6_v$GkYIWTV$DiJFR-dsk@u;9NXYnLb!4;i(UH0ECn zTNHZxCkMWTP>Z}nYjrvaHKVQj=w>D)xBw!IwJRRIanHj!q3GqAV8g)bV>hN$^ppL^eWrGxuO}30 z7wLD_Ey{s9CKW%4$yiWSY z@rtA_W+bnVtXQyc9xCmhucgZKnv_^9=agqjV zz^!+4b1s;mHr}@-@xAn`pIYxAQ`VlT;&1&G3DjEMZT4rUtjjd-&|cl$ z!0(R0OSIYB=fhYz*dG0I_(uckIj)}bJ-W+X&xqeJ8EKZQ1SZ1@Ys7OnpwS&ai)Kwi z^Jl|5^y>ArJ9M8ljdH}x@ar12CLQG;BuzP4r}0=!@W6ed&pPKSg#&*6(z8yhkOQpX zixieE7=ghjVz_2{i4gOdlg!kF&@!jafN3V>ruvNJ9Hb#_VifH#W(j&$io;1&32Cg zP8z~^yVMH%r}T(Ka4pEJsaiA#3p#&pf%OO4cCHt#I%+GWLCG#cln;rXK`JQY?x zWxM|X>_}yB?#?W|*V+DhIjLWn-?qSNz=Z5W`g%Ej^oB^)*5KeOXg2lOWQTHvKk&Ejeu#=wW!!@N)!O|v&x7Bcx zAMT~aiY7vgM)={+eIIxVbnqgF=HAi4{#{qutO4tT6W-oLJWRVB+g08~q3J(@U2uBX zi~4xAB_%X|(`Cb3AK30iHZ zcd@p*F=ij4gpDtip-=;&EIl9Cv-8yE3fCWfV-1tDtU^^P^f=nW8(_bW9$kT~_49w# z9@pq}WV88lHZ1+h&F*@(BL80fb7Xk0ym>5;Yis*A z+Sk*R}|AEQrO5$6F7p=kRM`Np;p<%4 zs7uEA8`qffLGOn^V`?XwL+Y`ym}+f9)XE+~(d0Ogcd`gcr*@JQgRlr2phlD)@pXhCmb23)`4#Ern7^K=)4A(&1v?pkb2Cz$4)GiLwz^`{T)M z@YtyZeAk8#f}>IJVwr7dCaR?KbQaHbB%iFs{0n`@R;5aA*ws8^Prcjs?3uzJ6eACT z{Qj3HkXY5KggqoQe0bxrT1Pn*WU&(^hOHoU4VwYrw%LBF$$zrI>$7YubhL$<#yWG_;5%;+s7rBieejb&WRk; zI4g2aQ&Z%eAveVJxtw!f&a9po&3p2p;Dc#dCStsPT=`*X;6LMyKkIoKN`VQ|E>_Ayz}v6UmvZae&ty5C}j^Z zn`L*n>p`;^D*nWe#2xYH9pQ%myeO}yf3ihqM{j2jttP#T7T1*8>X5$pGkSuAlup05 z9>DQ8QH;H~tx&^{QAwuoJSsDD4;oT%;9rZiJ2FfCWkar=>)c*y2TV1;gyzf-4%(gnBcZhv7~o$JxL z>4@fZ#yPFqz+33Z50VzC8%{2SQ{64NJsX@dAXJ?LjCTmj-Kj5TGGu+r(|0P3TO*@} zfZc^}xsV$ddaM<-E4RpZW4pG98-!E|Woc+iOHRj^7pX&S(0m^@;^y01WOKkaC#HV) z5fV>cGkAnPRsQ7E3(o!Qe>D5qA2n0Ho>{hgxLx@?*~QA!=?JlOF&$r(eyv<(F}O30 zFIAnXxj?+3sUZ+YJv7P#h}-$%#AF=L&VCT5v$a&}>*iL}sa}5noL_BeqHeMO!?ph^!J@rCIB`(^X$Lg&%% zAKYp+JObO_+TB*5 zkS_gtIGGMjqnR`w3>js@RHHxi`^oL)H5t=vtJKB!N zSKRe4sblEH^;;ZVrMIx|0o9q1Y#x+}(s*AI71{h3cA zT3GYh&ol8yTAWI^hpKKRcx^6XvHe;dH&V8yOvBVLXTT;OY@YS+Z+t|Yww;9AIfQGz zjU!VB!!;|qFLIVTlFz^TY59!$$#G_Y2*)L6`IkpR+3VGpRb+V~VWq%3GTqgOYIy5z^p7q%A3KuDoE zV=vQpi#rD#oj`{Sjn^cj#8#{tQh-_wOS@3J6&BvNPsG_Zhp@4n7RP{n44-j?EY_k z>#&TKv}250nzfmThIDl;zYJ&w7ml>SZn8^1+~|%l;{sR!evnLs^JnV_xUiB3II%<2 zxbG}x*r)gpS#dJkL@YNhsU!C#o;&Yum7a1C=LSMV3ACs!K4XL-D$aGqDNJLRP0T#a zA?zp|s{b5I0EFG+0jo0mqnuIShP=Dm_bCS{HYF;|D+|>r*4Z|3Nj$JaG=iD|>^A>X zThG6ByGD!GIvI!j)L2LPTVVYf@RQr&(F~8Gz)u1PRPnK>WiGo^9HT=BqTLfW4+Ms6 zy0zkqBh1hf60mL;?kkC{%@)E&L81xxiu-SR0ssNBE6Wo%-4qu8#5J2I{H?mO z_?$1wviRSXx%g$(5_90Eq88B!>XERoIW@_z5+RuDzTmd{mM;MaE4w!;Vz4_9m$Cq+ zm7QSWBBY(D=mN5`RxZpPoEMh2IeFZmuFKWUNrLOMxCX<&Obm?nPr*tVkG(9|y{+|8 zXOXH`p_Ly;1_ZwgOz}Ur#=*V(to;4foZwF1t%eV6ab!k8{vB5@3@kkzR8yo*zu7tZ zL;ZtRbpQ~~_gHwuI^3+3t=nm13b&m!D`oCs>8xds52a^0$NUrU)~ZdyOFeK3;~7>X z%*T@{32CiI$bCjBj@LeV)vvhEc!P&UIk%pOJrL%Z5*>MPA(-n;<)8KA*HGMOg7_ix zw>1w0jb0oGM7PHy%kFN!p&53@n!4Dyi#ZD$xI|eEZogUAPh#Tl^R_8pV7{Re^|NCF zTse|Z4lBp{8cnpb)RdAfFn_{9^wQN!!3}|B?Q1$!VhhPX&L`^06SfZN9Gm~_s0alu z^nE;XXMiCF3Qic9V%*W`*5lC;jdYow=Oa%<2bqSRn=DBP5)FtD%y#W2@kOcrHFYyy zELG;DWhXm7#(PEUzuSKBJUolVN2e0@HO&PoU36_v9DK=~<|ofbQ{Txysu4$0Es^pD zWpR6EbAK$i;k6%JyNkKvDC5br739!@=|{7ncZdIgqSM~VKX^qoWu9Aj_z|z6_XQ^B zr}Hf(hmXIh!Ud1heFYSuiWS!q0#Z~@(=Hc)yzJ4zMc;{hdOzWhY48? zaJy#STfw6*0{D1bMOI4d+rTR8U&nHY!Fc{KShJ}nA-2t*uA%xFbw;Q6;B)wI@ST&- ziOcbH+Cf9+4anXzAd+3>s_5<@62xJCGT>KaOZyksJy#7mG)aO-SGK@xuAaC6#0;e2 zPf@S+?lvPLVRpAfZ$^CO5vebEsJ3s8kl7Tf&pFqAbR5b!uOP~~zkf1{<=~4~7?O-@ z7Gs~Lgr1HXUfvQdcYSKl4Vu1fbZm>|^nv5C&i;fG!?|F!u%C)Xy)J0#oY)RKOa>jE zq)JL=PaTKEEPt{#IL6?Ixs-YSc2j+Qaa4yHnQi;*|9E=$c&7jV|G!d6LQ*7$B_cU2 zl~WEQ35g{{PAe4Ul$;OSR7%b{=Qt5^rW|ryIW5GT&$bwbVVG@p{(5~b@89oo*>1PT z?vLlTKep%de!o1PkIVgPlZxkoD{reVTfQMPs!tb3?m*8J=Ut2=rd(6~cX$C{hq$-C z!To@Jb4o-^w$$SU^3Xo}S}c8s>lqo+yRi-vYTu3+1_h2MT^VUni=p2dYdIkzx$rv5 zPF0Y#6aPtTd?u1}_I1gH+Zx+iJ36ma-@Ym&c2R$gKZFstIEPT ztbUoQs4rBiy0DoCtFRO>b}v%;eQT9n>?;qc>hcM>IsHHH#(N@LctUDs-o8QW_*j62wqW;j8owch zB!lBh1Z;qUdH(;oQsJL=ski}wxCc-khCUm7m|upu^I!)WR4==LGw7zykB3Gg1S#s) z#LKOAQ&=l6^Wb+^Ko7l4_itFhzRtXVwees_w_qmaRrQxe=$(N4UoDDm`W$>%c6q0f zD8s{#EPqf-x_|M$c2G+yjh6{r>LGik&TQ*%fJOuyB#Z7Q-gS`Jo({7wJuF{mi*`)!&~%axdOUw8m|=3jGW5R8r2Xexdsm41+`qY=XdxtffsFblE%z`icaairjXIN{-MuMRUM#c~95V^B9=MqEDy9T% zjTe->yd+Q#7R-}5FtlKv+!AigIuaqY>$~0`2@&4iSr?1M3Lcnn2bL>uIQVUI?zZT! z%n0h~_P`hh$V|uBmKJ^BO2W1vVD7i)_ixAHixR&f&h(H*{KC&!Zy^p}bot3C{uU)y5Pms_ZvaK{0uI2!T`9j&s` zXi|CofNPb#KJRw`mnxmecKJ&*tM3+ff%%lOR-Q19vtqIEF#FtVC|l0Jx>X_*YvJ}K z$M7v|b315^OOkGH%1YY>Rv|0TqQ`d}3gHclCwk| z)oY`l+0gn&#VRcBm#_X$-HU5=0pF4&*FX8bK2?$_I^9(k`LqAjtoE-0u zL?IRk?{1IZ5>P=R)ow8j#?3xsA!6J=uP!{k#4>t$$+_X^_Sfyiu_=^b^`RU=c5Ucb z#Es6N@@SGEi3)o39XyspyLo^Q4ygx^X?M6CMs6|h%wMU2!D?*|8WnAD!p2RHAo6#@ z5HBGQCh`=fOUgJ$aKY?SyY2{VAgoO7+P}$M#(4Vi93hzAeB_iS*~SSA9IK4PbNX21 z_suEWKW@W}S&`fJ|JmE^-;gE{(kk(c?v4T#pRq35fj6XAkM&1xx`oiIttM}Gr47EO zO_tr(xcvwDsGL`OG6eK5qZ4UCQ0&@qx$<)E0=C=@QA`m*i%41nPxs(?6U#;}xr9ktLWMv;B{>-whXhbc`5=Vz%gVUsudzqb1gu! zaa6|OH|`VM?7?MZ8TND)RV#y2c93J4K|747^%ot!$XG1M3Qqlo_9^p=u05y=xs_EW zh(YAlGld|SjZmIGM~*!>i_4+&EvOtEt8NtqR3d<}A2?r%f!(_x@9rtxNyN*ZhjER5 z66YBgw%-=@utS|Ha~&UHG}l^Z6ldLu$5a)?@cqzhkO_}43yD0hJu7^buqW2EZobFh-1dX6vTreIAGQ2XQ(IIgNdo1|+f>VTo(YKlV9nyy;kG4j< zy7jMFFstG7c1nc7q3VlFXC5D-o>IoP{pHp+u6n-y_#KEz%lEnSoU}T5g*bM_*JZJq z7X4?HLlInJR>M>GTv{KE7uYy+t|%@bu~uecX8V4>76ixZIu-hvIyVcN1MQx$prsdP z5DM{|)&?!@BU4VQb+^!Bv*qa%6A?y+bCo&~Q;&DK0l>F)Ns(Ug-JMIurk5Q=wqL0a49lFxm+v)u=o6#uy($ycd6ck(S~gjgb}S1!NMa8?AW6;bXcGnaRO4TP zeu)Z7*~N70C~T+B#nx`ER}-uy#r#25s>Rn3kLAJby_6T$MSiyCQe+mM-^Q5tJ6Wp1 zxz#=n&o%YXTHDkX3=5$Wb!f=VnMn&RdciPUqW%Z)0&CLbN0n+ZvEo_fffiIcc-+St zhCQoPf#wAMk%p=(T|`e|=IduddMF8#&skjfj7K7(Vd{%8FD$4Aw8;9IHh6(EQAUfbPhTn3?bn13lQG?Zu2Zk|RK;P3hPY#At6g0coWMuX2Uf zS3|D%Kp>kU_laG*^p{9W*yr}@!0FERqXWC&EkOFDkm+xT{1-qmG9yXnJuLP;3{+Wc zM2FcSGvX=a(H>rh)iE-F{0E6p8ZW1A;IRhvYkg7fErLHPuYy5${63stHmE<;RZ%AUJ6y#oY|KFSezxJR#wTLh zhZm0AqRS>T4qY4gzB3y^DRq?w@w$o);qvB3HYWqs|$p_iA^iw|0SaSQcO2}bVkzal*p z;hf;e2A|iNI#^pHce!JE1I(A(d(x_E$9$n3syvO-f3aMOBjX(!O7sBzo5@VIV8 zCBi*5aZ+uV7_00xhazA@laPCwFH~$x^5$&Oa$1b^@Cx9#n`bfNH^D!{zW8f40 z$06cAk3a5feF8|5KCZwzu7D@+r4= zHeoXd+Q!ZtMp)JjeC%co$&Q@$T7(sbmo=PKVH{nG?J*ml5Ym<2zPUN{qLA$}lQcTU z_L6yYX7{t&T9!rL7c=Bttbu!HfB(>t&%U}jRo1EtA3jc3--b6onl;ch5Hs5in|Vz; zrIfiqm%ZN#*Rj-kdSe|u5+nHI$8C7}qth;_=!uhpKa8}DD*{$LD-Deb!xJX>RTMU^ z)JClg4BzDqzaOgd$Qk%IyF6DqZb#jw<@R};PgP)D%C9PgeB|Lh`0e`#Q7zN|qQaQR zYF$`|%4hiNVePepBc*#o_}}a<~#srAwz}hxYW1FnIUN5#ZP*ox#GqA?MSU;W}RofgO}- zOl~7OWyUU%6tC#T4Sbj8QG?Fkc)n2!?^0WJLU5Qc=VM+hlgyjR?H51Q^!@vTIcCS-? zQG%S`rpqM3e)WIRktHD}_)=i)v~0Wi0C|W^e%(6WnWNm_$$z8af$oIZZbXAFMsBQ*?O z&wx* z8m1$`OBNowc)j@@lf%x&mn*keQrBe;$0z1<#I741Fz+dEU|N_#8=M z-PMceYM*5J)ho7rlrwXF=BxCBS7wqbn6bwWuMCHew?6;+daZe`A}X+NNracyZMP2j zG4~f6n7xB*N>phy5QUVGd)fA6bsb5k8-F{O$#OS9Z+Cr`yW!8v5`Sz~i&rA-<-c=$rfr`a-opw zJk%S+N;13P%&Zb@>om2ZSAekR9~qR~K8Pi}hmY|hKktk1v{Z#HUXAn^2|stQjvRod zYz0c7Qr>hS?yh}5QN8!;*|M7;ye*ou5`YebA@*cLf6waFyoZL)TN1MgjVb1cjAxY5 zgSSoK+f2IvkAzV58D{>5O1+;FyRKrDLb|$tWN4RW`Z&R}OEu>q%UVF32AVT~+R^$F z8oC9LP~Xmfy+(_sX&VAW$YcsaNCf~zu0;1!JeElZqMk8p>+&5uIZBN+>vdYn*pw#w zHto%kj(r_Y1-spw%w}G9crcF;rpT;$$+BN97S4svzWxEyVTF4%=Z+A_Q{Ib^zw(Lj z!aO%R90c+ql}cs+9_pe)|CW3=fdEmjrIB-fhNdsX*O}%{gPgy+u`)(FvwWe=5|~{T zga?MnB;C~-pt*&ZxUFQ5N}Pq&*ZP!7{9Uu~ZqtX6!Z$Whvwi5mcbLtFk~~Bc66@eJ zf#rCE9(^r0reZ&tBdhlm4(_?#^iDtB{<7eET7RJ;hRW~Z`^l@VkFn@=qEa}9>&4MtX&E#lW*K*VCT^*chchHZ{@K2xnRz4> z@g4-c`mU{Ukw9J0K_B-1N{6!Tb%JnVQD_mC^-LafB#l{s^Nu9rP0oDXC899O5{7F= z7HpTx+9IpQXnn9u$noKj;$3{^K8_Il&?oRsw<<~AtT zoJ!p+21@Ca$AzXXWjDgTrbnw2bt9NP*H=d0?k;TpK``8n=<#M&aLL6VUZ2sdROQ}_ zcyv;nw039epd!5E4takVWylKo9BbvnqRC5O*MfH{dckPq(qllKB^=z>_vjNFl7^P} zKpwo2<^yvY&7LQQ)FHY~PF|e%ScJ=mB?w9WR4e4j1g7mP^EM!!|MnXTQw+vjIBE4f zaAIaLv#O9M=*JUXgZJ(4r|*3Nt~?z{Ib0$-;+wXkgRk8NVShXY=Tfp~L0#F#zlGSE~U|F^6!l&HlOJ@Vh!y7Dhu}ST)D(~Xw2WWVBaUcz+HcF%} z0)1$#7T8U+0j7`B(x;jch4mjo%x1jMu6e+zy$(-lO}D;!u<{T?`;Z(yaYzxZt-DU1 z)~BgTL6_`JvB+V>tmkc-7&)HM?4Eq^qqKtwjpnWbRbu^nVVU~|70E_T%OyX)bL;e} zlmKyHS;pV+A8f^|C!%m^6haFh5Y^#SLVEP8EHRb6QFko8)=O*EUZFpX|SqDdEu4)%(w_EDt;V503b-KCZA%#bk2@1BV7 z*!5m&ovCwFZyxbPVgYUEOgGgchLcH5MKI!3^aVj(@59689t~`!=P(lwnx%YDvXE8ZB zd5j*~kl7Z#L1VxFdnc)V!1VjkNxWC=h*{LL}|AsRg^He$te=7?iluhf|TdtnP{=ebn1q zmxD@tUk(~2^7^&k0w6)J8RVTV;fZbw*c>Y?FngBV6S`^zuSRl{4dSFdN*#PaanhN5 zm)m5xu|9UDIPWXd5Z$!t^BsA#)CK>(pzAxM(Svf$Lt_aTW{x5Ku~n5MCzeN`gt)lI zoRz57UW>=Iy0IH4(HawI(LHMO`e+zIZmm5gGm(+^oeD)+(Vfyl?VH#!L|cd;v>bu|=Z4P9j`zP1sC0sr|D#xSB>C zNy`(eQb_D8dd(8|DAEOGwS(4rfm+lNG$)`80bipb%~`=)*Y-Txf2mPwJ1xNoxpt{` zSVAEjh%;Iw?47b;=|;k^hS-d?F-3KkA4vZ&<%euK)qO93oH$lZrs4y_K73||mj}|2 zWT%!!>H~Hab(mvG9B>Pf$Np6>Vfchq&j-?0*u%>hW+Cc;#to~Mqz1}SY;^K`)V;Nr z8#$PE*w&H~rj;zfYIzU}8bJZta%Q24gz9!U84)V55s0W}_=F^ucOcKPE4O|Am)tlR zECz_2N96><*Ve9L1Zdbwn_<9Jy1{#=OiXTG|0>No98q=2(Xjcu|2drNL5^DrExJ^7 zb?@q8*=-`ytor{S!(;z15whg=wl!rk&l!HnV@npW#ow}9)7Y&K1LPJ@%k@~;3)mHx zAUPKZH+4Zzo5Cjs_QOgING0*mU);!0|ncigU&TX!*A!qAym_M>sU+S9ebX+gGCTim(q7T;@WdD-FE$1u+J-2fI#(&~9h+dq;llQ_c&qV3R? zmguBJcq0Z$sMd-%DlxtOpsCIQ>?uFMdBh~iwqro#P&1i|*%FeE4ceZy=X;q0>>2oF zx@`Fa15rZTYiE(!mcHAFz921wCT}=xp8^BKa1zqjo0Et-^PA}kwPjV=MI`gKHhAG| z;i$FGQ|3zB`+e7hq`nH_G{iId{DWLbvr|FHB(tRxv)f|bJR1*2Gkp}RdD137&{-LK ztkS9@_KyMjUKLnuSr8$7n-vnac92=t2;}PovXoBh?9`L1$Z}n$&=A03B*NLH^fua@ z&Yy0+wnwg1M-tH8J_=Nw@aWAf{KjhGFVQeP{b|{b7SjCc+vjVulqW# zeQ0L;s(g6~TO|divf!tiN0{!9ghExIs*rG>#$w=lHXP0npC12XP(|v0)&F`F`#I5x zQ`OuKoJqM)xxd{_zfbKZpQpHK+25gSeg)j4DP3ZOa5D5EL@MzU<|qUV3b*yv>DxFc zrqfK&+SPd%Y0_bW2$eN~pMSk$fDfR+?2$AyFeRI8ic+P+-XdoGpoPQ~9kS9M)JUOx zT^ZuNM540Z%`MO3XgU`&ck64yOgLdzIXAL0Owl@f2c4LHYU+&dtnAfx+IlNA;=_k? zUzx^mwSoAXjzOvsl4yERBJwLyC<|vaIXd~3Bc4Xn-QQ?-0pW@Li1Wn;PWstb1&dq!T>h+W6J>1B^8vo zMr`UYVwBE8iH?noM|8}DU!xtClG7Jg@gUCEtkOIRvh+5I9ff za=_1(vMZOKw>80*@x;oxyRsW*pzPfNGD%!6pgC!uPQ@o>!O@F7)+2m1;#6}fUa^RAXXPmw_9ZvRlshk;Ryp^IJFf;K%-yW8VTxRv5KuUqFEb;&)#3O2#<@!`0G*vERF`F^j;mq`961Iqs(dWzDf`H_`K;_ph zfnh1xtZN;B&CCr5n{M6cCfn;{NT&6NJH0HUT8Zw&imzzjaGiU z95RFe_3Y8ZOG-$0$qY$4ZGU~`VH0JYu4IRi93Ra@63gKrOg5xoCbU?c804?@7dt&k zs4f{rL2p1N)ftW`dhoNQAXohgv5oqc+9##lyieOcg9s?Aectq*+W74ZU_3YMR$NSq z?b+Y&do z;or0$f;TA|z>)^uB2PC6vN4g!@cl3`wpu6TaQP|t_yW;;-vfY^}NiMgGc#ZimLh5T1w;|>mnAWmm(DqQ`e(* zd{skUFOSFn@-|26+)RV<< zZ+aKGNW3OyyPWe9rf;wh<>IEXv_td^B7n~e^dFP#{JLJUhiAAI7nmNi_ zr;n>jtK^R|`pDYiPulUTR{E3kcxNl{B2enW9VVaiO8HfvC($uo>~l?#*2h50TnKn3 zKJicZLSyPJFsP3sN~@nrmv+@YS=<~65(85|;|!K|A; zZ^+BCoJSM{nF9m&Y<&fKwvOnoz`t4nHszm#co;GA$TLqll;<|z*pGO~m1kz2rqzU( z`vZpJ(`AO+rAB0D#eYRfNzi?xyeza!>`Qg1Q!)B^X#SaX&|loJ(ig`!5ACm1KPO$f zTJk554eN1wu6lXTr6w})tO@i!P_s+{j(m3^_&DeRTNmYkI)Bq1lt35 zb|F3q6i;tzMHFJoys@ugK z{aOnllLeHsWL!3#0=~`Exxie}3rXqwj22TG-2eu>{rNIe#{KYD;K!q&`ka^e&A^ja zP@I>Vv*x&y1nxE6r@WgtE~Ir2q@_zyhJR6GPu7Bt)SVn^(jy+uI#zdhNIYLqj}&qD z@cf}VsMUwMSBftEWzUn_GF^RSX_wzE%A_!pq?QWHZnw4EpaiE~ntlEUkI-$RIOa_B z)e|q5p;W=hizjh}`EL#ksbs`yf1P@dv-Jf1S!mj2ih)&C<+-677TjJmv4#g+jZ6)myC35*}qX`bm*d&@q631#-p}BCxAened5uv==vp zzvQ%dz9&RHjBBrl_VonJq#Q%3yoALBIwcg|i_D#rh9tNQJkhmxjZN0A>R@!9p`93d zS())i?pVTiq#u8e+(!n!{Yixr;Y66pIgCJz>E=`G%fi#mk=y6K_g^h^v`FS!5@<+p z@hZR9fo*kseF(mHqw$96tz*88zXbn$GOrh?=)?6Xk(dqj{He%8?4w5c4o7c}UATfA zzQA;~cL#8XV&8?!ZzBRDdw*2z`YM`t0b==6hLKNqe^`fT-|cfp*l%50>{P1uQCjiJ zMEu+2j-e0ldfdh;xy%{%%|Q?~dbG<|@Q-V768W8_2>)1JV_(3Z8b@63R`6B1yj>pG z&&qe`$9IvaWWDA0#&1+|WcyYdU3cxvJTKdwqt6$t`itW1z5`&1wPwSj*AuBMYZ*oX z^{K>>^Q8WZZTG)R$GWTa`YpK(`J5?V>D6E_9Xvh1!?^=#_0z6+ax?cT&#!?9Hm^HX z&Cm*5K|Er_KMssqZ`AM67)%O*+dfo<^n_GKtXp2hX5?gA~P3S*J zW9qsKba#omg>pvis9<^8HWE<-V%J#sCHu3;UU~+fs!^Riq>U!4d&8YWy{-OQ1>1+{qAB(z~_Uu z-7IK^v4>Qff~21WMkI+)a8Il;yg~#+1j^;3i zGVPzaP%~SW`a~aDV%feXyvOit@y0S#_kY&inGx|L?0Z*!YXr?R4mt4ksRr8x<2c*QMYUH_VwnD>r>sUGpo#CMyAjV^gv>%zh_GZ(1s) zdH8BsDh0gh(0E}I>7TpICme^jN&-|wJ&VJJ^LG0lEEC;s-sgWGscu^XB98W_!Hn>=E!f+BK~DhPEn&euO^=Zeh_|cnzHe1p7KGa$3`!`geLQCtICG2Uca`K4b!{#g8 zoA8Y<)a~6EPrrvv(6yWGMJkv5A9bd1e4|Jtiz=AYZY$+gIEMNm>7(Tr_gzYB?Ts)$s{5g4gF4@#4>W{Pk$u8SVmrBHJveK zsRHdy6BJ+5Q3-^M0BFjytiFe!0Jy|9WYGr~$ei%X0Kb&Vw(qd^}<>MsvGw$_ifK8(2*e!>uk4&dE z*n@;aOtlBviC13Vtd?ftevyx@Lq~M77mM2Nz?*e)8(It<_t7Q z?D9lc-wjkS|2lqj^DN+!J36>q^Ltg-851AZ@Fb;5(xDQ@A|DaDnEs?ufvAyjt1C=qOFS-f3!ufP@CG0yVKgSo?m3Zq_C|8^ zn9gwFr=G;y3WHIMJ0SDT5aYO#*aCs!U^`=+nN)o2`4+P z>)ch;?F;IbR|X$0(Jw-d-NcCt)$u$*-jjcQYUrgNE}H+WzfQM)jP|kZ=Dh5CJAM(^ z)yMALzAqbEkH1RrD03&edL668KB_S_c!H4p`Ig4_Y(qZ3J}PD>;{B=R7)Mq6I7luA+d{o zGC8S}@yB*cQVxJ_=ZagFJR2$(Dy-?D{>j!C?J^klCXdjB(hNRZ!BN=!60Efuetcgw zG&gYN2p<<+ZAe7i)YWm20TKIWqba|bLh&le1@N>ve93T>&!9V2wO-4tz5fd>=qSA^ z$YLf-yz!R~%gu)+_rs29*V-tz%tRn;mak(!oXN&`e2EJ@;HoHP%=0nPNmmd{;sN&Wn)kzVbb&LH<;A|Xuy?EVM$?GDK8$NE`ZyKNmK zx$Lq(+s3&lpxqj)?xwcH3c2b>K8tU-j|Kjt%XR$5vzpt~r+EovIwa5R_Hqi@*&`c#BaOE z?cg|<7kcV@7%9?@o1af3A0u)01IhE^Q;}@`(8*9#?fYwabn0&?tW#HhvGvi`u4`LUw|>Ar?yocl*4B0mNIZ2|9gn{XL^jpwS+rZf~djw#*5;8 z^Ty6MzU0j4;mM*)i-c0atLY3Ygp7^&Hg;3m1PpjugGv6%jtC<2)D5$9H-bh(UZtkW z?wb1QaF0!^cazJ09U!!0U3}C#c7smqTy!@RBUaZ)`kCC2f-yd<;fJa|KZqu;Wv^T~ z<^KSyp?3A`Xwm!Ej8TWer%2V4d$lZ)84)3lM843)`Rl%z^pyi*c20Xz1JK~0W)g}o z@*@U|C3u9nhu^vaj@)TIu~I_Rt2XWouz7O($aI=}=l;Ehg`atPn;B0!eXoo+)SPp{ z35|FKd#7DpDVpXHO_jva#5|7EfbT}!9?28~H!dP=pS|P5kBiS*`~unZmV~QMy=w1oT%ZTOj)p!?0&tH#FPlsB34pCCB z`~n^FR?pAc^Apm=;%*h8A})#KN`EAy{~V5)(-Nn6aK(uC>LEmHoU%^sH61n_VZPFB z7x$~=$K#WvC}cg} zxcNJS`w~{=G%ZMwPsZ+@d)ph4Wvm`je)w2I?020bzV#<`6A{8>Z=IT{9yG97>)tnr zgB09uQ$x9BbIRw)=A(k2fGJn}&KJJ27e=fnEg1e6pWrBcF?UYW@3%PU*?}l!z}KIg z@PG%Ydortdu4NofEnhQ&m%Aza08h}HZ}w2~pXs~fkN5Xw`L?|9xLTKMc_kcA30HYR ze8D@#YQulflafY#PZSf087)Jw#}GXH^zTXP)4(`1dBpoy_2C|RWyY=Wzmq|PBA+`j zLXnFeLZa1a3LgYNKaTuExv|}Ns=@9W!k-nMJZMqS3rGqS2RLv3#Kz0P@6OaB?#}v( z$2a0a&31gTaC(qoW^A;IIpijl`YL2HeyuK_6$=4=-*@V8l6T@(QNHTVUsmgzF=N!8~6#Rzz z^TVM4egovbKrBgAK;zV^i=O?FWx^*%XpCo~(Js_Pwi{)|NH&IH5GFfGCOd-9rcW?! zqP&tZA~d5Z(6O1vnDt*22YvF4%L1eEO{XKp`ICSsW)?Mas%LZ|Ofj5oESliE8|tT? zYfxls{Rw$9{B*ZrRh#rbNfX0{Exn*4n+jJbZqpz93zzFQGCHTC+D&xpoYF&D#sP2k z5W4cZq62+f_8qWpZgkM1BKk0r^zkMDQ@v<(pFDl?C-Gy&$PU5&m%Q|MdEM6=be2uK zkDX?LFqW&8-@Qy~NK1g@%Qu?Chm( zH5lisz!SU4TdO%kZ)kQBw&wZo2C3ry?f755Czl3jt>TKiVzejMig=6tpGHcTwz_}4 zr??P&75HXvv6o*P4bOe1;+c4^0O}SeDMKG^9ggOo1IQ&i_PW|!pSCuOBhJ75zLp~w z<*qglk^ka1d#-`{i~TnB=;rCz4dES2X`U?4G}9*`?s|lCa%6&fO?BQO~ak z!v5|@U=*=$mPH=4A4~Q5@@_UI+fI*m_5tlZe_i#^@69l+0Kg8_qS?TesEaD>NPwoo z0Lw`9Z}`)f#y_MZ6CX577ln_3ZqxFL$$V9Q_;`%W<%YKb>pz9~q2UWuH-UHs*t&GyK};z;_iEaUz^EC}|6Ws+ZtgOh$UI&F--1DrWnS3GX(&5pNRPt$BP zp-Q8;q;uySzFt%4jA$_g=*3MF5}Gg#v)c)HkS|1wt|JE0Mq2OJT^PPtAk}V*&GP3L z-RSZK{xu1H(zm$+LOw5%Oxm-S>Ybie@c+p^>;)`(yzi%~S#`6&%pC(CQ4}knHQmoTpEz-UuyAMV zyy;BW6mNoy=e%s*)_DRrxc*mfg;eV7Ese~0u9;)2%?ISmL%VKQX*bfCnfKWDFT-VT zH5!uGA#voHF0u;eGP%aVoOY}D;tBbT#Q82XHnG+y`uQ2h`~K3yM+*9nKe=Tdq8k>? zIX5hH2YtpGdo+wtl)_qbh2NS+m{UqpSiP?B<7;l8VE>bnWLUEhis3JpKwUF$1*B|s zvHY5a&^9-&Z23V=3uw@O2Z*Uyw9dK_H8<4(a_*J7=4doaakS~lDIzd)@VQU4-%+>n z#?vmkkI%Ygn&+SounwDJv99n0A!?h*G>9acZ3oJJ`Pb1XIyvo-6aol!Tho=DLWa~Gfb z*F{sx8&uhSk<%-}uDHoJX_lS6yhiZLWZt7@c8afZD^&hC`J#2&=H3g(%RPwxQGSc2 zsBd%7CDgeF3ojZpSK11BuE94#fqT<$ml2St6WBpJ@y`aJ5V*){z5Nn@yAL@OjTgUc zu08p4v5WPDC(UxTi~L%u`}d;@jTQd8C;z$a6AtgR*q9>M4Qbn))j2OUKm<&m+#{n*3w^>g9V+aL8e)v zIwa3qMDff%Og-fJTV95K0WZ2T*>Q@$RM|7iRixqF(n_evuY@2eB;m%npjBnx_ARI5 z%QpNLbEG%N4^`I2&Zd~N|6YV&-Rk^QwNi1hv8AnR{gBtNo^~~%O7~+mzO3oS6Qt_3 zuUT6D+$H+nFnCa*p)Ydi_y!j%l&`DlyBNddQ_H!fQP=dvt+70!flLsR60Q@FMG4Ea zf(fT3q8|&>>w>6$zklkqv@yO=T61I8*bgprG8%Yusp_-~Mil2@03tAD5|M)!7{f8no#Pn#FuC57A}$xnX!4lj4@%q(}|xnt#Z?_JR?8}?ha zxdKqwd^dk*r+pngWR3_(pBfJtuV9A!E=#P=Sg%AeN(BOwrZj%xqRlto;vF*eM6~lZ zJ9ZRi-;?YjS((brkT~sTK%0{t-#!85t3#6*K1e@8w51lzdI#=0mh2>gNtj-m^xXB! zJI9K|Q?a(xKiUcJ@GGf3q6w4xIk*Pe8{KBk)u3g9Yj_?Zn-&b&W6(^z=TKiy*!djB za6a;-d=-hn2%IHVnlMU&#qwO_MxfuG0A?ELL+$Z{NNMO0aaebisy&lo9^j(;BU<@v z9lGOkq>XJ2^wKKZCQ^0#iVsSrNq30Eo3a!gsmWRIaA>???ks_@1+#$BTOJj!M(H+H z2TS>R#>vw1Q0{^o2?edXU#lP9F!2^dq0z}p}7S3mg9gnCDZB_kPnfo9dwZBrE;R#^#--f=cfV zb*;J8NeOT9N$US&>P+C7{{IL5{dVXOzFkzVBqSl^K2{`Gj-({VN{-|v*VvX6A@`kQ zZiOh8H%@K<+<=CuY*yh-5`+wB;|NH$OKA*>I@6YG;e!q_Q`}KT(w$J<1Xpnns z^Un0l-rV8f1g3L1vUyua?xM_CRNigz&=IJQ(8Mpf*K>1|hlf{WYRYYN4zx zqjwiS4Sm6B2+zU#Tc^k7nFmd@B^+l>uw{m2uFsrYk2p8YpT3}n`TU9zSN_J7-Y;De z?3K3=G3Ow%{b=u6Z8U%Mj^&#ZO=VAyQ}aU2RAE&%^MiXdYK)R{rsKNcBArC8UJ%9r zgb@CgTc)`zG-jU@730q^K=3B5P94K+3aFjvBcDDp`xnL}0~ALr;T9^((Uo$O7FF;DgAo=U@yziTYuAw z-dxEOK7rZRYEkQq*-W`znI0Ui-FAu;8=IiMvZtB%gW9G|jtfr=k?N@Y4yL7(a8v|? z=z1$j2V*d<<Iu7~sX4mO-jW&w*h@ZDAl#h=c4jes25kl_qW%VT0ID;nLI{3V3IRqF}rg)x{N0y@Y$7Xi$_jqMC-aX z4jJ)l6umSnx9TG}9Y61-*W6)}b8hT!v&e6MRn-<>Zgep|>SKRaIm$i#+nK7^l2eT? zCb>VF?S64#h2BZoVGR%Y45V;<4#>T7qDrth$!GdPT%L%6v!;>cKNWS2d!!tl@zj8kLH5NpZxX zk+1%*8rFmyJ+z|k3Cg1?Jfp@CvJKEX0|;jvES&6Tdo=)_{;0xMxbmc%YE0esxn=&O z@=sr(=;^Pl+ZT#kUOp8yv|mb;EoqL0J`y~D6>l*30r{q~zX}vy8hbLLG&Xm?pk3wl zMeqk-zUz~!*P7aw1D0XXfwL{{{KGo+HseM5xN638Z{OlR)yYHFk zB)3^*1a4^Tv%3K02fGQp8mb;F%#5zn`*E@MO4p|wL(k2Ie{VlM%N}3*vq^b>_9=T6 zC{-O`B9&107}!q%`#oT91pmjr&z;#2x<@u!aU-L;S zpL?{kR)E*e9&y?B9&yj~6odPvR43C{PDFX10l&PLWJjW?&p@EVbFv>Xppl^VzW!`- zu3RHQo%OSM@ZIN=fq6dff6XetCjtBNta9#IHPWYB6X(|`($5h;C-*I*?R@-Rpm91>QL67PnWLZzMf~3 zSk}w_XC(GH{LT)J&{r)79`t1f9`;iNeSUYoYHVLydZSDG7$R+JkY~encqM@x?me9Y z`aD225Ax40YwWx*FLgr3U#;1obN|?HdQFt<^J8(o?rQwm)_mKkPm(T!h+@0)SuVh@G(0$X#V{6B{l1P zQPMe&?x=OW^XZ#DjMTdN6LraAV(2^K&Ydb%E(G_0w62ogV!vf@hs#B=pARBNPF2|$ z-)@w7Gc<atD`UFC0Feh;NjSUN!tudk`b3VZGYc?9KDjuF!oy=NB~O>YcY( z-dW1AogbwyJ7)A~r+N~&LpDoyHvaC~i8!uY9Bt};ocG*)>s9M3JV{&r7JpkFS;HM) zkpJG+W2U@(f!3fJ2Rs!c6&&+oVen+5t&`->m)EftI_}{r` z7^vz(Z4&sI2%4LeeYt^0ihZdtS=i09@Y?l9uNtH#hXLW~-4}9t{0_fV7s6mH;2fyODDbHL z!Ee~IyDfHKS`6ho_WKSnv$(h0qko^KP?*d&Vg9t3kKv!eH!-IdxOFa%92=Y=|4aA) zqgLbHs9XN%Cl0@Auf11?*!4%@DldI6^DZJ`QsOt7Lz=U4lfxUhLT?*-SN)JD*Co=% z5ARr(X&JZW(E<;#2hBnciUt(1qzoxnN?c*xLE8lmo?il3K4H9TdZ<&gL9{toeLy_D zJ&eFuTVpw07x`)bf}1t8GRd9?6@IvP6r%6~cRY^X6?ocAEqd`%q5G?<{modo8B%Lx z#%!nP`h>j`(f%>V=S%G$8_4AgH^HCXbv3^N+JN5+<=ZNc>BPYaKFR);W_zCR+2iN9 z=hRiVk$p~G`x5cRNT}h30`UPuoY>KWsPDHX6h2IR3YGLFzS z^_&Bw8g!n+l`#jE1-9xKZaaIuu|_8jI5)&D%T)pMP^3Wqd~6oZ1Kiu1!?GT+uC6Ok3JZTBnDrQgxZYKt0B5ko*jPF7^$X z{I*dY>FO|3UVs@^Qy5dvgsq48}cgSEC#5C-7MLXMx|3P?@F#23nZ7$e}KNAH(hLdXe{C%8zN@2PtNe$ z(syP@>MWJc&d8~zjH=+$lAVRBZ`N}l#_G&~d*DvS#XB>uPn5~-pHhs1<@brY)k9>`Kka|VS7Npbd2G!~Vn9htf{hMq{cOLV!Y8Y(rUb3bF} zoh5y+|Kf&iC(Itu&Y^4)rF^??0oFj@X>(!V)|)!C>=y+3dp#;P`yS-A2R3=C!^f(e z(s}R#2REc|vk5jLs5O~M2o>erT=XlO{?4rei;845U!;tbnR#xmR%&eE@*66$pFM8*n${+_=CyhKP&NJxY{;cbi9pj6|PRi;QU$I=Rv^B;2N*?Vg2w7nYEf zM_7A1i(W~K!8cBds>WSeF?a(*XVUm>IyUsnS@8aIV_=k9E&ArdPs6O<+b2;QC*6Si znk?yi#qac2ShZ9oX>^{Bame#2Kv#{*)7B-9CNP_;Z&^|Apfk7Q=CzYntwEYB2Lbp%GJmI7w(#gKy&HXXInkvGsc?G_vd=DMVw`15X z#QOQ)X+bsV_s3eX^VgZpnoZ6mhIanBTm-U}kyGvGzDT|Y?pk){!f=jMPruem_{B~w zz;@1wzZc1K`(Pg!=@8{H2D5ii!SUT$&U@olWB;Px848Qkf$>w5k3dCmv=XP&xKJzR z=VhUB>*PBg)}7l{@3wOWD;~DV;l`2!PBXT@C;pt~tg0h(y)y8FI5|(RKuuuXp{Q)|rj}H@dxUDyHm3QF8>`k2Yx$P`So_>}?%SmkNvo<7D+_JRQKQ6lm zV=t`SUVM!ZH1D5;POR&xiPvh=Sck?{QeoAjzu8N?83$Isy<3Fw&F$Q zQpenw(Wdnr3td0HIX|vgeH#}rJv3yrDX&Rw6&uwgFCSreFbaN*Mekj|xtn-2LRlrA zmq`6&+wJL>0Wk|N4+(_gw6imyABhp!kq%4mBeFBh(=WiXtV@20ez)@fxKbA0-`asg zb8{oZzEf10U3+iW8lJ>+Uo)$0*a_uER4EQDA#PC zwVvQnZ5b8_tZ>$X8*TYT{>F@(s;(NGwkd9Oay7N4G*%<5hk3}Eg#L`ck*eBsZuhnV{f)jB`h-MoCWol}`neFX`6ARuXo0#JOw&m? z-EXRBJqAK|6(V~qYi^F2Pmp(Aev#u@Z2~R}W9axw&peW&?|g^4(MY`%e1^WL7beeMcbdZd@4cK73 z7QuCA#^p}LlbOe9O9Lz^7AgRK2!&!)RcHZ{9q*hWkM_LA?}Y6~kMd#_f)DpQLRGTb z*^%Y2HjVlM$H{V#8k-l5+e;4~v=RMzMLjPh>8zNC3VS1z6t|sx)Ig=janwUy) zLHa_llSY=lOUhBjjJj^!npc-3`noUH#CtqF-6h7On0=+kZsc67VfOCFyJtv{4TYZS z8>yT-&IrLoWLMMQq6Y`H;%-XuD8}|nMs18@ly`GT@-~a+-(<<$gY^vx%g!1? z)+d)Qx~GEctK!iGqBEfkf3{QRO(`WNIgksg;+EXx1cQ6;@Q^PtfKG2>6jgcNz9v0& zZ=-_~|7pO}$$#Vh>FEI_v@|E#iObI@X&JR3#n{)0+Zq1aBojF-8EgzT8vkG~3vFM( zZ*9KM*c&o+0Ky)nyU~sUDxdDg=+RE@MbVpm^dz7>D3h7Xi8DxrV7u;{5i?~4m~*Cz zx`f(XeeaZ${lbhh3@*I{L}H2hmA+7rUG-Z$ru)q$Z%`X<=qkcz|BQdt5V6NX5pn4u zs>|U1d*rbi)N;_h(-RDI*1H|<@gWcGgdGox`i8uWSQLxkBccwmlZj&L@$=3yc-I+- z8fnkVSho+v0aF{A-hoi64O&_k0s2nfoHTt&lZe>H>)aFN7!!afDwM6K@%&i2Zc1mX zzvzO$%7dSQ68@Q%O9|np7SN6|cEs?lfnL(Z@}~=#?|*F6_X{o_ubL;ml9}M7F`5UP zlUYilzPCuxQ~e#v@;DNa?%6b4in6jIzpeEY3VGoMyRAR^%3e;aFkN)_E5o; zJY%N-&zNg2ME>i96YasGXOBmcs26S`Zk*Y52Q_M~wM_oJN# zVKY;NA?ycyNwtLFjS%e5XivW@*oSp&hT$0~zxq?)K5Ir8Wz)D`qy?3TPOUueZloT` ziXSGY-ax3|5aoOHnhgu$_fJ7bF1u%`4)uLp^1jq2sxS^bjf9ndg}?>nXAOOXXr_ed zpn#a*wNV&~gtqVV78Y+=xGsW>&I5nYjMMQiM0&{tx(@T@zQt6uM(;GmMKg5lOu85`pH5dbeUOYge`LWKxpOJ!UhPe~+gIsXjSw_31*K2ZdvC8Q^>y2!&QxZO(L`0kK`cY?A{ zu;`%Jrq0$EO#@Rd4hs6B22uEjC_z1Wf!peB?{ch=0>x;4r9!e@0VZYq~n`^E~2}!33R~-W?Y21yM%cokM-gryxzo^^|o`Ci12JJ0u}c zBXhqi&)RF$br!}~ie)lZy6l`wK_M08FDD?`##)+3KP75hrK_=o=P}|y< zi&N1#%Q7VU4OI5+ZO5x z*h6mpbFjpt1b&oW^AtLr?x;i5Mo>%t=M?XhpJCM;ZM}go5$h32d&^5h%U`&Ig^W__ z46~maQZ`SPGkbMSn-Zy|n{Nr2sRv${F^*m%K-^wNX4>{IpDGU-(xjzL4LYwVRy)h_ z`@#i$VG34MyN(b=RUm#;v$Ffe`(+9I)c^Risl7G1sc*{Jq0jCTK|`Lf{V|i=uhp*= z*YtVnL0;#Slb0eOd{K5>0MK_gWP=uk$E_8EvUc4OD`B@Op=F-#!|reIAI${162axj zm=;MEl8sKq0WAUMz)icymDpi-w;TazCf%){2NFTI={JR>05byq-RY%&Hr@sLpWwnf zLuLIxz9u*CZqzcqTAlxIOtGqs=tHkz+e&#SuTfm3yz|QCpv*sw>GT^6RVNyWmYUlR zZjT67{;yrQvv9QEuJ0En$e{#tXU1|UV>zPGO#G{Y3|ISs?O_982Coar#uGM5fMa;6 z#sr`Tg#fL1PPO|y*Y>;%q0`TJeKHI^Dp;xd=hy(RQ53lVtzRU@C|c}U%*w%QGZ3=299J{gR_ zJ8AwoL`U9FGpeb5swAjruIi`8`=7qA3p8fNSHm88T?X1pII5@22lyk0rS`A-UCOTS z2-ieQfk6SH6#2y7@$J`yf;U~tIR{YfkPLi@!2TSAzcGkCc_7-uaX~;4UR+kcDIsYO zjD6up2xiK$MR)wa22Ja)P|xdQ+$Ye54D9-tJ@u^!yFR*8-dC-;`y#FcE}Zj69pZgh z-Xl~G;~<&Z_e`V(Pw%f%|yEnmqkI%s9 zQls-lD**>svO&fPwL5I}PCZl!^Q=9HBQ2HHGoQ#$#VM+S>eZ*pw>vDf z1yt5`+NYdECc3GC;uNLI-TVT{ZW?G!4cWbJLivCOv|qwHqW~k0WBo%P`l4h-;IZK9 zkHMnOA}%dg#$E4)i6~(nhNj@>1MeOgYaRvC`%-ldPO~!T9=Hc^8PH*<5HG32A$EsD z?D^NVN`Lp6Yu+DpVnfWt+IWGXC_QxR{RpRR zL(rZJ+xjub@>HE}9HOYwY>JI;7{*>YAKR2`3O3dN<^ThM0A|>L3$eGo<`_vfPJ=3W zWwa377TuCzS(CGTkyJ5Jm5$D%`)OiQmhBMBI}{a?>9}pNX?iWbpt_8Y@+05|Vd(*g z#_yK0P#LsnZ@Dz@`@M(yy3)zPq}P7QRe%g!!26iJY{>B%Owoz!f9N$rTqdxx&~Jc& zoL-6f-cEMst4`6L$_o(#?h2QNs^fMq2cpw;9?4f{ptNSXwFoZ(;#H>BL8oA%$g*7m zGMsdhwi#R&Vi=D|0MZdy?yQf9xnYBDT}uZHT~Zt6SFh+aM047TJ;b zanbqBhep^^`O)1mzE90eohczZ^7et*{bJKIQHy+3hLpXf)+dH|rPOqk4d>t{MF9p^ z@0C)QbJOZ%oo&a|3cDo(it>_f;50qVHEw}>SmK@|V)mA;pF;Gv&vi)vZ#qq;KqDb9 zSxJSF^kTi{;@~u@n6P5lYqIWSv0fzjkv1TLlsv13OX2!gSn_Oum-(4uqx;1sF{Rtmo~o)B1k?F}Gnct_aF9FPJOWaOQo_zI1jH61zky8%1E56!qp zXbgkz9v})hLhW;4vHm0=F{M(<(=umvV^;+50U%{rXFl*2tYg_I;{?Yk^uIE~`j?F& zt{BDE8AY9tLjsCL6Y7@|o*JzkVoG>ge)H8FkrW=0(AOp!0QS-VM4Q`~@4jHvrjo+}`QZ3x)l_yF9|45%U!P6#tx=1RiuF&iu@+ zyo3_-R#??=BrEAp%uzoer*Tx_PRVUE4YE<|oNh0J6iYSUNsHe*jDeh$vAK|aNj{!bVjVy2L8yx9tr#*y3 zT*=C&0pl~f%OXxdPZ9+Kg3M9rig0i>6&7I7xtBeuYQfJhU{Pz&&%11$Z?6d-Gt2{j|1 z2mun~3Vy-QV$-fTzTE)6B0&QAJi6da0w9cJ4|(XLHF7yviv-XXKBhnepusr+5xtI# z1=~zvE>-=3pfiX+r^OYV0e~G2v%l1MJ(S0pit63w&~>DShFJXQL6^P2a%_2_|I zsL#K32P_g@z@S9m1OEmFe^m|ky ze56KH&Y2q#+%+8F3Gy|tP7WCZpvMiSsBiicA;#;Yc5nb_B>^)4;nO}<5LCoUn1{v9 zHz%JKSLa224wOVGCu6w*txUaZ@h&U7g6RN<&Y=S7Lg3f4S_W%d3A2!)C>v3iKQ^jH z2dA!JOOZAd;8-b*mBrmC0!R!{vmapVrt+<}I12x@D-dr|kx$q($0eKc?NPx; zA<)aJnb`oh0p`RzqB^JI3*PXNb5E7CTr>e<*u`MA6_DHOxz@#j-Fbs8O$DU~gjn$@ zOn?Z+*H9b?1OVh?@sa=#qfBBd1})z!p^oml?&NN81C`|#vdn&LgTk2#;mprkLV(ML z1r;2Gu>kjc$UUi7KjYyFP&)GWluI(NWD?G}jJoDM^xu%txXwg$un-+=Bk{;`I0WEk z&>{fHKreOL0A;aKxcnpVyB&v35{4u^L1nh|PoJueC!dH1y__@u=^IyY-?~8wh>Fg@ z-D!snLiHsAoP{d}CZO_=40IkY`d!Y9RW7s4n8h^60%j+SoOi&r1Hc;k;Qrr8tWM*_ zwb1Au@}<5aqm3f88%M_0$}rhqSuS1*@_D6QwItzjz}8Q5NUrZTLYr6Q`?Vf5uXN?B zejnWJXDiv2@-Cp=X+ZXGu-^ssU+f+RWJAhjbtmgH^$8c|5yR)THL>#u%3j;8e;!Nj zp3TaU0w#dPnI%~Yv8=?-QWv_%K#tvb%1D@m_h7!ZR>^m1}LD4b_ge{&NaBotvA{0Y-ab{ zT$P(|?f&&r2!U^VMYSuY3PJpjws{#(I;oR|AsLmfa{TTTa6dT}f7VpdTVXQ=ow-~A zOzb+3Z6IF|521_*3c#>5B35BT8Hp{~VO(}gR5xjwp^eeT`Wkimn)3QWc1W>3euOdF zX=`d@N~g8|G>IkCh?lu%KAxg3qpow>p>sP~y+REPk$F>12 z6=T^xg?H|reCKxRs+J@$BJU=@TrEz}M`1Uhy8{V1(EoqnW$EXC>7@93-!6r0`i3gH zg0P7G#yqmYB(@elf=Xh|0MQ%q2Mv^PDL1~&7@PmgG{tJ4mJL$?U)FiKf_C#tV+8f= zZ|K`amQLV#VTZHx{!M6x87E4n^8ST^pc?JpkfyOie}Ta-{}qD`o(XzCb20wozbfzg!C`LW|LYz6A14Io{%_Sh|KceC zeS&mvUna6iTN?jxmzn_rJ45la1KJP@K-9m$uno!t5IK1kx?yrg^aJ=`RLc4BU-`H4 zoIqubyCe)S8sEQ+rsD{h=MT)LFt7baF;k7<4LMv20P!l)PbTvE-)8*Uq@|~f6*HxA z@UMWp7)(~mR{^06z?)aj+}j1H$TmmKk?l8R-5Brh@mCC$dc7y)rO`!Fo{Br#NGX6_ zI^7z??Jajc<^0#%u0T_OnSwscoVKgdRu=2}HaBw@bf&>g)7}6B10lh2l!F$gYzEnO ze=r|CD?1`-3i1cgUs0%Qd6y5Op7!`?{cb9t`p>`q^IyIT*ITrg9{8rWNdGyXe-`s&J!AAcd!{OCD9;X&nE#vaOUVfDRvA?lh%}MKVt5d6I zjw0+bO!al8L2X_yLyNp2lh-nvD`Q#fUsH{NU1ruVfoqlgOBebFCQ@s)i9I>ye(1q% z1u5U5SJy%hXlpM{U*ibTSoxp>rovjTt78$WJS*xRYad#ov{jehKWyV+`e(v}A8(bk zNAVyu!`fFhBSD%w9jjjAT=Dl5XE%;+zRIsWn3NuRED?e~1NB1m1#M1IW?x~)m*Q)r7L zDF)7dSAMkl8WpLk%(Ao;nkwl|WDcLM5HPVKWbIL_Y?aQQ( zM#56A<{}y))Oq0)cggC^bwVnpv@TO4@K?^e?6Q?i2<{urEw*eLwEW%;Y{vAQ3>nol zM<{B;87rhaqis1lVK=s4%PDmY*ny}+{pKzzZvya@;k94;?_YMGs1$GsP&ts<2OtxR zU_j_F#7$)MqrEp8ry`oX=g|nJuUBlVLkNm@eiliUF z@_oM?(*B%BT~NR)%x&&3_xOO~Rq_|OK%}aD^ShZ+vFs-*C?u)B)J2~ta9Y18R+3-) z{?pdQ_CiX`pbW17*lvp5oKel~$?Lt+81kK9lWpyZuiqvNY!-gv&z zsq*$kV`Ba{s~0{}W=DzV++@zoc}-ofGcY|+ED(KV_?F!Tjo2f;(T}B?3rY_>fkfXN z7F5nCC~aFjSCi-<28p@$_O!$ih5PfbK02zoT(*22mHiB!(s^A$@8(IR&PzK=ogPPz zHVtX*WQ!AKXTo-DpUpK{Tsj)td3eV*8eXyLtsL(aexbt`|6+vyInOI1m?u`aeRabm%woI~VKO==$~p~ZRoBed zTDI=(h&}0qcSy~eQ$X*N>0jhQ0>10qN96@q?RG4$B!Q#-=dp$Fc5YlrnThdV2r6vS zk{!$dy;4~>NRou}lh&=1#NfxX*1@yKwlxQTfUXB^muFl1hb-R!>EpxNPfraZ6x@PIJ3s*wWIdZl=SvB=J z5;()#4rg8a8WgQdd(_u;)xixZCQhMEb}qeRHAQyfnmzQI+9?V7bk%N?dDEKgR-28) zhE^-QbZBqr!ovDNm(^GO>E;jlF^{<7g(SgWk2oY1%~$y4XvLpyjW`{4R;uTCW@njS z`3|p=dPLSvWY$i6){eCJ2r*msIJ8M|EJG@Lo6x<14pAJ+I(R-SDkY-*R?=x(ng3i&^7AtEf`=Ds@yeE2K zop**mWC(dDonh>h<(++L(=#K88Q2{P)m#AX4p>k0P6+#iv=&)g&M<&t`?|tZyQQG2 zy}*J6J!MeUK36ERn;3RrJ{FC0j-%vj5o#CQ(Jc#Pbm)9GI&{GneR#WpqO)B^Neshm zzSxPXwuJo%y_QG2)58ZHTSuU+OURniptVE8#Sx!uE_8&gAKCUE`a3T63Kl%iDs>Y( z<9s;BTK5Wi&jPCBJQ2Y+GGv`*_<`Z1RCl#&gn-KG~PupJFGT%jrJdhfS22 zr~i=n;rSqF)r*jjBA-M_3Yd4Zd^%=#F#dpG!12O=jwEC2KDB;w{ekd!8kmO%`%u{s zXh={hs?A|W4+%29%Mkz}%l=6yVAbFutvnC>gjU*70d344A24b#3tA6fbQJT_Z#hy) zCa&prYzoW*A-Q_wJ68vfRoz~_2j;6`K7X+uf7q*by!DjU0jNFy5E&y|L+6Oiay`^ao*>QnxNemhGcN&G8gbwfAtV6EG^#k+Vi}i zuIpMi^x7QvnFfDDDCshRL5S6n&e(~|le&EwDg2HR zM*9UmHzQ8&9xV>iDGv<3;O*|0j*R1v5v91j~1QZv*F`7B8f& zfaCh1{nRwxRz4wjG4|^s`SIpGZ3?bO{1F|ZZ2V$KH6Ql*{?kiZcf17#PyyOgw50&%veiI`+ZzG1(K-5Ac`1Wh*hQAs zYEP*v5xM0}ZG7DP4`&}IN4f*G^&nHx1XD!1G;PkUctqzJW3cuq2=(1dy{e$>O)e_l z;VO*Oq?SQ_%4*g^v4}skyKjH0{uJmRAVNPxeX+_u3>gh!zyic3l9q04h;crJ;!o67 zXO%J4)y)$&dA4WPnF5PDi+h&6@4ebas)gc1h#vmq)ux-Jjwk zTVE`hm^l=6Vdi`>&gds`Iu65(x0_W07;spe3&owrD)bCTQ}l^r1;E;vEmxUGbPk~C z(av?O8KifUnNl-nd68K?Iu~CCKKS*Kr*-15W?g88KHmFB7s~_Xg%r*?Kw(Lwy?@Uk zZi#-aEK{XKsXW%v?~QBLf#~F1_!hD^q|}1gHY(*g+ngehq^&{<9H!IqloA|u+-*ed zk)kRr3f3K-RJ94aodz+#Fisv$dA-s#gNZoV$v|(oe%$y>zJempp)=Q7>AtoI`-~J@ zT5zuMmC$6a5a(!-AR!cl{RxCLrG8h*h4Y!Y7g1UqbeuK2_FA7s)Uv9Xa4z<^3dbMR z8lpW#Sb`Z~FpDq)ES-YWXT~|m4^w^ncylS|K;H|9L8E5Nl)q-a2A|Xn@LC$#c3D5E z2w~?zs-jNMj*%=Phdz@LaSa|-v((1ctoBs za=>!AZ?iU!W?zlWhM{0+gGFzY1BO})EZ;7x`uGM#6CawgX+2OxJ_(h7RYQrh2H=XRi!TP$l zvHE$77n2+i@2 zy1TgSw|0rCVoyofoT6_KyPl#zd7B$up?vg>F5Dmv0kVMO#d4UZzjrY|$_A@9ay?C~ z#;7szwAF_L#Gbh*IXe|cucBjJ${BVrtAv*D zDHyGKv*Kq0hpw#($sKeQLB)S#o(LYht+9!B)h2vtdx802k~h0;z9QkdTF>h`gN*;u zHvMzS|64dGzkPy;=gbi8Y3c$fFAfY8jW;OVOfy%&Z=R~A)HWloIX%@0p}BuPs1r;1 zTOfSqx#lNMA|A>fiyefa*Va`h2Irs|I}|2;1%q#`_Nz<4g9|qo7NHCZOaC89$Nu^U zD&HF|Ddse`Fmro^DT9Nz@!go2LlMiP8AsFJv^$I}OC}D(1X_!m4u$b7dz~%n;-E8V z&;{v+it}Lc87Yuh5jB30VmnU>1&{s(+GE>VNzoj}$OnmxZ4LuJeWl@Lv~;NJ6PvNz z8hOyR#*a4=itu`$G#4onQs-Bxw+AMuK2BY=lz=|a57x1rqR|PAa!cln{@oOBXg;%P z#~b1Q1hhpC@Etz1+=3Wd_U~RK7B6lqyj(6sRID!+A&`ZLwkj9&@(VlyXST>3didd% zt5Cvm2)jCOh#8PP2R$U2&knkL@}|~1W;D!Hp}~kH=10O-LO_f9{F{Vr_A~0wz5QK|Y`O1z*g++_R(1E2b?5bafGc!>SvedE zs&<9$rHX#OL=)VyV!Alds7{k*5V!`c7o)eMb%vFbHLxLmPn2cX%m>?$aNTTE(?fKD zpyj7g>_R39>a{*;uUkc~ZX2xMR+^rfsm9$vkk`JdtTMcY=-cxb{f;+rU+N6=@*Kh; znaP`CexI?yd=$UH9SN|%)~eF{OE8(N(HswlQ*fU*uqmQRc;b+Ma~>2NPvC%I7}YRu zCV|s$fUIC|ECqy#e}%^CENikt8fkSKQQZRO!#Sn*n=}I2+LgVNR!kdQF-YH4X;-$*Bjc z-HYiZ7otCAN<+_GaJdToB7f$P^lW}y=TU^{_Ff%|rcHEr*tx$a?>TMHB?($cTVDSw z? zcz@dL9@@|2o`B@@@JI8<3oM~!{Zf; zJdSJCw2JAwY=Btg=82Is5;zMwaIteCv&j6&GcNtn;>+tU7SfTiSLWOEuPIytZrpA! zuzY=t)NP;};dtGWYdy(=lHgshr^9#VL{ajjxF}DW>2lX@U42cjrjVX0n_fn-3^hgQ4|vZvINx+4oIq!%-jVh&Xj{TD~T~ z>w3c~tb}kjb>U$S>Ef9-h zt_5MzCx{8JgNet!NkRJTQkhqM+1=_x!+s*k3Kob{GSpil2k6li^SY^07vj1*4R5|Z z(c~xHTboAcSr}6Hdl}TweP?LfFD@vudrzI+1#DsKRnoa8k>-0|FYxEMZ-rKj;GB*o z?=|+$z#gK2p00jNw@nnXf*7WsZ4&);JZd3uaj%~g?bQ?y)M7<{Sx)>!dkfz{;?0 z;w4%|eOmi8(d#0VEnVoWiOt{IvV3Ak(d`#F(tJfrRN-qjx+SYj5#6Sw5w#g{{L!dc zhk4DzrkmO;!lpAR_@q0N_|3YYn*}<)NfaB(tF64vcwVa*X|!>wluYhIg|4G6^xSOd z(S-?PYM8uu&&%27jj>>Z!!hm?LH(MR#sbWEaht-YSrnf0CTUeP)Jvz6-=yv`@z+9l zzDdPEDIqeHP*FxAWgksuMtTv8PRO6x(ustTD_+8g6%jBB^TcF7N1bK|-&^;RBlFmV zqdG)o&0MqHHrKOdVuFJnaLk9eciMu3>^a_e;ZwhkXR&7rgjw+5pj#Zo&>$>Y%7_mx z{ul%os%r!NCH%wunZt_tb6#3he#FkZq0ekd%NQ}^C`R_VreiUh#T>iTsB0ysNZ#@5 z2TO`}WRqS;GCHonWm3!ZppKDkJiSV3Z`cinF4A#Zqlx{Ijsq;x1)_8=**nT9ek6p= zYeCt|MG+$D*?rOt-}MniENQ@x)tI^x)J7iNlS{BYItsxr_|GkYN&GshXgx|%dG zIC!z04I47p*_)rhIG~%rsLfBhXDL3oXyNuZ2_hNb0_GNmp)7Uh#Uqc^qz>-DRrlmp4M4E4_;QYD$Ii z{u5KH?Zwr5+Bm9fV0|1+de!(U=tRDbf~uUrf`qTXg+t|2w<)djeff=;u7#r3zkeOq zoaNUI`YIc_5@UOKS{ONHJJxt|2<2Nbv`%PL-c={PanIs=U-yCov*UV{SGa@Pr>qaw z&&A|df3=T#9}jf1`bOCyzFFgZ(N51Owvv|=ZLV?JLe)#YPQ?o}3E$HRJ-fo??K$VQ zK7N_a@6D4IIm;L9ez5b**O`^~Vkat&!vA@56nxlI036wByJLSL=#GXOTZGbjN8<|m zi>7zMJ>-@izF9i=ANZ-B>m|4663%Ar>9je+NeudWF|GqNn~Si>L97{|sK;ac71_R& z9INKDY@_qr#sXhKaZX7i5^ETU!8Ovz77Q%LF&9N9_=uYef@Nte} zuX`$g2R7J1mYo^&E%p9dSCWU-{ZkySWK(10*S42Vu_MV_L5Uu>o5k7M=W%H((eRlT zht!n>P`DFfL~zbL1j~KGK!q)y>U|qxu+wGeWevHE=8t|~r-kM<${J~z1?l@CM?&X7 z27Y`eyzAC@E?8e(J0HV2yr5?xE%J)Pwa^Z{zUB7Uw?G8zu#fb{j|j}d zbuHh~O18j>t(A3>Y}NDC7of82pz~d6=+m47$*TFmex01?^%i5$s|+2j&eXgZ@A>xI zH%U=zzJ@xM4BxQ7dO&I8U!~4&?~5T?g&pe!U-N~>^A+r%Mnq?CC*|CQNTLrVivnZp z?XcUa@VgB6ohC!rErxBF|9OrjgR+%w2(xAwgvp%egwGy2HN)k6`f+T{v)K>rC=hldCLR0}e0>r|jLTuY%5Nr)}^axjJ$nMz!SA z)l~W0lc23mA( z=pcM@OhsOhJ#C_NA;KysVX z^1xaoWl&sqf%PcgrS$&5MkI%!c+v$5Q9c62l@%yL`C+9`2ChT$1XPNr16xpjO6fC! z5+u(;eWE6?9pzV{KJj{BC(3UqeJ8LR$=gcb4eUkop3)Bk`;nZ2O7YLY4Jd!4^y9!y zNL;0#1a9%JDW&y+14uqq`g!1XB%dk$B5)8%gVL`8rQUU?^y@$wl5doL7q|<_w@QBv z+=JvdD6XSGg?CLU^#>0jX#~ZU5yxk<4T_l z%0@VogN+(V@k}rd<)@WC8w?O3ws4Ao)S*kHJjn1qq#yw}tvdIN@TH)1de)lh6g_OB1@G+(T*4gdRwG zL2-N&dO{-!y`i%c`a*LP`a$y&20-T|3`EPH6SGkMN$D?%*+_nc`ozBy2SI;N90L6# zaVYdZiNm3PCXR%Pq|wmENn_Feyrl6cpR2Ta(gY+ep!ighGzsPNm9|crf~1wwHc8Wv zT%a_ZGy_RnrDKw2LB}RVpyQHqq0^J*pv?@Wc}erU`7521l#gUC6mMKf3sIi0bV1T$ zB>74gCM`v>2#R;Dq~$0tQMxQ?1(KyuDOMz{LiuW?E0fkBS*3JMQUQ|HP@LgOYf-)i ziZeWEJ<8WA-JY}&$qp#qXOaq0z7LA`nWQ3=?}y@!nsl9a{v>Vj&Lt?$oTL)(JW1LP zJ(aW*`c=|yXdrnnG?=^}nworrx3&I%~rb(8Nw`AVh3k}Hr5hvGhydovC zY*bp9T#00p(&FSQBt=juHYdM`@^wnLB)^PgtI}=BHAqU7-jsX{$<0b{O+Jp~7AT&B z$#0;1K-$CI^swr}T7k z0+R2Q{*au6X}?i(Eo|!WU|eawDa2 zp_WMeO5;PVkOY(_gxVkpDoqZxMG{h)8cIWw0+pgkC>`a-O3w+kL(){~xuFh7nnCe? z8_Gnvh0^mwoshJG`b6u{#VEH?+BVb$$puQop>9ahpgwV7s0YgFP<(z2^+dUy(hi~C zNZLcC$PD#G`68tqL;bwJ$^gYx85)4{#ZX+2p@ArOQQ9q(g`_J~iXNeCl)EdvG&BfF zPpD7y3JpQIH`FKkgodKrS82b{a3q&O@g@)&iSh`gqe7#RjE3T#85)c7SSa3jL*r4N zu5@N-0+Ja@BcVyq#i1$4mq2k{ho+&t42q|GXa>qxLvf9VW}&-W*zkLahi*dh1Qd6G&@CuG1;rg8bO7aNls*@_9m%s$+yO!d zQGQ-&WvCR%3sAg=gvwB^hWf;dp}SCiN$D%0dyu>g#XEVZ0_7T|$3lmYyavU6BXk($ z*P;028#;n=iJwQhH7H-9G$-X4l58kG!KEBWdA!nzDQ_T| z1jQR{%3CN;f#TgYq>9+K%$yt}5nkMc~VX37a95h&hmQcj_q3&p!l%10>A zQ93W>V3sUNkEQI>RqLfcjUJS)&y_C;UUaE9?N&}K*P`oFke1-DW zN>`?QgJcyHZwM*hp}Yo)H-wbaC>JPQn{o!pwNShXr~HKSI;9&@enGMk>JxiYenWX5 z6z6%$@7{T?^gzlV-q{Yt8J_Z|ceX3NBSpqZaZqVlN~1Wu2`jxPB@W5GP@Kal0hI59 z;v7y%K>2>952Pd^Ijr>2ln|1mN*_;2Me-OFp8->vp!|f=7gCxcsZ#o4%DG6YmA;hH z9LdW{Yf@Swc?BxPv6NOQzpC`Llr~6?L-9E=r7g;DK=C|ENkjRR(vMQok$ec1qCTY^ z%5_RVP3eH-Go@doWFq-oX+ugUBws51I^|*{UqPk#Hl+*7-zfbqr5lp(p+0dsr3cDC zKz-s&N>7x3RQhvDZzMk{4W#yk22=YXPk`bnlR5y}G<6`fS!x!vMQS#*W$Ga41*t=z zX{ke@7p4w}wo4reZJ#}oHG(8Z>EP5{Btw)AO`U_}N+{mkQs<#OOzDW!d?X{GJ~1VAA<9#s zIOkIrqdZS(e(F*r^PxEBQKaek(*LU}zD?`ElMP~N1pIJE#t5mbtj z)U_yYRk}NMJ(4|8oXM#hQQimjiT$aCC||Gi#?&GtH$d^WmUKjP2CNBFm*4Ihm<~*x*y4tN}o=>0m(B;UrD_Q$;(jO z_fl^``MA zS3y@dei2&G_~p24@qn+9ScT8^ablBbmT*qOX0ZvnRon>OChmvs5Ds*gI0-!<79_Sv zJRs&KHiOPjJP(?ecn)+?;`z`eiLIf_5-)&Wofw9$OuP`fIxz!!O=5fKwTTx&*Clp@ zZbWfPkc{&nS5#DKkznq zY2p{+KcPz#|HRdCX<{3>q;Xg1vc}yLyU5As1jHbDdGkBZ8zlQTx1mP!a_AM!A3JZf zysSk)OptfB=$be|mbd7hxJ34EwJ6~U**bhoJ|Qm%$B8FoI6MJ*VfZ+bjBt(b3E4gz zKypzyNmRi?D5#T!NNWav54y$*a+_T3RSq%WKfG zT3(Bm)p8wLR?7`&SuIzipK7@YEnk&4qWr4787*Ixx1!~%@;0=5Ro;P?uSy&JyejWR z%VYAsa8>Y_yf<7Kd`;f3^Z_Kt<%1|6mk*=-x_lJn*X3gh=ZRdr6?))48t(^Y@fsrTcr|JnKdSN+uOzuEcYSN&7?_fMgg-|YMu)bg91 zKZjb-htse8b(9AA(&Sai-%Mtc`;rHf%gI*qcv2^a$=j3nCNCtvb@S6N`|_{(>aW>) z&Hp%k^O={P`LZ)#b7uR@c+O z-S^-9hPyv__dmb;5AMEr?iBa_>j){WtgihkL*N zzV-Xwbl+R=`=R?jao@kc@AvQf@ArLC_pa`I_p$Ed-Maf!_r2Y3@BVoAx4M7O{qyeU zx-YqZeE&P|fA;==c>hn`|DW#vi~G-=f9m{ip8xdu|9bxO=l32MKk)Pe-~Yfz9{BYK zKKHWSp44>KeG7BrISnNm;Rrn_2pY1`jUrU@zB>l^xQ+=`Ox<~^x=no z?4cVj+wjWydL_|%)$-n{kZcfR@AH-F!o@A!uM-tzQYo_ou;zvZo) zn_J(!^=(^U7~C@aE5p|gPYj@zhwMZ$6q%-dGPo_eei*U*B{=0xO8~s@NXZ!^yuW#($R&Z%SXR{bjOqV zlb?F>&!4>MZS~te__iN=+fTjim*4i^zVUy23>fxvQPfea0|DD&r{h7D_ z-M4?}?f>}gcf8|E-*NdJZ+XW*e&^4=^S9smNALXFcYXR@-}CejKK-ws{==ug?Ar6! zzT?`jT>Fh{e|+s{-t*9Vv-g(o{pt7q+twdhSP``#aBn z*Yh8I{=Ywe+qeA4w|xD#zT<^&ec=NyEOy>?+h?~DlIXa0+l_-HfqSv@p4(nFK-fz< z&)oLc2$po7z3rrgp1uM*_`q?2+ zpFEL_lB;l&y)$`7^6umsoF?x{zBzd&c`kW2`IhAQ9o#qsfmZA4~pW z^6}&!B|nz@WbzYm-~0sJHvc5~Wb$*#FDAc`{1W_r8Giq7^4aA7OFoy}*15HFXXoXe zS9iXq^SaL0cTT|X_3%5@neCkIoawA}E_S}5^X5*~DLW(hnNHog)_J<~Zuq?ie(#0f zGw}On_&p21=iv7|{Qhp|yE`B0ygK<|_7W?{6y!cJKvN1)6PedpMmf{>-;R-C_f8##m~aM@UzK3 z2iVVbel__dwDsrV_Y3g*Mfm+vXQuPZ@cR|`{R{a0D*S#8`tmQ~_v_G?f7Q9t`PcCK zH}LyE;rAQx`?t`qe+R$cgx|mKj644U+W&vS@3%Vd@BGKkcXoce^Szzl>HPi9?{>bg z^C|e@Y(13x$5-==ervM&8lJsxP2T((hJ8C}QXuTxlZn8-Q(@mJuq64Al!B6&|3XrK zDEVDU{g|fyq=tT1Lw}Tf>1+9mKT2NlT890x!v0ucujtq>W;#bFICP3a9SS`yurmrf zL$Dht^gc;l&~KMC-;#d2qOcYHc16FvtlwVId{^|_H!AFn`t2L_+a3Kj*L=BtyQi={ z{dP~kz1n$&jKXVxKHm&1rTJKW|drIqlO6z@A%X?n) zJ+I%sPhs!VZ{MfizV!yXuDRW44ej1&zbJ0BE3CNDuDViT<&AdL zJ#phNJiwv<^~Rl54t_uORr z`<|O@f1lCRXEgO0P5lLJ!7pj(U)^L|`foJ!DNX%74SiNy`Z*1KUTgcjw(koH`+~wc zH(OZeX4|UH&9+rHYU+)edZVV^bhB;27is7#ZniDBOG96!rF_-Rw%)H+*jFp;)e3vH z*7j@68k*Bm=Cs}gg)Jy-NnuM`+mhC{qNyvIx}vE) zZNbAD+SC@L8X9OR1FbhxSf;QYh3#lAB{TH7;P+q0VbtfoGzsn2T*-lw4tY74$!LqDLU{D9W`A%%TNVINl5hqbm3 zYi%FV)Q@QDM>O>-Zs8Vud6M3;c!@&;4P_EalK*n6J#$`qyA8ceLtk>c?Z@}uZcpIv zzulg|KcKK55ZIR{f9npN1r0s*S8V7nzC`!5h9)n!p#u#)^Kv^@&uZxTm+J}qay@|+ z_CAHZps*KSZpYiKhOErv8bh{@>by|DvIr?zAoVA`RVor!D2y zJ8iwUE9`cKy;NZ@z0=nA(mQQ!FVobQY3j=~^-J!wEx1!de?wdFwHo?cTFT$jdS9oo z*D37v3VXfQ_Ij;tMpI`rbw*Q9X$#J1sHZJ>SVOB?%Bt48rm!`IJ)*Ejw6;gIw!WtJ zHMOs)m$d~~G_bvZNZU-p4S$A|V+CHwSAJ^26YwGW53qGx(|E4YYjD|j|rF>TF{hY!+r?Af}?DJaN=e4#k zXzCX<^$VK%8((f)aMvp^^b^TlXHIrf_&syx%RBEp`{kW?pM9+J>9eoA8*hB)*#~aG^1prVlbs)$ z`;r^qefCcHEq3mnf9;L={3ko#IKSNauK5RU_{97NJD-@}fU-9_-?+F7bvtNLxaGp$zq{qFd!M@H{qXlE;qM>p{ou=AefcxD%oVra`r+a;xBMRbJ-`2_kpIu% z_mVsBI&(ApZn?84Z-d_*cbf8x;rGjs_AlV~yYTx@@caFj7v&$o?~h(?%0GtR>u>$j z@_`#ZQ+}}Xnex=FpDFLW@iXNa_)U2wKK{Y&?|=Jj=cad@?wonY)-5OA`6$o9(;w`7;OXzb z{R2;b`1ap^`lGjh@wHEOzUtZsJ70O>!?%A5!vFmml=1El-~RLOIfOa*!tL)qyW9EB zXWw$i5v+q-pZmVsU-8_|9k)LBB$Rc!v+};voqzYOi=E&3*4fU_zh}1d%nK(we;)X9nE%r|J!a#K9PJ8{B9*Hk)KHJPd@RIMfkf6zm;U;rjI3Gmi#FEJ`TU1O1d}x zbTWR)KZQI$gZVleH_`I%u2#cIk)2O2UZ{3X42vRJNXz-`;-o0%#^XBQnvApLp=>-~ zr+H~k%#~#|PRDswn&e_N4zu+kQ0^>O^?o{D&BnXc(53attJPjsUrOtAKO1NDMfl@V zp{RWO=u%ycvU+^9u$z`U*$_V&q~oe~`4*~jT&IJvYlcg^0GW&YNrJ9tPfYSU^Xi9Q z!6$R0QE{~N!~`;qkJg~Fu=x4ZWE)4Lto`|A1MS%#75N|^7e@}hnx&<&36RO_ume7v zm&4^E-7!9JBdvF`F@rBnwg5bLsppTE8K>p=!L%F}Ua6NRwI55zyX)C@R%hkF1J9Y! z>ea#AARHfo)>+zw(Wq8Mk=4zV)zpk5&}x_!I8Mz3nB8%n7LVrHK{Kg88P%CFn6y;a zRjbU!+>DC!Xd{CWO2@5|mxeja)U?!T@K{55So&F!4T8CUaJ*kE71@4PjumLaWQ{$V z789?s_4LWA?q{v>J}PNw^KwFqlDF7GwZ9KxN_{XZU=13M?ABFTO$@g$0($EV1EG+m ztI*0`xn03Bf%z%Z0)RVNo%m_W<+xd?FVR#%h z65@4XifI8Ng~0I@D`BmUL1B}aEHaJ+_vULoD`?2$qsP7s~`w4`Uq3wGJ0~vYL(uyLdt;yk1>DabtwT zyHi$mW^dha2esxQOnyuc%fw!mk(ue|a4u)AD45^=I34V5z#X1l#+{sO?83wk=b$BK z3|F9j3Kc{LbU81e3f|-#_I4;91VhQee_VkaU(XCIBAH@8`<2~{W)iU+4@9%(#bKvM za^e2>GD6#=fpATfv@+%=c`=kp&)`@XXQiQ|cV%&b@+K=qwUri&c`8F;?7HglH`v&u z2iGW_1r~~%6&9)#Z#NNDZm$O3v3%7eOZy|3X$08ogpUte#}oV_=>-G6nwIHKbHiHT zVosYnt&ir0=?FfCRknJxR8IEgNLnff6`lt6qQfK?zM8}RhHJ<+&TeFh%hHutPtT>W zeIJA7-)4Ihuvr*6wdWNk3%cqu1ScBj;4{=_f#+tH?)y0ylC0y7-Otwg zaslzXbRGJpn_~fP?*KRN!x-3pJ)9lc_W>Me_}yAr9Px+q6Pz-4@IeOeyldQUm&bWw z5^j|(oEsy3!JWf^Fu4!U#4#Smj6Yn-$Gd#Dzl-ab?dHQ9-UZo_s7dUm-k z?D=X2=_s>jGCn==KsYr!eW7S_xQ*z{7~tuV(C|Yw_+*; z|MV^{udT1nZS>YIa)FI?23Ng=Ld=WzX9$Bcz9?v2$?D8A)A(v`e=B$CM-jZX`GH`r zk3#YKp3zji6&CZl0mb#xhgZxra9(B?C;MAj>pQ+=8_>nHRg!l*HdCrVfl= zuMId&KbBXHo1ZLCU?Yd1m9*Z11-F3o0^A{Z0lY{SI~B>wuvOY5A2vX}Av6RK z?s&(;s7DjR7icptKR%n#YUlJrh}B+gkGOl2wi3#n$lR^MJ&y~Z{lRK$09J=Z3&fAy z=4NPpdNDh|br#t)?e%&otMQJ&mtK4c3O3Md&W44zXW2{92^LtS=aPa4R3qh)Nmd`d zX#3W)9XOfl=Bl7avmo{TT{y!d(}5uPrAdF34FJtpuJGt>WO66BJRTjOkrRnc?E#iE ztvP%Qj*Q1fKG~PW} z_S$HH#j_WREM@d|jj0;(O8C;Fy718H9~pR9Uc~W6+%I1AL#8U}%9@gXp*qOw0TdZe zUMr^@dp5(RbVx6hs?MLpmt8Se)EJiEsjQ_24t(6DY>ih%&B-}d=qQ}HN0Zr1o|;H@}(#_x|1o0PN# za}{oo$$sfVi&>HH20(i)e1KdZ0i z1A8L492Va5VD>TRf!0cRj2%r)z*6u=Zxq}BZ5&iyAy)?5?K+Qbd#l=Gvj|A&#ux1j zx{yW91*@S$F486(QkXVKii}aT6Cp4dx-cmikX77A!w9*kl>jB=@KDfnBsk$OgTpsg z0Ijb}6>ZZNCD75WF-aa;A&~D(xU6xR5#_>?s%k)st_ogkcOb1We&rZ>?RbwKdra_q zSd#G*m(rXlT?l8oH-Rl^y*hX>-`R!x zVRvlFt<6%rm^^9(cBQI^t*;R+*@6{=Orf+K(nhr~B@P8psR(fz=utm=VnVz>9@=Cv z+nV55+guoxa1T#6SmjJ-sVzOd0p%mDvLA)fHCTk(MRg!7DtZNS#elx$)ldmP$nd0y zZO2iW?&kyVgM=TI`hXdmgTqrE+N3Nf?DOg|-N-)$Wfg*_P~LsdhEZ z3meS#;XKs{K4bB%reo~EI1?c$O<=eXp%EpY1g0@ELAGX^uHJBhaid5ry!2@D_{EPACkZ>!QsFd@mMf73*CUj zBA$X!zWj%pK@)MowV`mE#>?tg>1cY&%uKr|g3m^)SgZyU#Oz$65;z>sm&xMD)qoQc z9w(FVka7sI1ibY^U&`?#h)x^SSPw97)p9X0yWw|C4%4|;L|bqquhL~$o?CEauhi9K zBs0gvB74ecEG!GK3Ft;ursGI8bQi2=c9$XA)yf5{djHbaK2Uh zaLD-W1oSwIRBtKV4JdYez1qr4zleS|nAG?LTAt_{o%b z%+GSN&m?eo0gRQ0$u#3+BOy@*>btw8xsVgImP*(TB+r2oGJ~vebZE`x6Wc@PP=l$v z!9ptou5SZwn7m|eGsUfRO|qfQ=P3TuV*(=a542{BX_*s*v*v@O*JPstuH~A%u~4MO zG)ix<{&^j64UVKOM?Iay8;F~4(7;8Sf-SYgUmOm_275vWCjPL?<57ouKBbrohMVF9 zUQ>z3vhb3aL12<7qo5a1p}nTSm_Qe(1BlUJqH7x@dhMVX4C&Y=@wocaAa?>U5=`Hp zlyb|+DvQh)r^v$c8@6F_?*Ltv5*sEdiI=sN z7}VpJi9%1==BCAz6XAHw8I$jnRzNR@p&K%P=8)eM<9dS2vk#e4e0>KwFILCo8=I`y zMpSi+&;Zl(?XH14MnGgvf#&aWmO*SR}-T&UK53O zTcB3C?T@em-A}xYqPvHZSb{X^33^5(UzV{G1Spx$cJflPEtNwF!7^Whn;2zS__>6v z=Hf_jkK|Gf&j-L%=a2a29i=4=y|B{!&wD7N1>eG%1~1>f6VNM=@}1$qOgHg}`HLu| z0p}MSZ%B%%_5pFphVB;D(8?sOc>^ic!T1q-S|~@)Gy&CU)8301?vl+i!n0eM}yS zqX%FL`#^~PrY&usCi93`~DxOXv1D}XgF|373)~khF#B*w^f{PL!w?={+^+fh@ zwk;0%-w;>T!RvS0^`C=%(ETE`?y zR{9`muJy{jBK#PYBFVZQ8@#pg-sixDtlSYC#*?2mVYKVQt!lk&cGWcs zYJhYlHnKHg-SE39>-3lmje48qk5&A8Fin_RWYF~!iUSHW#D`tR(YBC2f#)kYvr?5m z4}gsl1PUiW5MQf_77_r87VKC2u*YZPkr!`72@zVWQ4B12J7bz;<5c2Q zBb1`vgCD<_`sK{(wp$i?CAAt)YdEoj!!V`rvRI)zx~9ll%?Sdt(ZOz76U)z+>Nmc8 z8@-e;>5>)4GA)Sa(bt-bX_`BeyeJ*>Op|s%m_fwKOKZ#UFLQnH z;==E6952F&$q|?&#*kq;b0f+L0u}BRgJ@b7VnaX+iY4@rzncwZb_j0ULJ?_5e=i>q zW8ENQJ-L)+dsr|@`%$193|Zt!Y3rVn6hE`Wd2sFbMzb}%Dw>Cf+uC-ogv*!TIwfSZ z0NXF_x9zgm#pS#<<4b^gj%k5y?7~AwRu_dWP?p+8<)=EJ{fmbX3}`0j4+j^kF+Dv~ zT-gb3eAw)(@K``$QCmB_%itb`H);Xn0GH>aE{^62^FeMKJ&cNUpHG)LqUxr2g5tU2O4i<43wS)GA0&i^uj06pbJRhf(q< zo%O_Vbk-B{;gD}+OLR@($;szCVE4&bSgPBiBT+QOC<_s~7&O(L(m;HYic*5KNgj`| z3#D14P!Q+yxhY9W=XcJ#-(MJ;nvaB1J@^N_Gp|qlni4DEB%(1B%Ovb zPWEEA8A!uq$jVPhEewXMO)UyX(~hJa#pZC?p=u9PV?6w^5aAP+(xdhZp6Lnula!wA zf@2@ZRS*IiZAQs>zT$K0GGYd0YgkAjj4I!rAQ8#-h(^~5yShnoFe`wXT!vGZL&&nV zbaNxg+0ZilS#+R~m+EW)rE`q5ua?uinAAe$ZGZy0vk8gL#!@MmS!}5k62liC?kZ-g z*rP@t2i>ru_K|oDHr~}*+J|M>e6OvpWkL~S%#>H>Rgq#ef~;F{J*I-J6>ygy3E5_9 zB7XU(mSaWs1I~kNMmklqA+Ln+$RL3PKu}1L#E!33tTT3q9Y9WQ*4(nsL|^90JJfuz ziG%6nu|fdGQyo;5!MWj38NA8^KB7BmLlPhh@qFd)a)lB_OmA}_sD(f{Qgphk)1hpI zSPEP+iBqg8#Y7J33q1_LG%nIINy;Bdz#UCkCj!ECNJ-lS#Qlhj~Hqsu>UARWw4sS&59mq!ns#6*b*%Kmci-|&+gh0(_VwBqN=@gsbn*at9&HsKJ)2MZBUjeQZ&iPkn4 zLWBZ-^II}VEG^WZulaoe>6e14=;4Y-opi80H;tZ6nQ`b@J7o%SQ3ta*XgWsnI<;pb zEJ49>WN8LTycA<8c#2v$QtklP5=j`0NpLki#HUQQIx%CEnBsfuLRIZeMhU!lc5vz0 z^BA|j#r*tRzeNUfnz*v4JhgUOL!*)0bjK$IBHW;k+ec%Y&&4%>)EyiA(~r~CIL$`kL)s}TMXgw+}O?!Nwf_|KO)fP>FO@* zW`n(Or4r~ey!YKL>E;^VI>gwZ<-Adi_{5@EC}b?nWqJ)_tv-OxngAk7^*+cR+Z3@E zd5}Yz7l8#Jr>Y--g(IT_+w7y6KUz)Ao)n8R(vlOVo)Tog3wXR4}*AKQF@tdW{N zEmse&H8Inb-j7anv2WkI{wDyuj#6xroq9oEoFa<6xVU_McP$-`U_G+-gNMIG_C#AA zKzCPc2YK6tHq$^+3JLN^I-3r(^xz~MMDYmuD0q=uM!Lkh8jQ)zNT!R~WL(27$8R0x z)s-4|cmc;3P(ag!QO2LPm}o2blZ|y?t`H_u>qSMpKP$@B@Z2)1VO1cS)Q(-o9Z{yYa%s|T691M_%QJ$QpbWAxe(q&G(MBMCiNoNNXVc`I147*q|4*&d*;_x ziM2*}=?2Ll+bBjh%WQngK3q|AgI@jVcIIid+sneLG4pmCVoj@Qy*Fn#zEL$yob{$9 zAZj=dh};;(ZOTTpw-4`jl)#he6RrMi3X(`@3X$LH{3`On^HL?^mg^k$L2;xnjoy$B zB++nQI?TuRB=SL+h0PCKF6ma2JOM0hR=Y`!<^)ZFX8835=+fezwov>C0qd`gwI#Au9uTi16u;USO zX)p?rm$Nq{5z(PGY7|Zgt4<^}|Dg#>M@Upco*GMs3DknDz2_ z;Mgl3Y;({6G(VJQTJu{06R`_!55EdO&iogz$u?69=-5FG`$=Y60+BE++THAz#m1Y} zSUAg&kS1F-L2VA!TW2#ft~vpT-o1l6tl7(Tc|?yluO+a?BGVS7%w+K;)E@J89&f-S zRMf@@OsS$Vxb1ZtTYkFQnxh|CDgLTx%}R8Bo2VFD(qa^WHG3FfngA{>0_yLw0>m*% z41-ld0cJ4!+1t+#zpRbj%p#*m)39fC4cw;oy`~mX0Z7bFCCpLulkMFpb7GIc$nI zd68zCV^c-C0H@ZD#4=i`At*h~>1pW?i3*S#@0makGsLQV9ydQSi9zD*#^GfYgUfXk zOPYfh!oX`{(nx2%i$-CgX-*9Liz#xl$zE!YL|6?RDCv|t4?8|>4M)aY@F!Wvv}fla z13WSovm!k@Cf&r+jCah##VmZm(%LjbCATqODy$``I67&xu>FIf-g+K+6mt=F>S4!X9Vq`BFASo2Bf5PKQ9_O0`n~bD5DP}-goT%Qho*w8`=7EW*stGD_ z!fXK&Fc|u&VRp`e^fvoYXET0*CjCOtE+zO{v1$C;5^}|Ok*Lb4U^QwNqVW^}9*Nim z^QHrkX@fA=gOy>f83pK7RMiZjfR%c&V$U}0^cczJ<&ZUR%>0p-<3TL~r*XIE`-Yir zE`}PDDo=va=G3Tsus0d$%0UK(68Wa3HF`@8qdwU__$_kvPb-dy2n_?bJi{dQBH>A8E>Ud9LfcQqY}>3p9}8A418(zv$m)#hK#c%}JqxypP{ ze_V~IImEZ2Yk+A~iVCci(p=VX2rvI`(5AM=SAhF?Mng|T*6sAnkrjP>$+QBFFYiUN z=>9mqlo!e3@2TSpdhuM%opyYA*OxQgoyV7WJ^5%CzsR6Y*>o>5&QrdEkE-&ru{aTL zf@E=mx+zGXCVAtQA&zOr>RRySnk};&u^A@9AJoJiJsimGhTa2$V&E|7lYMSDBva4E z3)`2nW;9IzqmD#;UaUN3-C`wjJ#1|P{?eE)l|xeGNiNrUBDE~1`*~rN1j^wE(`^F? zn-!C{T>-|QleR@|JW`4Znk~juxZwzOp^ZwyT&v+f9An{cv0&nKiSckP(1L_~(*lrP z4?rD+q%GDyjE(b&l?L{)dq_3fp_UJDBm*_bZ5-18;?1Cpr)fbj&uV%|jUlAbGy(GL z) zvorI?kW{9}`3a-MJrKQE=5Na`SnK;#Nr|D3o7uxl2TitE?L#koxy%nGxLTE!@Yz_> zto3e}vYn-1S6QPXTZvR4g~tnKDFIJRIS^2890Q9Hpd-o!V5Crr6#G;W-e%#Ef~ORE zx!fzOgVN7AXqGl;mo|u(wvq+8ECY}p0VChy5!=0Mu)pP)?HP76VY!Da034J>?_gn& z)5b?YLDE4uA>OK^Bdg`5fK-L7E+XU0MnsG8Mj;l|c0LGGgh9iSFAx_-RhVhHNXhDT z2n{S)cu9o!`#tltjgV!s!iSte4iNIR24v&JO7u2#_BIRLQgq0<-~w2?wZB+P>PHzc;3 zbf>D^IJFu4B5k?X!MEs`hZN67wCJ5|n%r6KhCZTtzKsm5Sgpq?uVXAaF+St7>bl2d z^KGwm(U{EFvoV?T=Nk+@tG`J0W@vF)kt%6R(0bC}p&|0SVUFV|LM11BuHK7ewb@oO zey4kq`LZmm?Qr5}qW!tOd^BI}QfBkBSgWsQLuBb11fDu~PaB9i zFPC*JZxhTji>+Y`bIERYNCt43TmvyO2+T2PH=wnAr}$>?O`_oBLbj6*j@Gva*a)^J zjDj=|!gWroan4)<+>TxuoHZe%_WcLv)|WQdm*y7z_?7kE#*z9SJvf+vat>-WTZwgX$o^SVWfJTQ|&I(uxt z;Dy0bMNKG=&Z7d8^?|7&H4P^$0u~!pLrN3F4VIM51BV|6V(t3GY4m;+grq$!!eW6nXM~P4@`+ zNz+9@Hf{)&t*B*Vl`UdI^eI&bIbO+u_Y=PmEP_Xq(OFK~* z5m8fCnHizCK%G%Y2Otm!9DzL3Op`Dr9R%`1Xsgn{$p9ZZUEo(0q#Wx3m zl!DHaXMjdbuC zMW`}6ZD?bAhhCXZ#0cG89h9kSRtIC66_6>?4aasm!oAckPi=|oY5OIubK9CiZ@yk+ zBD_)m%Z_bxT#eXx*7>V5)njroKFc_#9Ay$&VN(k>E|z8V%gFFa&bFAb)~1DT7S#b> z@qp674NsIPx=Q)g!DqDb!kgaF3y(;A1hY9*Hu)DogvTbZ5k60{&PSI|n%(fOAg&f*kyHrcG{ zri4t}@&Gn=m<<|(x3b_p?_<-56FJ{X6BF7WT#HkZgnUT_IW0;x^fo0)+oJHWvT14V zUNzpuYMOmB&CVHpiTdRV&~g!NjHoCa@m{|SP()9nAidb>-zG$o0wW|$k5Nya<+;oOEr`p%tsK#l* zG(A5|f+(KwybBWZ>SPlz(*(@oOpDVHB&&b+w}AW3m7052tFFgk3lg5x_PyC{3}WmolrfB`*76`8`w+v? zdl6jo*fLWyFGrh8&nI2q6J#GzBek;BN5o zF@_GN&sNgu4=m ziuPcJh!h3fYuh$VF9wv|?-7bzaqEZuu~0+6V^dtswMT{==$V52mDelHpp+OXitLHV4?q#}q%jQq|aA z)Qnt(L>IeQm6uSslnJ21%OlF%l!UXV6M}nL8*!VXRpiw2vUIOiW*a6sAI zwvm_k$Y{V1RYbxyvaOO!EK4ZP8AXoJ#+dqs)MzC*cu^)splLawK}ndg+H8=kZB!Q{ z+yz}Piux@}C7CF+s||?}^=va@dRkIjRJ7c$k#k%=F6Em)DiC!EjRdspxr%=@%Fm?yb-%a^bwDrma$+dTKJH#9#xT`MRAm%7v2QA=1a#OJt6ZwLWiDgg)%}x2i(;vCT|*EK8AE zg3@#xF$Z<$OM|1MV$>z0_GP4#oaj^IYT=cs_f1AHNU6`bpryl$TTT;3^&7i(G}7ho zW6oN^VUn{deN>6w@UG{G1pRD`U4Ex1++n_R7uL{qv_eayt7t2)N8(t4-dRn4j*lnw59&_};N@fO#_Fy|W_ zRRx!oHELsgTkVKW<+|nRBeUx@Z)&18tDVC&D#CcRL*)-atEXPK>SkK)eQ3QRtg5b^6s2q+Ki>5s zt(N&20Y`xiN4}^1Fd4t5CuZP!n%|ir2&3#c0Yl_Rp&MptKO(~t=nk>&tN9YqSXYCs zQd}llr=FOOX~gOEt|CM0+XIv-;>UXn8s_x`e$2Flu2)s$t>3KSxGb*JR<3qSqmAK> zBhI{K-`H4JgKctyX0iq7w>%<+vDUP4QV<^LM-iDNDuTYElEqy(mu@3n8)|=Tv*5?- zO`N`VvBe6*ED_jMaH}l$!I;#<=fumL5Ue*speKjy%i{$ROIZ}@77>`6Cg0-AwRmz8 z?oMvC!LcTcW$i@Y`oEl>v zRk0gN3X`wla+#nQbl{{t8CH`mvByuR$`cU6r@CH8R{Iw}6Zr-STgsf*d@sr`DqD>S zVwff_-YLa~Eu5QTf*5nFam<=sFjG@>=53Q1AT8_)G;(ifH)3pIDZQN}-H0bpFCyq= ztl<%ZU)+9gd|fZ?=((|qj|Q9DMrFiZJJ{Zal_0NUYf;Wa_&m`<6Gr)|HX?aGF#%?AlgKkc7*0)l0-|Hw9ztQC%c0439@|V)c3cxU z*9<{CjwlFR=Cs}-CE@rNN9xykAuZ=sRb#kOi6fk3HLG{5R~+M1tZlMegjwyaJvl;>YVohwD62LS8e19$L$NGfPn6q(jTCt|2krl01#r4{_W6puP zeiNoGyQl@>Mun{mLErp-xsYoHGK7dQvP1UQtw>UD=twAbf9=a()ju+lM@33`)cL7B za*L3BI*NC%xnVl87mQZ67|2?QPM5Q5Xo48MZJi%Pm4-q3kgsY1L1L~biRD<3h*O(s z38AcBW8zgx*cXX#QJ3ntbu7ndL^jQZoqUdts%e8uj#l}6aO z7v5We9#G%ct3Yj2p|jBxtLoNDHg3bw^W8>;MsTT#4n0GX$VRo8Z7V?quek+42V0#X zBfTwX*R7HEzR)ES(WH$_|HNkcxcwF>SZ6u%e%0k1F3rYTj4rq4a%s$eYhc28x07tG zZq99^6AouLz-qg*R}|Je5n~9J8cgcVYLCL&NgRkBXF4ko**5U{9ts$p(6EJhwGGO) zPx(L?OtZ%vNSXV#6QT*$9#AYT0J7QJSW%i1D@zmY6imiL)WLJsQWX?fN>wPM!43O> zCI+Na4h<_Rds-OL4VdQRhQ@NYQt+FHvuvc+gx5;Xigr9j&WDDQL)&k`N@My>1O|f= z8VvVzD%{y4MkiNPm6*7W4k{tLj;$^YgPUgkL*xH|LK(ydZ4|XQ_cgI;`5!64u@%(- z>*C-5r>&K|gI3h$h*%*((<82ffdNEK=^54tr54*Iv_fur$nV9}O~dw+IG2=lfsDCF zR8ri>wqNSuh`fs?s2>&p*2>1JUMo>W%?@9;u|y+>acot__)(FCI880v?VRQgiSL2< zDi4RIxo%|-4C-v`ys!s=t{;oM1HG(QvUG1fvs}(ziM|QeYBpU6Qvle0cGX7@j9c?2 zv46M4lp3FZ3uhyh)mkD&YP#y(VFb@w}!?9fLK z7UpYY5iG=IpMs`PhBhkFsA_F{8~xmgN0F4zVLVqEz$}`g5eu?Z^^lCTmx{}#hYl5A z%{?jgHOX3yHho8lVbpr&1gN@I^ujh7iHf#7*TPoov@zNc`_blZJ{)GHOe5k-g>$_w z8_}6Kf6&i-gh+4$g6BHkSSltW@+we@U}lCbdq?0)DuWbjS9Cn%2nL(4K%`o=ab| z!2+ZLYePrKViF;ZTQY3JRv9VS9tAPw16M7)Q56@VgXnS(4w-5%&%}^`nlcDsCIUNd zw8KGd3|-Ja?aP&HOZpn>yU`N1E7&vv?)nI_1Q7e4Ud##+h;}jWCF&Ot0eKeSDM*Kj zQ11f3M&-`^uHV>c52&fh+RT`)o8Q2Q0F2k7HmBPk!EmhH$TWr^=%QQ7o;ssONq{sp zffZ&yzN3tZiz;90$N4Tm=82^-ahR4qV`#<&yRPPlG^(pMGWxF0*o8usMktw7ZA9fy z`|tPF@0aa|G`wjRD|VvDE`f72XX(MUa@vWyR>sfNwMb@fqn6h9LdhjaDBQr3i^WAK zn+-O$HmN1T573$n)!n2sCwf-~+aB1rD%Uy@|MF!72g+amb3KCoa-U8+PlfJum}f)I zX_aq0h>+mc%Ir#dWa(}ao7+OGGv0u^8PeM+yp`Owl{@daHmZ|lCzlK};={=^$|zBL zNrtzhm*ACeqv)%7Qi>-IG%sX5e3N*ZEDx7Mu#Ijo9#P^H4@XS9+8anWY%&tI+qO&6 z0oz(`*3eod5#mCY4n31eEx-kFAl`tZDAkH{FW&r$%C1H}ffAz9|4V2;?@~3wpMX}# z_>}Hjj#?{dUO}!9!fb`D#MKid@xx??CK=V))x4S*mL4DK!q5qbH}T`Aq~SBwVjl(}GZ0&AI}B&w3||8icKfZ8vQYJy=LC0R7C0 zLmi^h6RFO{*{wQ8N&m$qBrB7A$Z-~)V=9Lju<(5N85XW9*mJHpE7RlH;R$$%cpo)~ zD;$_$41)eQI=Wub3y!=c(LZQz$*NuB!$+h8TyU<=no=^=u+SA2B%3oKF@*I1#X@7Apn8o50rWOHbH0zD;8@DTwIWfsKHSCsyHk!S$-3 zQ$&*7_udd&pV9f)^`5wTR6&b>tBvVKhM~>8iVRgaOwOAU`hQ0+$j<7gr8Pqn%8S|f zpsM%!V*T9`M8!m=rEW$*)|Cz+X%JW{RSeRL%A;3~B;W3&4-#^c6iXM8t z)d$g9D;;DFuHsAZ-l@E47IL2BQ3f*|}jAF@#&i5IaIbeB9Pf4yQXNq9iPh$D$K z12mA6ydhrLo!|tL-PCS4{1FX3o{I?PsxuK){`Te|rpMG8_-G;Ckhjxg!yL;sJuMjD zR&rxudMmH7#A3^+v0kD}!khnarVA&pe&NAoUia`9f1`9_l!k6e)aN;g(1@6w7y}5f>y-N{SX?UOY=?mD&03Ma%EfsJW|fy{UnTDM`fOpH}tMZlTC& z{F8W!&#|&CbY$`T75y^z> zDlIw)ZJ|tWExgDiPno=E-uMgv4wvoJsCh^OnruN!{5U__+py)vcg;Ml^aAnC#kAg= zM{YO!k9?AIS$K z3!Gf6WWAV3qfMl9>{G>g?reM$qa_3dv@&c4=Ywv3x9yWn-K($zWH0bCZY!Ud)?_mq z4PpGLTCwO)OBgU~Wa#AUg<0Z6?*o9BL%yMZ*My_Afh&Xy)EP;tF@T5eM)yPmzOY^>4 z92PRX#{a|z)4d3<^=STRg50F^)=E9hu?gexP-i3(WN4s==0#-;Q)2+V8`?3nQBK9F z+Op~gUesTcR`|}3duti_nEU8XWXsNv|E6xjOa#^(^}ZOiXgED>W-~TlblP2N_^r8Q}-uC+#%N;9dwB}}v`p&w~^>yuK~n9P0Gt>_outkX=(MVIZ= zjNa0VU>=bL8pTiil^H=uXl=&eQ#ByFZe7OG?D)qqiHb}%6m^NZOCjl)`31Sn?i znMBUW0{1>z304EPUKSP!=07C=PX_`ZN-P@-fxyQBQ^kgk$I}}M*K^D!@I@cM#^`!= zzC%5Kp;(0wDACldbktMDTx|kP3}~C{s$4-E>|TWZCv(M^X8Xs)B8rMlob8M3n!YPN zi}06h!I3xf6t|pERr_%vBj?&F?Q3<<+G=KF=15%}q_F4#=efOExogvfDnk87n zF0h0=|Ap*=PXJ0_w}$8-by5^+mJTD{w*(U>noHd{or1fjWCt2Sn*irnks>Z(QTaP=#%2kvN&e(bo&OH&LjU*X?K%1A006ATUjUmqWLq ziNG599P_IIlY1{X$xH<1mB(WF_L0{D+I?+LD4}^YKs&k(rW|VKdNQ=#vl0MZC$(0R zIX;=_m>6UQ)U{H54WlO=jcaTPs^FyDfP1* zv<~prnI@~#SsEc0$`tD&WO)&r>2fnSu$>@rYs-OFqzo}Tv0HHFV6E$2ahPL!WwRr% zR3-|&W*#64B=PwpWtw_ZndtS?2F{hkD`}1zJl>J7r8POR{PLA#=FlTovXRX;4tY_e zfY>ZX9TZyMR=k$Hd(Q7~&>Gj5Md#1lcz&YY*(Oh}FbO%c7VSX3N`Xk$P>?vl9@n<7 zpmU}L%e+Nn;s`;UaIwO>$!-}}ZnMGt-D(2uYYaLKhd%-B0?02yHD>XmWj3d*`zVqh z#kYoQ>P%#M4mRB;*t29Im~cC&J#KGPbQy)|Y{WZW>{fC2O&dSq{GwmIVofXYR_Z#m zDXJ45L6oLiESZ85wevSHo!DC@M0;XJYJ40hVyDL9EfMZw6J2?cEP|p$2>Xh!M21eW zl^A>0!%3pVju?V+y%`Bxi3~^_J(-%(?cAwZ^d^r_kGsQTmL1%6JS{bL`9@e~Q?J^H zsAc%B2%ZpA9tAIg?FWc`6M_HBBj!=0+@auYL_3O0dzf;F{!T+t+lXij-waU8CJNa+ zIGZS83-fEBc*kOI$6#W|pjiQm<-JD9nJB$gJx^+3dp9ba)d+4Y3Es(UFNBN@+mVM2 zdn3&a(R-{!Vt2l=?lGFfw{$p08zsT0p$>;;=*HUBTJF)t%dJQ=@7Y2TFv@&}22wWQ zNGU9>kpxQTRF^CMXdBW)qL$UTsA^U1PD?SXfJ2@5;k-nZra*(j_mA9!`S}9nEqz)|PZfsL ze2$W!f$xDfG>`?xZeR~XnP7!FiD@B_YJ^#AWC5coiDsrJ!P$Y5NYG`H?+0`e#TW_2 zQ;h&mfKi0#_{@t5MO&Yu4laW6$4jC2$*~t%L>)>UTCIrBHD)JEXrnNiNEt`jjQM&a-RYG&P{-#Gf8x+g+4Hiq z`#CzA#fGSzBFc#qAruC?$S9XRG5Cbm*DKnxW#wcziD+iHS14`Ic$YPZMy31pVOY)w zkLe8%0kY}($WC5}JPHO8jUjIl#%w7~v53e6?8h%B$6$@1RiBDAf}Y^F2M+=_Us3PFpg~oUI(KqR^n?0SqLv;jQ?H zyr}GXF^}rcmWu4z>M<=yH;A^EQIOf=A0`7jq=w3o;X_MVG7@D*4*QXC>@y$0(l^A1 z^hC5=TqUf^fg}9~0I!4xvts0zK=HOO4Nq*&#Z4nFcqcpca~9?sAo;?&{6)zM?}Tnw zZToK5m#X(gtIBiRKZeav#z@P76YW->S z=cX|U^Qp-P$;EN8FZwsujG_r*oQB9bKHwx#qg~Ay>6d1U$g|qwy|VgMI+~f`KeKSg z;xTE)6o5G=5fTDCwqMX+%(w*DLID`9Dv4jNb15O3v^jz=EsH@oDb^g=<(lyw{7Yw) zDxRAlCK7n#YETtc^o}E&EO@DL?-e$`w(7sUFp8)<$!9#F4KfHuNawQ2LM9yT} ztf?;`=yW?xIyE(6da>ASHx@eR-U!>9W}YpTPtd1} z8U39nR%_S)rnRzy0)xVsOHBMMp){Hnq#HzAg@>6BNc+^;T|py8wHGhaCy#jI*|1i? z$+a{X+V%9@#m=dCfr}CL2j6d0{UXao^V#?y%SuYO4!@?RlGKN2N6oqSeFKEKXo}pl zcu_*CCPkqw5~W+4by}J?nLPid2|&gw((zD%CE3O!kSRvJlG2q+O{CEajlt|QH52d7 zaR{$QUS3l7wC~zWeC7&WYPnUTC*-W4uJ$ed7Ksjggn<$trPy=GjZiDqt%~V$-k4l( zCa29*Fexi_b-xJKMoP3rV5tml}D_2IaL8cfU!E zx`piJ@fX&!@dSl8meKXqTG^ir29|g{C8-;SN6w$<=R|@=vwzk|GzCT8My;=Nu*<1Y z9$w65w-mNj!MQzORmfA@s3(~-LjwJWC+P`zo0fxo1a|{_l`}oE)B%sxGCR=la55^$ zi|Pj89i_OU;|Hfl`3k6BC@bLf2wY6l0=<4G2)b^&>1VUdlmmD# zke@f&dA*XDpjXADl9eLXGd%z>CM?;FAMsPj(5(>$l;sOxW#fz;2m1ww3G}HJidym< zTsj;f*;`E{O*t`b_K5Ctq_#Fw&hM*hMYCJcma|wZ8=7_7IE2uWb$YlI>IPXN>m;gW z8kXx+cmb({Rqh7ak9WOD~28(0n#nSH_QpN!_9hau)DC8!ibC(Xo=-~c~!#&l6~cu?)rD+Y5CH$An(t4_!( zp51*W5oT&kV_i6I35H4ZbdO3F^rmR8e1PU!-@Ce`FbDMw3K&M-+%E@#=f09VPw zO~rE1qnOf3Z%KGqDTni&vZ}KMRD^1nUZovSjnwigD+Z^98=~Fxhz$^xS%w%v=2V5V zR%bkW$xw?U)ojB6D{B-x>nR*lxBWP2m|!E;Mj87$#xKNwA7sWokU{}hfT`b44Y|S)gTl#S0$aEkhHT?9I|u;=5!r00#?ZNEB{TzRb2W=Hs`)8a zi$S`5HWVcqD=Nc_kaXpZ9ePS-gV4qmB2!%{ZNgGi(5Mw#L6$3#H;`9OxCrfcXkFKa zYrH;#h)0IzF8ZlhGHxvkyDGzH<2=qLjA~5gm3#(Zd-)~eZCIGsti)xnCE$6hd^H$o zmJINQYc(}{bbeZ3CAG?B%i~N7oGqbfYwXeG)lU;i2R0knr!iazqHfLd=-}!*h3+vJ zIUPGU7tRLpByqj2Ef(9S&@Gyo&**e057Xre!z{E958j7I&L?}jD}`4 zbc#-+WZPa+V;s*ENi*_trZ8OztY{|B$J`T=hjRtWL+ci~*h40hL2~4i!CPhL@9FeF0qgDcHVI_2&ENSOO2+@kYPMXHheb2 zBI1HY)RFKDEBDCd;L$B+E(>4M5dpZ?M8A;Gh@sWlzy!K}Ms>cQlKveW*2{K02Ua5j zj^%vFVt;mfl8mAyhgl0@b$X!kbR)K!q1 z?2a2aP^_|KZFb>8Gj8ErF88@Bv{pvuNo4xcEe>Hh{UN09vf%;LDLTLs*0VA87wHlH|ozmNfBP-dOl(ZZtH5AEH1uuRy^+3)vZ#M48f@Gyz78ti3E3m*ybog#SHT0@0bbAx{AZB&kGLvsTQx3;cvn5BggS`Ccs z*`g@}Mc_seTnX{YrE;=A$M*vxf9Qdj&o9b7NJr@a-|E#tN%!CgZMwmJgO@IyiHRX0 zmH7#F1a?O;&LxbtQqr0Zs2YuW;>MiJBojan`P$r)1!qu8meiOtr_oHnxpL?!IX@Bj ztjoegvn5vpTS+%)i;{XMg*LrMdhRH*mMh1?i9!z#7Bho5`WzFGh6i*Wkm74GvNRn} z>2P?UJXJna=nxwo5E?&M`j!lLt(+(E1W3_Is>T__w*`I*$h7K!6REpKBjYI>2nP(E zy(d~{NiYGE+Fmu*FB4BCKYG-I2rIb={vd2kJ^n+fWr*v(Kf?>X88|ILp4TUJ{c423l&?XtC8M|@GWd) z5f9!Hi_Cc`mcb`#igr*`C7f7wrf)>=CLfZobSo>8IlH5onjFoCWTBQHGq{(>`Bm7q zy`ek`hhYjPl(cqKni*HXMRHb31Ire#2wf+0SjYv*(N7A-hSriDM)0jb_8;w*u>z=Y z5No*htw8NN@`2pFgQk6sfi=M4nZU3+TIc|#R}vaBBtsLt7v$@0&$vQb9Kef`9iWg& zEx{L@3lpAoz7^>~%hnh0`r7jCHu4Ezv52u#H6*TrAuhP(*r8cRG2zF5Mk3WdaO#Dk zI}a7Aw&OnUGq;peUlYLBX5dvDXcaIT0v9H~dOdZ1i=+@L4{tZC0BF%IR1&Zf`HebI zpbTc{lHA3fx}bM*@mVFSLS{?xJD5VN&6izGCL@?ym?M@Pz%hntK*J8$+s7wnOjf#b zr?$!?BpObhK?Tu!O9ll;UkSHB zc&3sG2IqLt${r}huEWQy$bhYh$vOwk~ym4l%jWW0h z(X0}YF;N5+6&8^;%11sAb170Sn?ONg5r4jW;w zp{Onz4b3d>&q5lPs;XdV1$>5IfxV4|M#gm}VWBx<&52GCtN`RQ0X9)q6T?F}bCOLb zp_qw0!5cw9@)DIYL0v|;AKUevCZETA@vltMdPs$zBAR0)``tLekq^$I*AO_E7`1W> zhvP&MQ6FpMCCZR3uA*3DhsnZiCBkE=?=51nGrGXnk6ar}-ywRuSQHg*yxe`>nP-g* z_)!r|uvx6!Bp$35w1SqiuI4b}jA}4F)b2&RC1s>n_(_jEFM)`nNWykrS&9!)1jwnk zG#hbKY+<2+J&2rxnmP;5k2#~Vas2ENA*&eu1PtA&(7dlqz+z_LX z{HZ027^WfHT)uz&VkS9g=a24`ZBPUnDFA$mz!u!7?7QKiD#t^KDD2E7&3%GP zm(Mt)lrq2V{1Ce#o60?R%n8D8^1+Fo+hkpf^|1xj6Lj7?9OnG&rd21so&w>UW`R4N zKt!Yj@5>W()kB>#o14tt=$d zYq)E*q{I_0ZJ&ME?GDC%=)5=g!`YFq31m?aBAex@3$BnH6@MKn*A~k)x@W>!~LrMbE3~RtG6GSO#+> zh*E0KzwP9y`7?K)oSAvuxx43PUU&N3>G{{)b7o=wb#wDGON;ZTX3yTUboQy_HLqcb zmXn8PPo6wEJ3DyYOcQo$24HwmvCWujOg1Xq(bqG0yP@U?pQX!|JK9r$`%6A|s&BO= zdj{^Xe22{);U&1}$@#cF@r+idjC0r81MkF!eO1|BF;huyGB#C{}&d~TUoYDey&rKel;3B64% zARB++3sjNX+IVoWIzVH*a=I)eePP~M^I{3D2+?C8d4KmRiY)szFIMw?=e43R*2gcG`!Vf_RiF z!H{&>QTT!)+QO6USr-`ovxhNcWWBduh5qbd?IVx(j(8?a)duyd|t zMe%T19hCi?r3B~;E`&YYh)lV2k4`z(kv?aVpf>s*O&GYZ0SB!P@KGqQ`c`unPzS5p z0rX-Qp0bO48C~93zDK=Rp@DHgRCiG8e0QH7V$c8t;u8_@?6aqZ`$GC0s)1qEdgxH3 zOEIh6dt96Zxc9lZWa-Me=MS^kvSy_G*!1h1*RwBD%)7GaKO;s|t1skIR zoSUL<|G32^v&m+~cyE&guO(`a&~6Dy+S+#zncS8ktPSB%q_E`nZXY%A5Cf!V`&==e zlJaO(0InFqyywFlT<9CcS;#5NsXO-K2u*%L!}@9kxEnH3U&S1>vVAR#=fnGyhcmn=89cL}}k zl7i%7iBZhAL?|a7k{Tflm%kyDqRV0zvJpHT-UAmz`ZZ)K4Y~lR&{mSHXBRoepGvMJ zGUL>WQfb1-BvV~}CI|4dv6w!xy|sHZMXFdVc4%srW7=tFhtpMfs-li*?b^sEeUd5S znW8Jwi?4Yuhynjehl5l+xA0nXFuqLyi`>si9)AIWJ{i&vucnV<;r#N2+n07LKUVrS z-=!iQ<2Bt|EQKS!8=S`Q9DPJ5RQ_>ku2*kA+MMvH3 zLE}v>?w?hkSf%LO21PBI5}Lx-5+O*=I4tT#020px!poLU=$z382FiLyo}pF~ z+KYNp$}V9}rHoh8z0CiZgcgV#5L$2({0V8iY%0haZqtj-*`DRw2CmP-dDuX_KBOy= zH(NKp&L)ac^dmJkJhx?>jkTWXXDQlO&JN*HMbd#7HY0mRfINwvk}Z!ig5<^%jxTE5 z40y~^LJ-q(904U_^2?>nIZ-rj)I4GgG&hV%(|BHPe8uWTgCec%Qsc(rCGJ;?w(uUU za?}L0KzQC=NcXpfsbyi|_O)Ixkh=ibg(X}=UU+-Ak;zp&a34u!zy_>sl>citYfG9nu+17uvodX# z7J=Yx1ml%%8#{B-wRUF43(tm4pE)HB#>PH^qKQLl?95qiZA4nJo0pssadax-?Ls{PkDVk<<0J? z#_XOt#oSzLX}hmt^~AL118YK}XYx|-Z8M{gi2L|3?!#G}k#}_DtkFwZ{^DUA2xf?M zpxgY%yyR!Y{XKK?3ZZi7bGTW3_h#jOysE*qC3Y3g1Bglr_gi#UfcjY?|zVys`J3qPj=!cEFx0a#Q2{NNCATRnqb1WfL$~ zvfgQ#M}hnS-*jS32eze8ALp+5TgYpxkZZV$A(ft2S2^^{V&6p{!xHWiv;quG&N36+I)mEL5=fk?pjDkHW zUH3?6lV*xE-$ys|_(vC^P;>xe99}?WPWVgIgG3C8J9~%t+Fe0;b3RCRWYrxe1Z=o^ zB$(kOTU65L~GAdM-0V+oaM(D^r3j9bE-M1RuI?;>FLS zJ*nBP`rH^jf~x?&a87xBBHh?yLn+J>Ra$iKGs1}Fb9J!AlI-p&*(ItY3odP-ja{O4 zwxAm6`b>fZAHhJ!vQ!xXAsN`)nY7G zhKhzN?|`t=j!!sqCSVl8rNv|t$3LJ6FRCrnRuZ{B5-Ybn!TvZKi9IGy{;YpMnq!Pr z_vTbWel5y}O;`9PFofEs)?1847~=MWyYc2F*O=bePo{eP)4`n{~WycH|M47(9oj zVoG`@q6{UqkbDaW0?Ek7i|09e9eGYA`E}$vt$2$``g{54$}YQ5K^r;BNyUW3r@nBo zyW?zX*gF6YB<{Pt+Su#CaL89Ap27n`enh9;THAJGssa=3B(_S~gvt#780Cool|&p9 zQH`ejD%_PkDPh4)h8lb=$bct}OPAb~+?*JIkkJ_c8U_w51Vt)+=`DMM#5>%>lc@xh zsE1|=7piJ6&&2Bzx^CnflgN!amMTsOC{7!QM9#GuEkG(Cg6$j9hVa7?5&s>PDJ#Sb z>t)sbvD^x5Y(sXOsF<)YPq3m6UVRJfdX}gT7pfiP%h?B#MBO_nrB512UjDOwVVbEYAN#H70fp`(|WcYLEahC|> z*D0$pd%E3?*|W*GLN%&nRIxr4;?4`ZlX4G*Dkj)NCB&ae+FWGAqA#OKNJa&aV5-Pa zUgsO!Ct2d+^bN}}g2#yN7?6#$9`;D{@^0WuzCC~dtuXrP_|F{(fiTJ$9uMER;g794D!d)1gz7U@mvVC@F7ExtRZH?*=cvNFu&LR#Vut4NN|bi%oi&( zAV}|CKFRb_K#^S5T^9?Qo>yUU?JE}DARA5?@frzE(-bWxQ;uqId@1)_Un#@mOF3sBYstngJdlqfNAuaHI^ZfAeqj>! zF%AdiVkuud)Ab(br(e9N>pZ(>&KzIVkVw?mDY{C2zC=v!M7+eNKYEBEAMF0RlBpg0yu(xfrK(s~@U@Xg5#;wS@e}Ix&`>-+)`{{&X!ZJ(XSa{ZD%Q52f_<}&twf_Pi2`R}J%b?f?SXX#ZhHK*+>o^&c1TbZ@__eZGspN) zNE&!m#Fv7F2?n8l1MoJ%$G9)DNPsJ8&3d&MVPOrFFVoI-tqFQ=D%#+`lpc`)HzL!4 zB5#oQR2V%IMo*(ij-}1uAThFJG(;$LowJC9HC}&WfCn6_7hd13a?<~3aGf8`_#X}Z zNOqkiobo@~rp{c+wmg3y&K5nu*%535sb(NAx3&EoRl->oK$ND1W*dyZdy_R^m?smf znvFIR*v^i1_2ND|mH5VUS3IH|i+)}%hZV8wnBHHFPy#BC@Agw(xwF=d1{pcw`Ij4@ zw|2t!E%~N=WIZ&xAo1#4lyP6daa9%z1!*mlgppLbJk~QdE?`bjG#^w+lAKydDnNtA zNe=%`0L8=*LS99Xs}SBxvSgUt3y`-ZCzGd=JerP2lJgBgo6 zy8e0x)Yhi`RfqP{^Bk2x4GUcF9L*R;QfO!~$Gt+@9HmT9z6BmHWQ40_jrAzy z*sqS$doRU4=%rH>y3Q?Bt8;JT3^ih+oH|2Ts=#U3M|p;qygm!2G%lazc14PGek}^Y~W! zE(ZHBImPUwzX4nf_d9`vPW8EApuJ0UtC} zGN*w~^`BtSI7?*(9HeYnAJ%$1+!_Wg=@(G-qYPZ9sQp+eun3Q5*C0Khh0}5}mD6ya^_Kf@VgKvrOA}UeAHlPov(j#ezHfZskq5 z^8_OT*-AjY3!#lQqakD3M;Gcg*>KH~h#^U2yBp{_#RQa)KB{#@jnH#5p7AfzzdiKz zMULCU&n@WP&i!jZj%m$|lOd@yv~I0AB9c_=R?OO#LyVq;fIP)0soA=#+Zy31&n*k| zm${70pR_OYRp5O??c8vP=S2<>DQ6(iCR(|-*GBV3_65xa=4La6KC3=UgjM5wY*9$r zV(n5h`Yjyqv_7UDTcspYnwNZxcL}Y-^jHWQiki$^&@e2}I>YY(g7OSE*fT*KFwUGl zEGC%b6v9Gkqj|eYuozZmijMDswPz1nWV5W9Io7D$ejKEE#(t*t=n-aPKk4xV*EqrZ z60_lK8PjolBc%td(p!~tojJIVaql12hlJ?^A0UGVnA{c^F?(;GVWg<@S@>(iu~3Q{ zyL=1gxGQUxq@>A$pq4QHS6_;zmY95)U|e}hAA{#ql##MAhu`1PLw+7Jsxx zz`0jzb6b<%Tf&3e_O9C3#u-1Qq1!5d=985V@0rc?J;r+u^nj@c@F=rw%7akU)M# zuL8!NC%7!|j`P{o{vp*oWt`z+iepvs2+isdbvMxmL-e)@|GSyKTa1<%v}?VC(!uT( z{4??%Zf9PPTpbyT!~hqpU4z|Pq_!RjmpIKZKWZ0hMEqDN{xFq1$0t!)9rx#KL2ByH zb0228#Gr1Y$QUx%3(l9qecjtM*OxUrR#>~mzHp0%3lR+IjD}k}9!gzj3!B3&l=Ny! zFF{{9BjHxYLOBkpeOEMsaQ)E{gzH}C2)2e>5KOqh>$Avv&d|Ei)=uc0dv(5Xo$uqd zHf>SLXmPdH4n^{<+1joH7B(}yL0$_|0$wE~9N1zgHG^4BD#OnReRYd)F`f2ERAQR( zjk*cql0%HI0t|8wD>QRH?cJ0$J;QY)yI9r59Dk~8W2fNb<%?pe<)#gK?e5NlJeK&kS zi@{1Pa+%a~v{o5#kl}g_Z?qZ(NF{E)vJ$os%;^^j>oOzR-8hoPb(Ev}ha2l($B1sb z@=~Eu?H!HqOi_{DgvB8(YRQ4D@(};8u8P*6DUqGcgluP+b|`9Cw#!jXcQwvkl%unhtHinPLtRNTI@R|8&x+6}7&+7ie!lnvL|L5(aRQAp zIgQ1;8)Xy_;K~^G(2D2OcF04<43EBGjWN6zMerW3OL+YmePY>|9I}qbllDiJaaIn4Wq)q zA~<)CMs~N6n=J6aq^6wu3h@?)o4}w*8jOmCamen~aJ9%hMG_mu@Bkcj*S<;3g(4xm9ynAh7=zo8r`hvL*9Iz941JaVyZq{5ks&<QyrcWBv~?`@G4Y0SlhY~}Ah-i$Oe&KT#Bi|lzloeOebzN07+?&;cPfLhfxs{^dM zMhpg^aKDpkhDsdjX~c;F7)oum%k0{MisF)>uKgjrp?dZcMu8$6<_L$hS%TUe)MV(L zNVzRCHluY|V7Nlcs5b8q45l_;)`($eqxr|-5IuMo<(gDu%-OMVLXVNci8f42yRR*4 z6O}VfROLh!-4LYPv(r59!@LvbncJ4Joz#@!U6do#?$&i1rtJC{MkUu?#!#bwT?Q97 zeN2OiYo~aeC%Mcx&tHLQ*g0MkwIOUYp}O}HEqIKfX&)O`5G-wg`NVO8&;3*beW$<7 z--qaVhnSDFAE)w%+0;TMjoF17Zj@1m<-mfyCc}vPx&U$mYCZzH?F)X2+90R$NsTSl zo#XoW2%B>lA}gu^&-09knL^2`$4N)&SRs{!N|*02P5^z}$c+!NR(M*k8q5m<3Rq%&?-qf>Cjo&2pfh|Jb#=vDgB2)wKIfDBX{!kmigw#TSzXwUmp z5j5K(i&57C8V=BkpWwa>5|soTCa`i`IlH3iHp~oCuDzW92!G2+oK8EBN=G42Z3wra z`oiDgHk@mLVPWKR7xe*kMAC0PqQaWVEy|2;%PIuC;WnHEc#R>JR!>?I>Sj_KwdFXI zsRd0hPBcB~h>z%PF1>;5z@|VO%VIT+Ci}Aw5mG zRD6i_!C})NTMFN-E*Jw|X&KgG_eOONJ{BClyymuvRwW(HwVrxxc1zc@AuRb*Nz<0v zYGYVar%4Ulo`iAnWGG+bI`e$oWY1zi*H1TTGbEGh#kn`j{4f!Tf2x{VUg>H_aIe@(yC zd?v#BlBhJ!@IhN>*9#^1MfBvvmDeS>Bd^l~oMN~|s`c^k`4PyyOIliCY*QvJTqL_a zuW7VF6=tnPDiXCE%5$&neBce97}Y|*MildB?#ja-k9`lOa(zrXh;*m*dJ3sH0Z8Ad zGWOF8J|Yr9*lFL)%Q}dA<{1Q}*JUMkjB2x8%Mp!e5H>t%ILBd)sBMEYwQIbI%A;}S z#Nu(5OFDu_0UF1w^u`V@#V#p@w@j87k#R z3~xOmOsVYW=9an5(7i^NQzDr(h&rdPi0UQC;=?MAakyaZVuR{s@3ClmaEzIc zXg^Q-E1%b501-Sr+iXzADr8nqw%8Zkqr~5kj_o|8%}kIYbK7_9Po z0|jMm>pnHoOoth6GtXzzX}^av`V=6#>sqt0dqa7!G0_vX{Z5N-yWi*G2YrB$#ThiR z$7`b69_t*vsd-N&zdbj%gv(t!%CUJyInacJ`wA;PGulSVD9Tw_)K>eLmc&pUcV2!L z*Hz~=(Y_j97)IP8|2ODF<(su>j+&sg32Su5iq=pZ2C$n^f^?wWw^j>9Wo$lH`x(ZKWd38;*MEx&r1U|&os)WeT~rgiO`}4Q z!2$A|!WfT#K7?G&=+E%lO<0=Az|u5t5laD`8^{bo6lp$uxCiyxngOYKLOZZcDe)T+ zvSC_@LSQuuJ?FlA8v1%=eO#>v1kc-TLZ-2uV}3gtXN0(~z^>Tj5039qtEEXz(5>!e zK=ZhDix01P%?E(@UhoMe(e;4GfxH3^N@~MtK7i+G7i_2hRoZ-)OiU-nycOB>3N3X^gp|QU~!p8pECXs~XFl0RBCr6YxGY+wwaMs75s(VjF&iF-^ zMK3uA#PgFy@|EO4FYRKT`0vmeT9Vs}bQ zc7%Br%N@f0E(S~4 zb!tLAAyP#3fKif${j;JTJD0DqnS4oY4VcQnZoN@cLvWLhjs>i4qxYBE-%J}ltzmjK zCu7^qnSC_Uf)B*Hmt}UW0hw1~t8W<46ND2FsGBKt2g`NU_QqW1e91S-?_7&rGZo?x z=GeMc;8;Bjo8HyEP;y#JVt9{9hP6PhE3<9nMI{Y!<)(G1nf-d-&i^@DOB>o(tS@QK zlY{hpQ2nKHx(De!q&8Fdb2NK!8+ZC~2HZvr-+k%k$CT$3D|cK zK`CE%(2^dYPHpwmM?>icboyhLDUVh*U#5<&x|XwkDnd8w_Z|8@s^9x{j-6B%@0;i? zF}pctk)HdxW(gnQ?;wm8oh`PJY_7pf7RM+{t8QI=;}t_SEJSLcDZb`DcHlWj?Tyg* z0_5=kF=9cQx-W_(ZCQs{CYiiB20u|u8bzY>T90JEmO+5C=wp`H1ctj1+-Kcg@i5nEV@DX`3 ztL7{ePjRge(zaArnH2j#fYTq5M%#_o`F8d?->%m7I#(O+rMyQ7z9%WiX{zH^r6w8` zvNpun>YFIE<<)98MueFo_?fQ;tA^mR8OyMn1yGJ{1{=70W5#_4A;4{9e{VdITk%BNCyJ+8o5pXm&(u z_l@)K3Nv8FLUK?aV1{8CVyrR6J8+SA-Z{UH5|gy(*LLOfnk05lU_8e0b+s-Q(x3!xQ02dK{fDO$2wCugKN%VPv|VO`RK3Y<8A z|5fY#bh4{B{agGJpOLmf@#UTPaq`b8<1RPtixC=~Jeo1+aDg~Tcx6A~BDs5IRNsek zgz?Nl#z??6$aNT`^mRf0Q8q?9&Sn?m^nHS0fsHLVH&Vm74^y3EoM()_apTQh5MJ~I zc}xvsv~O2$$2Nyk*97_Y(eo(3HDA51 z{|Fn8oY3MpF|fk!Gw^c2qC{kU%n9Y+0Wxe#+w|J%<#Z{6k&`s5pJk!etsI(?Q2S>! zKBaKyXBl5%-^rJ8m8Y+Gl4{{Qm6Bgqz}s|6wSJwSCX6u>y*Oq=bJR#UOflNJClPL* z)KD837_cVhCX>@JXtPa)pi!ZKx}j0G+o!^>77nLofoL0u6#kd76un>eOsq4aPXyE>oGA>29 zEW{Xw<}Ll~kP6(6j7tvDZNs(!>$+XS#_aKi1?T}S5Wb)YP!Nna+9uU`&+2nH6f(1w z8|tDu<0vO6&JnjMHGO6E+UgP`ww86c>G5g8xu9U>rHCj$het=b2r+61a(h_N~@~^ zD-?U~RQr%m&8qYejabB6B@ste{_akmrf{>{>7T@h9hpXb1|ghZ5K!2bx1_>$zkv)? zB@+<-`;9>97u!GxBP9|4`?A!QK`gTA`ETtIxaTA1q&1tbF7(G)vZx=v9V3u z7eY2+S1Hpm0Vz~HWg)(RXDX^WjV@%9Hjq}sez zTDsmDR&CAkrh}ogf9+DwD8~p&@|U&p^AjrY*9rEsF+2{2E4PXnPdIZImpNsQDY5r5 zHbi+=PsnsGgobibiReCz^}~0G0VWPA5&x~-_8pS!)x zi`>w0ZFm_PJn#C9ADxXc{i(i2NKovchLXKu#w}nnRCmDA8uCJ27u;HjzVFqz>QN8=}ng8hN*xyv@Cotehc%bd;f3quiFL;K-bN#qhWX zo1gT}*l^lskBF#95UH_Ud|W-IBtF3Ei@u}5gvJ&l%G}o)AK-NyTH!UaL_%ZH)tg{S6V$^tK12oT8*d2Qroz^@mQwP;$6{WOF}lqhL^W;DS$xlr}D)TlwmV`c37GurbBWki+ykkMQF;0TieS-?=(+yl-v?zcKIc7jvhNO+|`utx+u3{4x=9BRTR9Ha%g2a$%2YXS>Zw z;@;|918p^=EDmH{`7Q2ca6S2bzGq#zeST?OeX%&Lb>+9Xv^)1RpEs?<0x+P8gF6BZ z_RjkhWP$4z7b$&n`rhz18dAn#O8iD<`Mk$oM}5X35Oo|iMku#7ziGbF5G2@KzG2V< z&AblmZE8+`bCxy2t~o2C+aIShYr4Gyqh$E4QZM+E=RI` zgY6SGDh@6*8Emr2Lk^^4l)3B2>w{_&rKM9<`N_tqxB?EUeA*262s}!==Q{>$!_pb02fkLAYrhx2;~s zB$b)4LQTuhnG)t=Xq%zAMTMPhnyt}lf~kP12wj(ZTXPb+xs}Caq;Ir&CjM0YEd&U7 z@sqbPpuVKU53>1Q0jdgqD1v{G;Nd^r$f77uRjPlg#?~74h&5!@56Yy#lG9+>8;tq( zf=6ofzzBPZ$#mNOK?B-nSFYFo#NUjZI7N#CiYUj8zN?p|V z;3{JUiaAEebS}C?Wx+)a+$e(JZj5DvzwVeSV?!8=# zfg5nM_J){GUTtkd{vZ#2^0DPpgp8)LFpus*=y$>)j&I?v`}+@^HVgsMeMUQ+5&;n1EPzN%ZkjUV9lM< z8)qiEwG5?ql!d)SS=}A&qfwTwF3^lR%b!w#r9XTKgzui$C;`@P*U|GjY{c!yId8E^ zEzN#@2m+HJR}@8+d`PmT0pS@r&@g_n+>!$>*N~2%k667$qlb}84vmP={IC}HczudlRpINQ>@6o(+6LBaL0LZRM#20EFA=rFYFwRWR|XJ0er`4PDd15|okj`Q%#GX3 z`|1}IMZG?pvGupS?$JCLcBKl#^5iFSo=wV84eal(QbpC=mqolz5*>uo zhVVt}8j8r(GuPx8>ScV9w2&e=y7s1rVAlT6y%v9JwzPPGTPb>2)MRqw@&P7X#Ttcja*D8C9%J~`& zv+YJgE7d6NvE(4Fe+j8Wb#(j_EWY_oWpkNvU~(cS!=SRwQS4u5juI2{w&lw5GfziW z!4|eyFVH>+A2F>L@f?dnj9=%7uF;qX{1E}MTKLar62}^DKv{dI{1K-)X%M68hDFJC zqQWNVc?WCZRptHW_Yh*MJgTQUybOY%%;X%?#IulXa>Cliqk-S1y;wj5XE^UsU$|Ga zCi9>Y|4?IF83;b@-1CvP4Hs%I3=GIjr+p87Ey$11RKDBHIxH7jF+-`^5V=jQ_1oOj z%D7$_zXV&#-OQPH&_4sh7V~BWtzSMZeEc3qd$h(ckxj|(d`_$2mt>n+znJ>AM`j~> z>yJHF+d^K&cj}*{w*_V4-Wj`x={}27GJG;1?&h67PglYcy0Msvoh-1+M?t5*XRMRiCr7aSm<&4S}U|%Cc_{2_q-2 zXzT(1?~JUycE+J4fP_G(1#atqh?-1FM~nf2>C7=DCP(4vvVS(`P(#_^#~K?Q2l77H zNY|w{b3_>64K9*a_l9|+K$WsypLOZ!c3tCky=+5kUUuDRiYPyOXiN~Mxh>nu=(9>C z^riegx2oWZA=zvrN{u%EiO}t|D7Xb0{}1}38B}sXoOrd)=|j`myjmS!Rbuy~T0a9H zxwJ8c-mdRTQ0e{pBq{0{RLMKI-g8Qgh3{}EX_3YZuf>qA0rjKx;3fwXvz>cs*G;5Z z(xj^Rb|zEr;vXR}M$p{X$lVb#2SfC4m(|MW`G%QY6xyMNtyTvcT6H>2+D^~DzLeVlFp;H1UBzE?aC}$ z$NVm_w$B-DZtWT{fwon>&1eR7DxcOfQaIa|(AE-4+jpu3pF|K_+<;vVwxi<{kH~xAt+}Lu{EqVrW{)`P+6ZA}7jajx9hc5T~*U=Wjo}m_$Z8h@Xg0)NS+I`FCi7RdMW30k`SK7uEtVaGy>%QVu z`TBtf>vBs2p0O#dX1^jQN@8OU-Q0Tj6rUxwD34}t@ygncUJVdjH&kdKVNAQTnmDjp zecYT2f!)8+8m#skk0Kd}+G_+}1C5flC@Bcj#2q~5kK1}<8-ca#qnbTkwbjbMSxysx>BldkuH)l^N*4LzH2gd(jnKTz>`&FnyY z@7!d2G0pmR|6(jGH-Y1XKB>f^*7wWW8OFr+l@_a%=)Xrrv2EjQ$Zr$bbI~kU#7JZN zDATjznRd@<3J8FVuBaY@Y#XNKLL%n8cY?R4~H z?sa<7515a<{Za5gsD^1LQ~RENzunrCS#-R%p3FI?TTx~8jTHO$Ch#j0_+31woR*y9 zcogtrZC-ppd9AsaY3h5 z<%w(?Vk-5GT~6G=9BfjV%7vaxLU8R0Ws~0+?BPjVq)}yyJq>9DTm1pRWW;B+isdZc0D3u7bFXV}Q$(zVf-wqs z2zW@YJS~HII!VK)TwY%`p<*2BkT(tDS;zB`-0Od~)7&vEcN`R^ILVJ$qgu}E=hLdgP3maxQHQ?u@`Hf|>Z7NRFjP-Rf z7nKj`QQgQrT>1qIqrVY)6|Q@cMXWrNw+y&t|F>Ea46lQ!8g`|C&F>Y5jhZ zsk~uQfcf{CkCkUKD=$;Q`t!UV-*qxow_WxZhZEHEKHilI>yIs3-H35iyLeF5t_}bp zP7mr(zyCoU>gQ}b{3vQSNT=>`di{B>rvAL2LOr74EB{1F@UD4|=dh1~2gd;owaYb~ z#HOWQ4WL&Y19o=?tnT<9+>rshBLnD&AH_Ww2zo%^Q_b=ort>Zri+Nq$4lPr+^7NNN zAE|F%m%y|~MYr+sD08%tPc~1`K))2C4M4R6y+4tqNybvwQ@VI&`D}voE}wNJ^YR|4 z>1NvJJ?YB#31L=m?$A4^_IA4Rs({$jj8fhf{PMPoX*@yuJjvJrAqK&xxhI53b3O`h z)5$fr!GRS$D7UY9Pv z?zU+vL?B^YhR&b#^xAefbR>H1xfb-54~0%Yj0~#2cYR0F}N2K1-~{88}?y-rKX0LPtnK~SOn>K^)&b=w1g z-NO*N2a`{y9uRsjq3T{BXbSYj0B6TAHqReiiq8NY)Q#51gQ>Klt7oklKI^Xqou5o0 zye(h>Xfb1@ZnpXP2mIQD(Vg|jt_xwwhm&T-hXtUAH9+HZ$_#tSfgl;{`zGf{QCcAG zpae}L4_V!QNCOyh^0`-i$Ri96u%#wq8*(uLeotN$>miL0gXil0dH$Fl;+{xr{*WGG z6h=b{@)ZBqc?*cy>%7@V+^eb zP^9GhvA`+4V~k7pU~}>)cyn?np#;8MM!*!H<2i{d)-^?5lNDV}@w3YH^>cp{JG%|MHc31IQ( zJ)(o-{3hhpA^{?UT6G9iGJ<{CcFvZmyaVLMk=d-Sdbd=auDqM%giPgUuFQzrLCePU zA;AnCeJ%WMmp*gvT<$f6TLCp*0<oXW(Vfp=^85r}CbF|Lh)h?0t_Opll{;&4+kfn!{CtEAuN_ajE0cp4#RH= zr1*f-z9V421OdL2|oEd!L+*=9>$ zHgGM$H?u?^F{kqpQ53B%vBh*WgD-Z7--}V`;2-O^gqaZUrDs;iaZT&8459ivH>Zy< zSF;s6+xWEE+1AFz_T6#^VP2m{sSb0MyQTfzSeg-OSHFh!67B`HvYT7polTY!V2zUDkTG-zq0>vK? z+V9JD6Fiu&tjmj;y~>KiZZz?2v~ctv)wlE>ZDTxLCE?7{cbIZs`VM;c9cl;*$EkBu!#^X*Dg`*}ho)Jm4-7CF1JywC`+ zNJ@ueDV;otL919lvQUB5_%%^0tOeqnQO#zmh3Y!4YC=K_AnC7J) zVr+jaTljAg{RT(Bf#}yH`ZYwq&Cw7aF1;nuZ(-sKNc$<;`*Hw5%mXDk`FO2P9=3HPM~Unamwd$enG9( zq9^hQ!&kH9YaGwz4hE9t4#?of>9O3w(x`Dfmpcg2WQo4O-WBOFv-k~7 zOye&Cy5{EsF$w5&dKue~p0OAt63f|)N@S{!c|UN6cLKm$AM{BevcqeFa=tu>&jPYd>~`~ zfIfg(EAMdZI~;zU!>_l}eYTh&NV+WmkNGK4kP*o>%b!o4A;U8oZP{qOD!*YQSXb|+(Wnv{A!lrJi zC|%7`SL-ok?KKA(MH)dC1+~*pDUPh!6Cvp%Diu8kneBR7RuV*lV89sYvx^j`Z z;td>p3ZWT%gABDY4}>xU11?wi$Xc!d3Mx39mRUaiL?Fic&=O;P=*y%&3?xyklXwb` zZ{m^XdVeDI{si^@gzNoDOBUkxK0G$zaV;J>JT~L;89c7T<9a;$@%St~7#R?}SDqp` zinX=J+B*5LeOeA%=(#e>zw(0Vf0knCiSx1gG@rLmbAe~2z_W;dmgAqrM*dJkuMo27 z>bE4@w~*~yoDIR{OFS&mV=S|lV)+tb^;j2y1CnY3oKzd2%(VfeOAOTv$^?{I?RKIG zuHyu62%oXdN(ZiS;DOoB3I4<7`g z2w8p}pz}Oq|L0{Ys~g+F^iV!oAT5%mx@3SH7T7BCdVWXCrHE1%s(6ne1J3A+beAEM zuDl~GDOO)}0NHH3Ewj5*%W^~tup!rGeG$_KEbn4e;<2gk2)?8BAJl33+}-jkI)%ZH0u|L> z@%3c;+I`7hb)O%5(26~nQi1FbZ1IPpK>Lsdfv>ghaMUIRsbuZ7On)1{(O10qn}+k0 zjO7B$0k#U_-Y2hvJ+w%k5YC6e`|v+u1t&e0Fmuhd?yec8Fe==pRuu*E_&WSfKkV@9`h-^GE!A zU36+4LPNYMGy10M=O5tw1Dqev*ZKM87q0Y|HqWqgn5*%)n>1M51z^+a);m0{3Ku2; z0j8%#P=uH2%ha{zy6%d`59|D5pmkysm^#aL>Mj%9U2Oxp7~|X@i$>xdgv{1{RTwYf zAE|l->b#XN$u_tI`CW|FD>0E*f-n6spgtyb$#gTx@dVRJ)pvnZF0pW!5C7`BfEp;! zvRFwD9R6ee&_Gg&(lZ+)Y?#?fB)970M>g)NEH_^LnUm$jtS~a~5N!70%{@XYAC&Y? zF@uPZ+kqpa`g5X_e(7dAtq(0*)?XgZ5)%eb9%S^)hfAOD<3wS#SM6;|%;gfIj^APO7oZQLQHMS7R`$`Ly)efY`Q_!*+Ddimr)v=S2@F zqYkXe=4178y7H>9#ZPcW5MpLEQx&;11f9#Ayi#2 z1N+s_idyz8PpPaJzhZi)o&_?aCq`dp85~=PRcGig7GrS{0({iyYJsH|SrPdG{V_6H zK_DE{=t3uwg>+z{ch?Oj{QhtKVs?d@4Ze&H#hV7QorCg4^XK70gsP@F0kcZ^$+~~ zNNk?oWoj0@qzipHsGIr=JhLwlV0l@Q@6q`I9vp`dosZ{uPGP6E#EOIZi!$#oV$zmc znS3OW6l6)!Joy}a*`d{PVl9(krT&Tj^LZo)?lbkjO^7HH()FdoMhXH+J=J$u4ByiA z?@4p=TDh6yUY59*`Qw;;9OH4kCJ^!(np*k|tQuhy;JR+7a4cR=dMW9&wqcv~wR)_H z1MkvDP*N}wg=&GV3teqwfru`sn!y*bC7&kFy>zZkmf|9$6kewOLr=AWrmp|63!J;# zDI%aub#rE^lXwZ{ttIPwiw1DskqBuEFSTo z%j7Rcznwx+=&X!rvsxDaYKBhAx+@31F75A%_kz9fUgaPD^SF5hTZtL3CDAMKM|wrc z?opgFj!CP0pyyMlZv*;E<67Rq(Ph?e?Zm!e!g;ArjzK^VcpXv3P#e%g`NWv#6Jv%1 z^9%{*B{dtK>1U=hE1J*r(q``9(qx$%B4b?X%B+YjXkWJx;OMe4WGLAijz-`Gs#4NpvFX;5mYJVDf; z4%Q)l7G^Kg%cd%a`o#WxX)uH1mj%?u_>YBmhxiCM#ET?y41rHaG93I+g-bo5}XPS!msr1T09``{R z_dz+4KyQKEBD#?BSh^O>t~xfMtymUc2~$MLbkMsq8Bv_YR}{qff1 z{kY4fjJ~N{eVho3q+}K&?4{vY+tu8`C#8c=^2fY<%=5PGkgZFJi~$x91}q3lm@Q`75kjvf~5x>R|4Ob*GrY>)%CKv7h#eN z_XqkuKDKu!7M0F&b>_Nn{==TGI|p9+4_E&myIabi?Z5Z`{i_>a*!-1)zx(`!AOC9c zy*EGC_L-so<`?(gu=(2m^cR2k{r~vsul>!5&wT&(@0K3i9^dj`ZEl_W;NSh_*zKkN z?ce?S?+#x2&Hwcu`riB(Pv0}U|KI=LzyJRpJ9tO^;@y8U_&W95F5;Y#{+*>TpojI~tEKkoD3lxz& zG<&+RFkLQ8I+X1pwXSRc-gRWVeSNhx&*nt4{nKBqtG14ob!BT=N24bl^}yJ3x$!{!eV(LU)+{E zws^8QJ@KW&x$(J&3$r69Z@MWzJTd%*ox6A4SlDs%ZlzZ3Nw~v3GUrZ1Eaol}>q=gF zP_hZ^Q#w%L7%EvwHm$F*l|-B97+D!}kphXH%*yxZt>Y7+=uN661y>tU!X^`ri6zqJ z8}WqWwi3g+@`{__ZMgEcu4XNJ5m@;l)e~>)MjeE#bp#97x?%~P5u&Ybn8~(`hL38l|=*{PLSrLhFU)l+8oO$tu-%xzl)a9x4b|7&--(cIFbTx)2ymPSKU= z{6JJc=b^kIGAp#k{zq)V?h2XP%TttLQ@c0-~SA0Aw0kjS;Xg$}%}XYp;_ z>5KjhzOB8N(o4Um>~NP!IWhX@bvP<9Qz(`4Qw4=dhYt?B6TO~PanCniWNS+4MV3ul zKJuHr;by>24zv9nQZ zlVW>=^l~~0FBRAcyp!Nmo=(v5@=3>Gf)47~CMUKj)&Xs0(1Xvn?ja1#K-yL{!%FlI7O21wGhKJ5O zEvZ=6b9;=JQX=M>ZQkFTXwe~)te3Q(cffCGV%f7XPBcr48)pY4D(|+@7yWltB0)g& zJNPQO^5%c8Y=U@O0=>om7*w-RJ1zZM{yNxEt_!$elS-w0AD&Mq;wBh< zw_CnM?UpN1yX8dGZut;d&ZGO^-JKYE+=NJW8}$(YB8YOenDCNg0lL%5^?#){3C+54Ln&19SmbLrwAf+ zQ?4}S#oFQimR^3K3$(k6^%43=NRoFo+v!lNPN?lo4#9w*E7mGjjHs1O*(=X^Lx~Oa zg4VBkNGw61mmtty`AKFupII(YQXfxGf$>5PMy!c87BF}leDR|=4#^n+1DGUFGaKtL zEcepX(Y}tc;SI49{jqpox6__zp=Y;450^@;{8ZeJ6zrs8Nx#~5#?q3AZ0}jI6812k zI(McQb~-qtXjWN^>=9<`R$j8l_frDWJsacQz@8SyQ<#GV9TfWp4_YEeYZ-eIaTabM zKFA2Gv&yUOJ(gb+t3O`lz4U5l!m*M}FW7%syCdnnS3T?+pCuhrA8+q+j1TW#!rd^( zX#g{RHpC9nvnw#Fvq%PTv*W--_3=ak`-o04M%UHDh~;jGFH8#ZoW*^aqi4?v6wqq$So9R<{m9f=B8(J zM-R_U<%WlHNAe2~Q_S4S(p<4nF68EP(v3qqm4ZX9=b1%4E9(ziOK)>rXiPv~9)?w#$Q%+;7mrR)u&&s}y3CtWF9`)O0h5-vO z?CmpqAw?g$>l+enIKgyA&+SkKHPJ+M>EjiOZp)VCGKD%6*GmcN<#IRw+9NW&+CitNn||?4mMOY z9@@Qqd@TVsw;Sq8UmUQHhhIr5a6i`2eD)fHm${TjG1ef6sG|*Jjx!og;LChNq9bNI z^VyZ4XF)BVy8}EEC9TlR-X6_p|1(8)Ceq<-06dV|&q>Gxf<}n2Mz%gU34w^|`G6k?Y`VepRr3%$ zGw)W-gRrpCm+o#7sQ|Rw*&e??6?lKAQvQ+988pgYetYyaKm!ORn>Pooj7cKV&zvsc z=jI*NfzYVWQvrz+CqoPr;`f6GQ);85HsJHQrl`FL z_UqK#!c4wQEL$R;%^b>X6$U%TB*^oJ9d+l4QXzL|aqeWkxNkZ?H9J=-PfwK4SmA6r zH&M)&N_5WAIuhju8Xw-Sizm=1O%TC%aM{veDQW4A~BO}N|7Sb3Vbn16|` zP;~?J?{MMKLNQmwb6alz*@=Q2#03-Dmb>rp+(f=O{k8nbVqxGEF|38H59Ek@ot~Y_ zX>r1~+8W- z)=?#Na(p2_Q5b02t@ZU_rcgdTH@W_fn1=TiPA*RUIU7FXs0B29X!g|HKS#UwTXL*>GZVm|gKhWH{h>c7EYGB;Wk zzSK1y9GQgg9OCW&WGrto6Wk8z0OSnIzmtSSYem0>90TRax0bGBKXiE5TYty^V z1f0g+)-(qDiM>g@G;6w-iFSMwSFbRg&0&>Uh7lN!_4M*P#9uQLpQleY<#dupz_Rly zBVXAWelfRVj6Y!-k;26SIik%$0C_G;=sY)5P48A#rAnZN(;vxtv+h|@*9fbEYy|Du-JtXSueq@(`ETu^%7U~kDJ02lDo=q|qfD_B)_iG?=~jF2mD&(-5QVHQ7$ux_DRb>R zfay4dq8@h{ZVR-&abkceCLX6RqKb_lDY2_@wiA!L5T--63**B$MDB4ezLy8Mr$e>G zsDp=y-Rx=uVcgc2wc}jGxdbiXNxNeBA|`3fQAe4npI?}pFD#VL2n% zwu`&jGGaf&>^BHdXe>_xi!Oa5b2q|hW~rhF^Ef7j4jYP36X$!kxlNB_*hU;)u`~n} zx&WaqS9lRZUetCmA$q!A0kdqkuNRYV$kkX&q@^v@yq0$4;dk%qtF=Cx=*;wQQs5$p zOA)D+n~i1mO0q5i6$6LaMz){TShXrY>pYkzK;_dD81I{GpNWeASwfvia^?M*+S9^2 znQdLovqesxp!-=qk%(2Q=DT{L&a{5$GY}Butt3rmhdgg%nbyqme%3@}sx3)Ez7$O@ zYyec|&436AAB~2n{zSVc zDa`-!sWRiSY^tAcx9VfNAZg_K#0EN?F(3Fp%d&Dx;l@PZ#g_`w!CuA1k4~0lB9&?m zs4~CCfUjoRfOZDPUyB|gcck|kn*G}M`3Arr@N%F8ZFma0Ug=Y&#PQj~d1q9qjB*R4X| zc4ntBv(q%Q_PgFq(-%%|lDBDO(s!rMCSt4CalJm3*Q`rV3p;Dm=v+Cie(9f968a2= z7VTO1O>{Oyw7Iy8I}f^S`6-_9l+#K_F(sxTz7xu>@=iSAByk}^<%2k1-{Qt0>P@oa zM&$z{<1z;J7GG%k>nxKwzs`1Qf|Q6S-0g}JXnA8Q z$5aevBa`Ti;XguwtrSI(tt{`!VtisK_((jbt`?ds#c4Zuem=k;Ut-Cgzezu?BjgW^b-bD@ zI@{~0jrn46u<&SMwmhhbwCO@gDPMD#&H9?dY_?5ay$Rt3aYg1kUZ63|W{pT*uEx;< z^=uX*`D~MT$j}YMZc-g~2`!Y&X6@MQ^gD>=fHHb>&N?!pzCyxxq)pGz*qcP$FmQt!%vV93QpxEtiH;EXate z%ldWVe_&2?GG8i8PA@>H2=f;<-k_;1O_vKS)Pj>7v$0!+#obDOVpZUFfev{IQT-nK ztGBZ7%M}5bQdc{w+tf8!oSrSrF3y}REU;7()uQ={xy9Ks;yR(|ifMh5i*Zio(FNDI zx3li{U8W-6ksE%%X%by45J-H5quL9zk4`Vl&CU>5uu6^if{dd&1x_YJQmNG4jylYe z8$=)Tq33Y^+}vXMcwu(3uuxdIB7r822rz|3X@p6(bTP6ST9=+i=lmeJQ7flI>H7Gs zW<@8UUGVEkW9=jMSa@Hb0RLC{zzdb98Ys74_-Zh1cDi3HSZBDLp$0%LwWQCjPCDcI+E{Op4?!tryo5jf;%Zs>I@4V%{C)O4{R%P?Cmv7p%_kkZcH)fq6U z^-jJ>jL5uhIdU8oo0?#Y;uK#r>?R?eCKy<*V8zGh%K73E;GCakf~#Y#kr{)zj}72$WWk^F&p?$oKSk1D|(`jDZlFDnEUDz%uYWgFieP@ z@oWnB9l;*y=c2`WN9%(>)N0-jwVL-sISxHQLtzjK>7B zu7t0scG;pKh(WP%J-Do_>_}9jbwc$ostgwz5mz z`)u=HeV>V`_Yt68J(}mk0s4Ali2*EoW_osV?o4SgypNZLakecDdjiZ81hR!mu`L|c zVRT}&SjaDM1b5g?SN|3i1+Y_z4WI{S0g}b(uW4X8Fm^N?@zv7Y>|kMbVs5e^RsID< z?APB|rsCY0!omcdt@3#|_{3EYaok%BP<`D+ZF95M@qj_k=O<+Wj^!sOr*YgvgGV2u zr}MO;yh*rU(`O5lhqcw@rybR^w>Uk;r{7((;|q(k6M3nV?~aNSPQ!gBcR1?A%{aP- z!UtYy=$-{4H4xCv9-Ld4{u*?NMZaD-+0nIy!hDf|iv|J`PwZ~%EKRK)Zo}>D^<31I-`=Oi=*8tq zC>>>VRsfCe@}NdaCBg5IKni@b=*3)cKZ@CgW6Tqybw0|;Nv0&yE1?#w)37@zk9pV&qBunrje?+mSu;8J{H ztq$`S3wkkXM;+tUL2Gmb`K_VWugnw;c;eIr$n%>D67qwSEBBjE}uR~IHj<# zcXsl?+#EwW`aW8EG}@QP7=RA3h^%6oeoQz0SUb^@^n#H08=rC1r$X&hZKHF=#hKZ* z34X~m?_Dg<390g#U_(b+y=Ypxs9U<&%3A7ACkVIJE_(XRjaiJvR!4n0)I93--7AuL z6Y?8b-m}pd%Mpi!Wp#1M3l>=xD}h%W|E09#iqdaOY;-*o=ndjbB`n7Rw}nUTJ09OZ z!@tUqH^x5M6kw>9LlU#T2aWyUL1RC75Ei#f2V)viD40Z<<$q0oAoOXBH~s~n41|xF zIAE=@>6!Ur!Nj2UQdfGm#6kUV`q(Pet3Pp+s^7NiD_qzm4vS`R(Di+ z^}D=Kei}rJaDV!WqsF4fJ==0)yalcOd*#LpEeY*sg!{2sN33tLuHTE>2p)iD2wv?K zz66A?iL2*RJ7O`X3xaOQ`Y0lOejAbRn3G=D#dkfA6HHJ%BbpobjGf8DY2}NP4?eg< z7|{9y30$Dv#lmu`0_XqvZQN+OK5c5=ah;D=rDs@tWjo91eEu-uc$KiXx^%s=%?MANdMs%yKCtaU`5M1i*!DZm=?3J!RBF<#zZ`M-!UmG_w zlj6ToK^M$YIYt+`Ispd&n!;}7C-AGENYpjEx%(luLqRp0bp4wYGzQWV%qb*IL?h@| z7leKsr?aE@9!lu2hZX80QhR}+q?hg$c5=dWat}JfT|!7Yvd8L3g6|^gt-L^o*?-G6 zOmIRRpBv9FOclzdkZsSlT-4U>%FeBApVa#2UPq1pDJd)40ZMayr+SeadYsl(3I+h~Ve zr6yf%g!~d^0jWaG_|@!yGQ9dyPvj;sA&TFMMrY3NYwvP=PR750tSjOd;&u{UMcL&~ ze$D6{J0Wg`kk*w@e~cyu_QEV7sA)R1dY14wK4BW%i{HrL>y0vji-36px&2hT06v!_ z)=?T~)!lP)Z!>N`W3L?!#z<)tJBi4R&ZuZpl)Zzm3l|x!Eq5XhCRs>Ya zy1@#V>9U4rboi&z^{NPcQ~Khrs}o6B#^B-;zU1R=z5@laVw`TT;ENL;2SO?>$W5jY47G|AsuWj!H26+1#lW{0A=EB1EV<9T8RYbF-zwBcF8DcC2UB?3J09d2$bxB-UAV&JL_|kW$a8L)`{_$$E#_ z#hI<%4a)?zptMt1Z#8=ybrW*|xkLMMBe}01ntVLRr^?9J`Graz&wV*xTr8AEzAo>f zQAlPV7nkcFI4-*_y6m>-c4%K={$O_4O+f%GehkEk^Huv$(R|wKZ)|#U+-<#UfrXYV zQK1+bo)s6$UVPLfIXZjs(IC6ikbTM|#Z308AbTvDy<9R$ah<(f3bG@v*PiPclL8;w z3@yt{kQq_eSefIG=8Gl`7hP>+k!CR{fXG{{0&T20D6Mxncflu{OROJ~vW~inR}|~d zuuvKjA>!kZ4#gO0h6XWFoVJ$+gP^GJdW8y{45rl41y0&?>O>0^g92unigp1+LON57 zlp~76WO+lEqo|hDPS+Ujy3z86rW(rE}mQpV4j(ORO>z&^O|2%EC#V@}a zaKf)f-z)_E0Xw4o040AUBz66DdS8`mb#xR=nm8^~f0J3UdIxg-7`ge^cVbz#6y})6 z9Ce1t$%#{|okEwsR{yJ27~MBZvGRU?Al2WB{CIyiJZk zAU*jBy-iGIM+=nulUAm$tP}-30x2Cxg6fhaCK<)v?EFD-YSiY)u7BgC3B2E>t#bSb zPYgKBXJD)HKCD|=4_^Hx|s196EIPUC%_G=9h{%(2p+`3!SG;#Nfgl%>>bf1I>!wGq*4qE$ankY5Ppdq#m84 zX`P+Ys{UXeq2{DX_$8Y&)Y+zY8n=;Er`g&h*3NfAWa>N9)eqRHeG%G3GwV+h8*pMu zUrV(wU(Qp%W@hL(8b3E**p{;r{stM|~zV6Q~_#QftDL$rM1&1vcIOh*9$U zEExSgYd?Q2zgqbRHurDM4t(t-L4LcEgxMTQ1bG+qs=0je zO#WOcS2$akSS%MxIcWQ)DSqx05lIAogm9R5TvI!6IY*K&3~6YCbLW&;e8e5%uULeJ zNZQGXjhVff-Qs5KiRS{70}`~Ov-(XKZGUDf`~1T8;+!!7bKzaa)}--xUlt9EdT(wD zzpsP4f|pv|w$4OC0+}W13Z%$Ot!xyq)CzYVxvhSsKb>f!we1i7dO>Lqi6z6{`FYxz zdEW$rFS-JPKe08maHf6vzKdYu6eO<`QqWki9GC{`F?KbTclAZW7)(Cc^Xc$Q=%Ra16@T6@2kTPW836$^E&whY{A%e1T#ge&D;6=HjPB zvZR;Z=)=^2dO4cNg!dz5!EKw>LTF=(OpA+B25eKJ0eao=P6c6+qq$G!T49LU*Xkw` zEfSzrV#{K-wdQ*5{AqKa#pYPM)eZ~2HwRNd4YhF; zep^NE(@U=mcCptZ?i+)>ua{s?pv_(q@J(C9^R7*F;4EM2WX-P30xqWFUx|c=8n8nB zj=_#DQ-!^#I5s8|=I1c|Q0&u* zWZ2mdc7^)dQ)u|AojDh_kNA(iI&ule{{W{|f4PGJ8aMIr=v&~q$&R3jxUPsDC$Wdp z=vq?3^4zG$mNJnDU&BlnZD_eW+_MYh2;=pJFdlH(v3&XTm!@$d0XJ?mcevrwbitMt z9g~tIeL+zWF@visz$TByovC#85SnRmfqW-_L8Gh<4Jz@^Oj;*6tCpYW|otiJzg zL?nFe@XGEE*c)dv)pziL%hzON#EB=`Gj$qs{XJOHW?dQO_9z*1gf(fSM6>v`sZE#S zC_Iv%F492?mz-6JzaY{+RQNJ*HiTU{vOUo$7lE^p@y^WBIMa(hgD(zu!Mtu@8AkBU z7Z0Cs3HI13K`v>Q-y>bQ*MsNtPA^7qDBGAY4oi;*9Ce+RmFG?^{QvD8+inv_bQ~^; zQ(B0*C=`Ph6j~xdG`rqidr?~2CZvSB5_3`I3U=4KWQ%Y0+6^v*CQ&h zeW}DtB_8?(6@9G4Tl)d-<(xCK>x7u}g}$Ip@SUwzgz)li8YlBG*vfJVan@^$VO@>QmK(K6uY_&i z67?G`GhT`cTscs;y^S6eOpRpMC1HOm3H#Hn&>hm)1EO~r-QD)a(|WuJxg|bM+{Xrh z?1>SUrouK6Y*&H}oohB~%?7cDLXbl6T<3v#nuuhs#q`>dh7rK`1|6h|5Sq3+eKg^A zl3j>Fdc>P2G`2g*7#{6#wLbNLT&t%3wH5v?q)`CAakl}hwEoRf zpmhLv{4#AeB4-D103Cgm((Q~cxU9wuBVo2`*YLEL*2==#2ANpJYaz>jl7KI5zAVyp zGP*cH7ajoSK7}k0vHEmiXQWsjvH{ILj}_%Av#PjkJO;tLe>%uupKe%fCVY>l?sKE)AuYe-%rM0c05Vrt$m>ub=Ox zz0VC$JKK@}-b?KM<9P9%U{4~#pv3~#lR@a(xVv%y$OX!$PL-PBT7S1WeogeoTTrqgxQy z609I;K|Uy>h4DNyCA4syFgML4@ZDy zSbPZGy&#tO*sszOBA%y@z>KL7pVT}CHTcF1@HN$P@VVEs&BgFp+Juce z=;x7+iYW(_4)d?y+vxV1!`_g-X zlFrsjL8B*3Y~JA>p}hx{ixQSNKC$Yev5CV1b^Z)QH~x1=!|ZEuxfNEzf>I5&TVxR^ z)~|!ReeDIh>#!6E4Hv->il!t}?I!(Spj}XadW3g*-gjLTU+_pt31m9K-W)r7JU@jzARcWTjyfx_sRkYq?}(#-zSK%~3y(BYm_~_X z6oAFA6T1Zo;Z_2QAOii zKcaEfR8HFUYFM)8l~dJuyA)mz4lAdEvNADO4`3u#LJ!8^$!00AD>wj)&3YNT=+e~$ zTl$E)^o2^$$a`TUTrvLM;at->Iz2}ZOT2Mza!q(dyrCHxUCpQnNx`c4d4A5b9o=_| zo@1!0=Q&V*Pc;q8_l%4W0Iuq)8J%Z2_f^}@=vl|l=$V{u7{#n=Ss6#mIjZM7UQyTG zT+zzfR?hOc>zF=Q9oI3uY|iHn2l$Mt8oKG5nWD#S%LFLh^|`Ja+y{&qz35oJ#VyY; zO+zE^R1-%R~r-57Sh{l1MU+@l3~iXIm5 zOugVVgHo|jbv`M`Wm92o*D6rE*NP5%CEVPxWbD6B~WwA>Jm7m}m=AxJMiR=tCT{5MGx?!q#H?nP7PQr!xoZ0Pq9XLbf%_ zWX=oCbcGNe+3G}hcm+(2^3j5Lo8Z}Vuvb|cV59F(l7TRn@>N@v?OjO>xwj@c9`%qAw@tfp~yNYLRek4Ai8lX^EsKfK$bbG zx5~O@&#^5G@A6?@5ieS{?bY52`z)?+gT~b6HR+yjp_TACR2M6F!9x1pBA?Ez&zh_ zowrA?Cf^1OCzA|K8}n&lWR#B|g)4j=o^0pFX&EZ(h=$;?b9xXWuN~ z6O5gFm4Bt-Yj2OHKl~>P-g&y^_>(ioaRWVob@-EW-Fe48g|>Yb1fDeu19p@cgU0d0 z#X|R1nXj)L(=zmc`C4$V2k;-JJ?M7GGcDhw zUK*#G?=DziEtr3j9@}?m2;-g^-?X{wrCzdp&0z-feOMC=2tPB;3Vbc}^*feX`pe?A zzhO`MVrjF}H->An%#VMMK=P}$3}?1wXzuJE%m}n8^Mm8(+Hac2g3xm`T+)x)@9EdY zD-W(^YCro-zLS1P16X<5QhO`L{ITd~AAVj=rtU2u#<_!sw3jcnFS_TzrysOy*Y~ZN z&9rB?D?eb139k5t&6&p>gIzosY>60tmLB={EPx0AZ(d4(B*^C_r=Q9c^~nu7qbG;K zfyz)-6C@z^kR^ai*Db+T*=t z+ykne0QV!u;}e`{{=MWWch&=QG|Rz9;n&azTyLUHVTGwzGE63V9bSCnGvGHKo4-B! z_=7l59Apy?vt#k)75{kcxet~JYfL>WKYb>0`TMWWk6xa>u&r-=9Ze8s9*xIG3*?1& z?CANg<(%mD-hI6AJl8uG=n*fS0CoV}zM$~G|B7hwk;lFKlV-Y{L*L^Ie|ou&)0Lcz zc-o^&-LjeagZA5ZzaM2-*(cX|!JaHXzeUnyJUtnx8Q(rx?jqNkp=2_erRp+fr}|P@EHA|%R};_2xf0y(vVHC zlPl-J{l>i1ei~pX^UyJHf|v^8Jqp6LEtpQXiJQPi0Zy)y5&J@7MDX+FH->K8ur)c$ z1jyFY1jU?aH|+La_m=R0gtVU?H#I1Zncx~z$u-Wz%29qqQW*F^1E)WG-~>cyNd9``PcOF<9c0=>Y%s5ibU<5P*eD2v-HWm1oZnmrK_}CWShX4jL2lf5^^i zgAm9q1rGcI&ci7OmjII>{^zLiy?IHGsJ$oT9e*7}bkzZVoBn=$@w9~1qapX(CGZmX z>h~Jsocvrc5`3vN)-4Mp;oypZ(6s3Z{{LpUyex$B%My&Q_#Jbr;+{srg>Id_aFX0~+nLH7gFK9H;bNpkf9^-jyN@!V&@*E8Qup&wK-302(mak~t=G4D{6mj|}WIDZHFz7?8kl!vOwNRFM1?h~lT5 zs(pGXRmb;iZaEhHIn~kl=5PD}+Hdx)0!VUXUA~|4k3anIR)Y^Wpd|hMNB+mJe=0;w z^ddgXU%a9na!UD3d({40{_#gU_)$EuW;i~A7%ru3|DgRsa{ccoe2}%P5_9rl{$4cB zuYb~hyVvdDzx}{n{x`D1{|4Nn;rHM4`|oQ;=L->|gZ0f|mvi0r@n2Ls@gFx3e;K+n zW876!G++^NU(F@S+=G4N!my+*ic zaw{HlHzRHxKfgqe5{CeOl)ebd=gJI9g7k>!rWDKM^bDVLC#y}ufpD4cJPRVH5t?hZ zy((HHEFl3dSfd^tNL+~P*egw6Ej@lx$0}J>DPWJcw z!T*)!#gUl~+sAVO21CYO3%}w}0yDbg722Z}+~ebbG=?ieF)&-fhlORhHrQW9dwyAb zzy*8rPsyoKe^3&PLxJiAa~)0CbI<@MlV1VaGb*(Bce z13yA**LddpAT5q(u4~6HN)1p8*i-Nv4L6V7g|_aY_YodP;^B1K+J5{W=&%ErksFk4 zftG#cqrLgryI3qiD2kQ)v~2!il76BQB*5Tj@~qPFFn@v^OuGig1!T%cse*DYJ|bnvZ$caT049WO{fj=` zuz!Y@$F}vIXYMj$OWNjh!EeA*VF^vRjMuLJ81b0JP=QgGvr01d4g3QZ$I)UXzBo#| zjN}?f9c$N{yXK-3KAeHLTwVMV>^&=3eO{t%vc_4o-BlHNiBPS;+ewoVz^n)6X9(Kh z?z9;yE(>5M@McKb$+Nd_pCKJQ`#1botkowj1j3p&;U7QGUwOskM9v`qM8I@&qW#5v z#Otz?qTx}(^XV-(dFk;;jAw3Ob^B3Y`PvetBU&b2xD_^NW#ZB65$LrawD|Ab`T2YF0!>%&x|rFIL4;f-UT2vXJF~El ztN4u{lCS5M)COS!gD|faXhK�tPv4jr2O82)@@@BsV^<`)>X%;V8AC>xf1 z)~r-2qTbq2{)m>a1T%oVDx7cA5)JPM7#Ivy3dzstCBVZ8@-MmRn9E_%1jaIu;=#-g zR!m_qr7Mn4l{_|yz!}c{`P}WV^a^w*9bkv9i!T7ROY4c5=W&q9t-Q*r%rK&@SmyMjDUDD1@1PrjMB4u5pf12sb)F7D*eu?D9=L4>sj z;7@LK@Tvo}QHGY-%aoJ`+KnnV6QcW(E|C4~`70F`kEjGCk8tXaxhm()I^NLzxp}-Y zd8rcL&;;cqpbdMYkk?YEi{Ft1*783vxw_(k$>k$I*|dd=wd)4Kr=uq-@C8H6(Nd#C ze@({H+4WUb@jXSgC0;jtKpoIAxh_v)nHys0&wkJ?oBRYYQI`JE123#wq3nR>>pmd= z0$6~8gzot`6e=&mn`Hu=(eOL!$}j;%0?}n69(8-=!_t{^XF06Uvxv624IcnP_cUMD zhC$wdZ&?(WWhNp-fC<7njc*gYNXZSXYbLYV9e^z3)VI>Qt$YgKVNc8m5ypTKn`J^} z35Fn2bK}v;AR%wRCqKF`fKC@gu|?TUhBbq6tBNEO=S-CQb(T#s>*XbC+Gsv=B{mKO(PU36w>y{W*Fy! zcL@^>mqs^)#9?i6ThbUa-?hUWs{mT{$oQXo?t(`0T!8BF|83KzJoA?yAB;1jPI$uE z?e*l-#Z>$F%Xuu9h(D%$Ov&5jyrm!gn&F$o*JxxBWSSk8)7}XU5F9=iNM=@$!5;o5_@B}HT}Y#StrZb{>#4$E$gEL098 zpRw&D8I%0v7mGa}_X1mt7RNh*F2TFNNy%~27l?ThRW~5MMg>Nj^k(t_jWRDxD{#F&Fu`c%#t@-|2fo_`8u%BzW1$cDw+;AAp4xjo&{KB+SAVe*fdH8- z*iN9{hoDw7`qv8RNG5NV#Tfz6zQLbW!@5+zxDj*9Fan}65u1-0$|Y1s!9#0Z-vs7D zpFr%mX~L_@p@2yl$48g0TNXIWAG@L0SnY#*XE`!@mitcMvJkQ>l)T+Rc13cGrRKpF#(>x9`xep#vOedxR0{K|F zPOPAEp&R#CK)ko?pCMkxW6IOludj|Hjl&kvZ~o*bOc}L|$<;-4H~8DvuiyQCvX%hz zzlv>gUPUA1D|D1xt^{=B2oS>RLi~!IE%4Tw=#W>NF`^~Y<+B$$A~j5ep_+x<4~Fmw z1P0TNDWysX5pj1Zv%2QUUr6BqjthJjY0Y7j04J}4c|3qiIg}bh{`*{&?9r{0B>m~p z>69W_=RC~|w+plyJ+|)H5NP0iyn7}nVbClGU;(-3Uf1)S1c%Z~83hhcd;tIgK#Z`H zp5tBz@iW70Q?V9PX)#7(1x9ANC<#tLr}9Z&b3$&|k|k;kIl=d@w<32{O6T+D2sa6Q z0f#70km|J&$#b~)Yj71a?m7(Fqs5)Op%ZYF@GmgG(+OIpt;EW=q??8*<(l{bGvBR_ zyC4v-0C`NkG(I9&%~r^pUSM`NawpCd=2uGsGYq{B2I*75w#^FDYx<_ydcxglU9cxZxmM`aNhEy=XYzn6pM8pPK5qt+9 zzFq3d!~wcB@Iy+t2>3kQ&N52CB+gcjl%n9Jhy`Ul*uaV^F6OEoSe;CqkhrgXH>-%HoEdr_$rE=*e;Nl^;D(;vMbP+{N&Wy@yvFOZ0!lBH~Uu6K4n~1R;?SL zS;6%a1C@Ux1P7zljH;H`mH7(GSl`w#`1-0o6gUGx ze~v73+JKfpR)ri+QPGgkADznTp9%X!)uI{-df+qF47_sYuDbifV?I{zk)D;U&{B|ahWDJA&LysGs*AQtL4fnH`Yj_Vk2n3VXXq5IA=uElu8F%5AK(z8qe9Q zbHHse66c8Ui6cOT_>7#S+aTPw#)-T9uc)HK+9&f^O8%;hrKr9vp+r^z(cZqTC4J=d zuY~k@;CcG+g$lHz*I#E}f4xb1arYfvSqkcsTWL&z$fD`WVI!gjk0?>bCRI3J73S~p z7Ipzj5mroRl#ZV^%!-OI^C_sxvab<^aG6IMIA?%$Fy_ww!C}3APMAtm`H^KulJjoB zO-8YZQ<~lwRF8`n=b1MHgdcfrSxT{lZa@dxw8$Dk1__g{S$!?71zm|cHt^LQ^Ay*H1H=_@ zYLwU;_$?dh~s< zv*2Ztjxp7Z`(i;TX!YPCRt{(xej`RA2k86RN`>9+X?&=8Au<1DcPGE@~CYZM$0;RMZ=tA&_$7C zO}6}y)^0qAjZ3U$BjJljr^r3{7z$dT>}qWn`dN*M;DJ^4Q&7X@;~@OL zf^la%wFNTyHMH~rQRxX(#Z1!YXpY>V9DOhIDsj80r%l8K?^7j=rGnNbVPvs#(lMnR z5}B~4WH>5!rjpvIbosjXMAoX9?^qc0hU$IM5UP;ONFoE$HpmX`Xi$|o^eDt_cmm5XH`P;Arqz4C9FXSt!DyU|bB`xSk@=;)ME zIIeiEV=bvfXbOg3#i+q*2071KwbYQ*r9HWGu}SqN&uzv*Te|LYr)vXl);!0=MO<+8 zC9Ummg^gGzs(Bmufgg#CH+_>c>x0m;gl|^iCUFCH;(c_97UED-ck1azHnp}AkBgj) z;#fx#xJXZv+$0bTsO>SzI2U+JeexXU{q$I5y{@5ZIiVTO_UlvZUGAa?=jt{@aYx* zw6tNd)MBY7j&aV5cR&ABaQo1#6BYi!=0%H{z4`_8$%H_-iRz$FJu=;B49@!yV@a`^Mf9X+#3SU%!6W|5;VUYc7UX z0#C$R1&M&#x#jsm<*?e8@%>#QT=%!{e(wn7uk$E}|GheJw3m+hIzOtWU=4FD6O&-|LYq+aSx*VZYB03r4Cp5_{<&uakqk?&id7P}2@pE$ht0$pL;C zcjRlZFf4ng5q$S)Es;lWhz=a?Y8)Lng(%u>l(fm+QotIF11AZ&P8>Ki;f^|RQYaj* z182+AFgkFO=pG$7yJdwmg7VRUGdgfe2kF>>BS>;|;EWEOT_Ea+A%b=qA#HNDB&Y`CyGg*U6W0wD8Q4wFO%i{@ zb=+)s5JtaE0@2G=$EYYGvx(+FvkttCM<7=KLyZk_mRaK0V&*Cg>b zTz}1W2VwNrB#=G&Yj(@*XaeJ-zh?B;ln&CdzlKxf=&u?5HM>CTMT2zguTjv@4pk%T z%CH%zzor}qgR*jV-d}TpeawgGu%U&G9-Cqm?KVoHDg?79&oIr?r!-_0%%d(j{r`)*X!w1ZX4 zIx}$w>b_Zng<;t{JMX}`)C1ifq63E(Hac*MQMB7AX_LF9fHfEgP7-pRIB;mf9d+QO zP&ix%&X%WPbl@b>Jvwl9%L-`(<)Z^bnL)UQPU1q zE$ht08K?ti4HkxF@9csDN3D~d8jgQrpwR=|eEgT#gXLHYz*W?L&UVXcv6jJ;J?V?3 z%}%f8vU^*COfG*&bt1DK;c!fx#D`ffBL= zJ;V<@rY}^Fjch9Sf85a1^ySi~g#f)TLeL?wDP}Z&;@3&7Zgk49Wy9`g> zVz4(rHrVBIYhYYj_0A|)r~zF|9i*k;Xeqvmzg8uWGXY;1kAP(B&fTNynQxDr(6)~> zU|;+J)ACU+`l%^NW&(_LK6fj`Lk&!89YWIT*;BwBJgg5{Ys5=Xv>pKW5F|naLeAd9--fdJs3TMkDbIjx9Q)m9l zF_Mp}62O^hX1zstUKx%fwR*m-T7H@6u#hi}K9&JqxLOF(SqNKBav`Yx@@JcbD)2M< z%0F|=b2w0yRAF45?s@tO*G$`l^JEy|BDD2@tAz;yL5GHcQ~0TGu?Ia26SxatL++A^ z*7nMl28RjXL=zyp-UPB+Idn0nV_iu+Z;6D%?IWI;l(>9JC!WyQYh46bVh!SQ<&-K^gK87jQmZwu5$0R zJgn!XYut_pu0_oSs&v4$j&mxHs!)+5@DpF@v=l)$AV`Wq5dz}7P0)+?1P8$n?VwGl zOGPw$iTpkNJn z*4;e}cZ2`b7_T|(w!v!fLbf)qIm2@R=09^t*?o45Ab(D3?lFPu`7<$h%XHr^)6ixs z(Czuz2QVh6`C4^>2$+H^P389qnmB;RjL`F~2WG2i%{f}$f|sFv7TskCIq?s9Y0j+{ zcUyx)35*pD4_k!|H0fzm!)3)?cuL%-Wve8jnK)=f@nl6Y8fHkWh{fawJ5ka&8a7Gt zd*RZvW1&|B(+Z-m6%f?RRv8FH==;K`u4zNzbhROQk`1{!5YXn{vmA$c2_7<~n|AmP z&cB3T#~8W^9lYP2+%k_K&0TP*PpC?qtbd#$NC4C4T%_(gel7CgPD=tj6hRi5nfI8tnie~D8uIV!jujaa!lovBbArSYT`>3R>M+#2GRcA04EgHwu0UJ_F3Mtrb z?s^L@z2Y_dZs;MxJk4Z2D2jRs8Pk&E4Q7@nV}L(}wp}V^X>XZGOiO?|3W3I0ON=qe zAwHU0c~J_OUb|NAn8bC;MIo3{dT^FCPX2O31~YC6-uV~vTs@Z{s$44kGQF>4t6_c=g7G zhA>#uugh3veonq@sDvSEmRg+F1Gw@~;}=-WV9Z z4fCdagf+aInAhx-o}(+lZ)}C(oUJqI^u`8v>wp-2mIO>|j=wA<8s{k@G(7Y?426jE zDH`Si+SQ%odYi8Tb9!tl2_gy8?iBHJ7`A%~L3%>m`tvy2lwWKp8W z-~RSDBq{nb@Ipoh4;9GS>0Gyc`rP^f%x*VrKJrQiohwK=9Bic_@zH)ketdK)#^$1^ zX;mo)%pvkKI|G4+`B)AHdv)`f10aSuErBxQpeRg_f#Ynnacz)??uQh0SJZJ*lu%vO z$q-Vb8V^PCeuBrg;lwluH_#Q7A9}h|?WbUq!!xhWGQep|0V)DUOIlEZF#6yhiP@W0 zUqm^9Ee?%LuHJlL#FJf~nB4Y;cU+{&kbq8WMnfJP?H(9;7t-6Ai7#WCJ~qL;VZi2iM17@pk1D@B7 zd(zo`3-imPRq75!HEYLyXx!r#^ZNT#_wGQS5dTsRe0I{Dkw-3)8|IkI!;&WH&)GEk z)JyVVdWZ$aq+y0r2*w_6kBiZ{jTMCd7(!4%mTzrOAxT95$CheJWfIxA>aBDXTAJlNxS~428f}GSF+P91e08#X zeX{)iIoD%XAoQQw*I3efT^B%c!{#=lz_ST|EqOJ6?%Luf<2(`KP#P#Kyquxu+>i3R%F@xt{3d!+&JDEFTE&qYy0%s-wnE#yAd^ngW2 z+n;Cvaui@TR#Wtsmd7=Lzg=SqoL7_YI+6MQ*9Zu_s(mnkQ;u2#<71)vbm{iDkr zt~?`>;S>PIIt+lyYzoKmG%CAUb}^EBo!8S$ye|rDt{p&fiR6_RRno(K@f$x7B_87& zJ4xMzX)dP2KU#kCw-zNBORHz;PohjgEd+8&*%k&PXH#tys*hmNZSOf4e@CaEDPT>v zC)(9qdt(R$8(^s$n8s`Q8h_gSQM2d)fm!2JJ2u%|2RZUQeil6@)*Lv&<`nxvVv;cK zkC@IyjAaYdq+Hu6i&KOwXlmh1d`wl`b)8zSy?Y(@pc~)n(V)YaX}3v!MZ{G`hz*fn zC8+c7I;YOt0A!^9#R~3+N1q_c=ho9moE;Kp5y*R@%nQdHC|&yDe5A{RrOOY@xyw?e zD&a{l3D4Zbad1o0XHtiNxb1!>f%SOr`f_L=LB~sTh_GL^c)WOFgp4ijEH@jB_3qk& zDCXqQl-^lG#Hkgl7gXrlW1I%;Htu4Uz|S=8 zENj+*nuhG?J#8GMqw6#eyft3P4DhP5smS@5EYU==#9?c z-7?|idUw01O$zdD)wKD1(`ZSXO~W;Y*--{G4bcG>!bzdR5anB4;Lwwc6e8sKuLOR>*H8(=Dvie&0e71Fg z9iUfVcutw*#QB9qqjrSY*Rv!-ZeaDq_Hp8#?B0AjzH1}Tj^>fzY zWiLwSG>Fx)YR*_S=fJAw(CJZ?@UdrMNv}<`=_a$TNQFrcYB@X&qk2v6t=XcN^iaqS zE0bHw5aBZGhUq5rBKHKQ0`PxAUh4k}ka(%%Agf;Z-j*Fa5_=RkZ4!_8l_LKsgvQb7 zRbp4A86aiA#BEVD9MA?(g=>R32Cp-Z!H9J8le-TgdsNhh@uJL|7KEuc5h6#@YdtlQ z2FZ5vh<7D0ft%vK6Dy#jk{w&Ax?IZIu3IrbKA_V`;^aK2#2A#W;yl+4@{S*ovp|b1 z2#$nF?pP2P2+9YeTMn|LBtV59pjqFI3MDkkHV%L&eL{O2F-;K$Sl{!?Zu`00*6 zCrT~hM|$#kcYeeopfr0QSpG~r_h;e3?^-u6B#CYB5R=qZ?73IFJZzQi@i%J5I8KI}1p@WS9;p=-P7^ZosCiCG*o{^dD(D`VVD2nvW={K@`CW zU;@pd=B$*t#W@j@kwqd`W0SiHH`-$6iM3vwTD5jz@>fTv3V4MFUl%>tydd#b30Rka z8h@$=XE*1*h8+>>cM0b8V5bB+9KIaLl6L*j0FB@O_fDue4dgO{#@|l1M*vKQP+kgp zpSi)kAo_`RN!%$&KT&|GR{~YppEzt^W;Jjg?LXHoo0%sxe8HHn*Nln3RaH4U!Q4+Q z`0RnrcU%JzKMB*##Q`GjLL3J_B-l)?TmdCAx4>Y1I?=vEz+-P{U|ZS;_mN*7k*ul( z#>=V)02V7w0D)5xg6}OVjsibub9kG>j<_%ED%uEske#%_at5UftHjXe`mp)lg_dpN zhH0nq7F65g;_E~yX1x21gyIw>BsBs>*~IGn@CdD;lC>faPS#eDmGWi9=&Gh^q$0h{ zuA>!jt%(vV1lL~2#TD*&FXH1WZ@NHbuek5}mP@?#gg)P7NMP;V-Q+jr%laU(bD)u+ zI3?*Nm(S}*sG9wv@Pl^z_H83o$f_+B(?lw)_R3+=djGAD^?raOp}1Cj6#Yhyc8q@D z9v1tP$Mis1brDa?CExY3WCYr0uL?=TV3uV}IK2Cy4gtby8%V)Dv4^{+_OOQcP2F$I zvHqn@BY)8y^TnfQ1p($t%a?_5&?LiKqqs$DR*Vel`eGr5X}57d&A=4IKA7?47eMr6 z6`S(R_n8N3fK-8rYPelQMTyM^UEX9Oj2-qQo~dPG%GDj6@{Q1yq@1wapSZxh?$fJz za&@N5eCJsJMrdH%pYZTE8H|XT?K1vTzTG$`^x&_&o_R$`^B~a_xT%PNsE$rx7si2R z!SkYnL?g(MMu%8=OYJ>kAYJ)lrg{Nhs+Bk-G$jbJHaoFt0jP}Yz7FYrleosSEFo}eS+ zQ~33^w~A#LskN9P;N??@@3eHh63oh>dD;Sh>4ZZ7G5y`31g=zWDB=VWXaIVNZ&8eH zCzz)ZRj-%HTVgb~?EX;;i1-8&mA|U3A zxvi~nlc@d%Baxd3C#i+ax=h{Tx;r9CEbtua)~RPvEY%x8j;872G%R*;p&mr z!iy#^L&pescw2WOFtf9CwlMx!9;a4WbKL9_%dAG@Jtu3$3`$sY4Kezt5>uAcE(D+i4(ie?m}p~+GinYotB_wGWs zoJ;G8nV-X883t9+e`R9O0+>v~i%6jxG!kxAi_m!BHz1{90|ZXVDyLN*EHp#1b9eJgOQeEdI|eM+07*+sb}(943}O zq%Hb<9I7X2qsyGsGoew^bGR9LkpfRa8<_B4ninfYJDYII`@?y1)ql83eN4achjVhP ztxdTRpZ>P6@qd`$q?}npgQHwp3&%Qg1~Yb?;OO+4{uSkd)RTnIWpY#sHZnh|!f;|M zN2da=#4H_vkxH7oLGUqibQMj%RRV5dMl+#AS?h+^xiOj3Eky2J0(QJTa6rv}PlR%M zl1+gYt$IbC5MF%Oz061`8VSj|PQ8%8JQq+GC8lJJ`}Fln8?cW`z9_-|+H)T)li{W0 zodsABP)^jCLdJs=o3w3T0^gTV_jBO)CHxngY!>mWJTyQ|;`W$_-}#roHlVN;W17*FGnzqr_ z1tzINLP9=UJo?1Pq5>Hr+b-s5Etv7{Bi#>N5vq4mQLWKnT$}UR6@e$?jL^{LnW2d} zFV*&GXEq6oFhfdEnd!#2N8K}hyb&vmY7&cRBpaiJQ>lh8IkunTUOZJNp(JiW(5n9^Yz^7n^+;?6M{v=4B$saXqIY_a*RuSLM+-mzGTgxXbW{6B=m+o- zV8Mju!FZ`4c#4yp<*X;T60ViaLiDHZEeMz`)0Nkf2x3>jqfRC!5eIHn5{Q5p(n(P| zDrTdSnVWfj!9gl8RX1z1RY2KHSGEc8*{JwNK)yHB3jtPhS#PN=b9W5`PUfN4_ol{7 zR$iXhM_1$krK(YU+&VmUD(sq$_$pzz21fL zbMX|QmS&Q0uS`J^x1>4cSQ8Tt3RfL%FhgI=+|c1RCk8dS+%xuwk?$Dyjv2flC!%6w zNK3ilnmBD2YLLk|11m66G!MB{NeYih`fv-fd3Si}P6R#G3Ez~&jYzavKvwy7)#cO= zLy>4DX)Xc*SFwKK1A+Z(CDsOJCwINM@ugxdThrpVj59dvk)DuV4*6k3DiB7Y-SM&k zk`)wSxkmPeB9^(YM;8C9gX}>1>8OCWO^vUjGJ7#>v)(Y#z5oPF%aYb5DrDx-zH?F>3Q z0hRWFakiLQAiS=lxb~`G(fI(eK&-vz(vjNR{eSv+Lnpdm)XMNd5d7!u=TC7n4G$$1 zNG$F-DCeeM*bJtAunZRQ)eiNsskLCY)GDJg#wol>wArXH2nq&i56@93qv(NLb<1%C zqx4DC-FN9oTSW!q=7ok`I}j{-K2oFuH4JnRPuW;oG%+cvh@@@+&V|W%h zw0VjT-4FSJyf@0OdPAsZ9#>mm8Wv$Ieald<3X+VKPBWHHup(jdi9KRar??-;a=2C? z2Xwv;cqd=Kt4`>A1E_8E0Lvl@pGNBX#-MNytHR7rgxj1c=qQ zC=OSJ-j<1gk*2~#@)CXwwAmJd#0QgLO!s}?29UITZl9nJKr|{*%h@Z1Pd)C3Q|I3< zDK}LcrVT`{;b(RC`PSGkRqAR)D8|UwMKp>io4J)<=R`@j(P>acc;4`=o03}w#toWr z0*IrE+>?qts&@lX?@F0wgZ4@jc!(K}Q_*BOPZ%prsKDuniE8?=bQF>clWzA!sCe}_ zja)s81|(78*0}t<3>~9d5DLAM*iP&wIT4>N&Yi{CaQgr8+wW=&N)Xg3zc3PO7KJnLQ=+!m_ACLhyNf7ODWjrsP|<+JwWEJo zSNA%%c)Z_oLQFgaei+EqgQW{pfaVV{dQ*a-+1~Xf$f@cWmE}a{6o*g4y^LsH^s8#B z^x);D#ZPSa?gM*Z_G_%_;o9unwUr~*vPC&zEX~Hjc>Oekk0?XB3>>+I=)0m_brg43 zL=8?dCcSY@fbQvKXKrUL27#79=N5I}LE&0@zVdPO+zm z7dcYT7>Aj%ox*w0&VmO6)`7-CMj%e_<8c(U%P75DB<{aC~+*jjGD>oEGDgymuXY7a%1Zc(E^Z%ZdHKq zdLy_#2t~YZdRNK}i!|}(bF~WP*PY{f>{7Sv(5sfIrPBP!)hrrcn~MpGaNW&DqYRtM zxmhXn#2HH6Ec-*OSl1)2geu;^f-|=(?%f?=GnEyWU1!-swZAg9^r@Zz5=1)N9&OO2 zw7Pw&fS{dSUu8zX3^LcW=2&`plAU!^Wg}542_Ip=hYrr}A~r(L+PI!7+E_=%eIZ>oY27Q}kmuau9Ru&IrJVgM9#<-pAf5A3gb;wm@+t)g zrOrcKbc9Hru3oT%Vxp~Ax}0rg>Q^9=Gt=ZdJTBOEy)de57K+@0mc64EKU>r~(&ULd z`G#)kB~9o$NxkSxD#nJRGJEe8uS68J759=3pqQ3p>&_i^9esO*{!}Cd)m3H}S*Uf# zO?fk!2xmg){sgl|xj#pzAn=`h3AKn!Ex%;dZ(c?-wMIk**OM)h6e#T`-7NEp$aO>Y z_}y{(floO)&5gV{rb~_9)CS&2C7US3;Urm=KK6t}FF|AG6!>n1xUCnrgQNIK-WAo8 zj48B9DlFlcSnU?mset^|h^P2I>5^AZ6SU}+F*`zLnqT8hQt|X#2U;m%@9WoB?IMu3 zDBZegY@0aE<;Dq3CEY-bzFU)F*BWI|@`B4N7vO^8^~M}QE;%nK+aV*6Q#YZ_xT+%^ z2`A}K4Mdg0G+1^pv_;jJh2^~9-Np2$4~pJ~94Wyd!te3Xa;!zTh@BTy=#V>mV4YMl zj>?_k3RGNua#=96{?zQyL8O>xBH5Ef|L9pkz?_(z2z1o=lok0KbF=U|d6bQy2Ut7r z2z^p_f;6-x|8k;T1u!a>cr)zKb{HYzxJ}-P9w4mK2oO~D(dMDg z$wiG!)OGrip*2S|ZE&*zlg`Lu)TrgmwuwIcCi46;q=E5q5pC28!5P^=1Bh+w1UIYMf{ub~j~>~&FM1G+4hB+4Xtq2r5d5B0o(b}pnEPnd`XEXNw%JPjIe zKc|yD28p?ITRnn{p7kjQQWP^GzXK1>qQux$HxXHdJ9!^2mg*sUvie@swt*=3x$NG+ ze~KGV>NCtjEWT3DUpgaHHVGt!2TU1SZ27M$)hGx zP!r&?<{HIH3!@8mz)f?P;Xr@#6LXkn8I!B`7JUOt z_^mW`*Pq-{)D{2qyK)f$cWDV88pSYiQ6{3fOwEjD$8+XJGA^xUM{lb{Cgmt;q2oRM zFL4yrNBSbMrg#-w_fs##Ms)Eke*J8lx4}v|2lr>68(6MwYVk!ko;YeLEn4^DDzxt> z-~GEPj8d^avR$C=Qyq5fO9kh6hIwBBGDbf9pC_+~;alALn_=2BD(J*4b!{Gk6~UyC ztQQib0M1`32E;|Nn-4{iajhItgPj+kq}C<{krdmi zHYjqrITg&x6y;@A$n*x{YI653_P6j*p71Pm9#71ldrqPoZ*uu;ZFHb2x%0QF1eQN_ zzo3JqdY6YJ^3an&b4SVb_p<-?Be`#Q#HnyKl(hD4i&hhQT#aTH$!*FAU-V105Hww^ zE%UAl=kPx`Zd5I|!XA?0(^2C?J`_(U5dBy5lqxHh^+9A!;G`2?Yg^pKN!AfwY1P#Xy0-N%)Gd3W6TC?3YsPca4jtX+>fbH zTGN_`!Yu@BtY9eI?xvv{U`aU~f6i^Jngq;)pc3CNgJKKZIJfmrIYd<3dLCt!w_b$x zEqhlLZJpm1b;rQud=2$s+swLh8%)=nc;|wtr}xE(^3dOg6Hy^8jDY*97t+Vm$%B1qhLhCx`A07$d4Q%_KApm(xO?~krjFL-o~4*V#$|g%_=~w z5=%W3Q=yV+oCaRVcvj;)9`MK5k$r*>Q6)NjsvV(|hhZX7qnfyhDS_M2u0ak(b1h+1 zmPpYojY%T9AW_?Es+CUCnx1H94%z`0ED2qxfZ#vc!H?qB;^iOjf*&*cXS}jsYvKoY zRVm5yJSyzS7Rz9zdau;M1`5ksDhEGTtGX)~x$32wNCwO%GeuF(;*Ku=fQ(h9JP9f_ zjrFF;FfGlDs#y(c2q8tebscsbc>5<}SZ81)@x!6REh+EVw0yeJf37TnwEyFV(qoTt zFUc3nH*i6L1LB)Y*DHuVe=ZuqCG5(gmq1Y`0S|!Z(FjsC*e7Zp0Ldv~OpV<5P;t!@ z3Jk`IGJ$1;w(cp{{mJ8xA9-4hfRYGN=>Qo1y3DXsVuD5IsHy03!oZa;K5-^tZby^n_ssZ~sItvc7CCl~G}JJH23yf2v4vX1M=ptLcA`lmC@!QT z1-#sDPCwa7^Eo=@%M=LWb2W*eF^WXEN=_pahb2v!Z9V);=HWrU+pol=SjpG%8TUf)o$*WB*GC|`aV@SPm zDt(`F)->AcSOzpA94Sb4d#f%>0%Hf{X5d((XRpy!zuq#OZ)!Mu!{$Olh#@duwjL?O z%~)}_QDa|zn73=MDL5v@e5&}DqMf8($2j8VsbW*3z;%GG-XRbyCHV6p+7k$H#YouZ zz+1gJV0mapLLOp<4%M$qhh{Wu!RO9&11)851Wx?Mkn(XeLL?+&V%ni$V-NHmTuhRPg&WbYr32irOl-`=UbVMPX#kYbmNb?5cpiGQ^uKs=sLo zKwDK&{Sh4vJR+Z0=hpp9L>wIiv@vMz4iKB%MSti_!LnT>{%v7j@UX+`@s6VP$KO7F zkfDp*=*9jOFB1JLVrPK{=C|$ymeE3bP9Rq1d9-G!0^#4(;V4>LM59>opdBbGcdX?pasVuuz`8BK zco~NoBWcLnmp9)@C9~!K0tlkDO#SRsb+iw+pgd$_cH)#9kl^5B7J(dACsOLAl+j#8ztOxq&ra*Kr zHxusY8o-TS&Vx7U=3Z}3MIw%L_CoN97i5(W&wcczy%kGHQ4&AGN)wHI@`(6M`4YM< z@|{ZXaZ)cAEl#u)vuHCuKw_I5N*yCBIga4G)FS=pRFotT1{e2O0rpDK!`m)wpow?I zyVfXVh~{hOlvP76c4EP6wcpanR<0_fj&1E~j$z+m+bwm2o#0E305l4KH^wQ}N}$B1 zkucgMj13e~lNm?&AM7cgCQ61#HoX>6zepEZ8rLzN)^PjnuyyA9V9Vpa(>PM^4a`Rn z(LhmzQ(A36s?`@R9KK>LpkAdo+jbv$6(!jVn19pMO<|s}uWM+cQ7EWwYeJLdifN|2 zCtb_JGdu!G>QBvwsAP8a!8LT7Q-8H%SW(s7Zj})yp_5WM(j!rB4qdfrzR^C6rB=LM zfJ(=NA$VD}6+a{yS%Z0|Y2#F?_t$v7u?=rkk6^4t%VyN5`KDFrg zB6@~m%|QHCff}nD+ry5&FU|p?TU5*gN}Lv+)3UV^vH=A=oI8bqnpuzqcmNRDaT)1c zuhT-bq(?14Qe9%-s$Ir?vI7e4DYfRHfxwq-@l-Eiu3M~?pQf&nlN)RZXAuj7N(|S_ zc`3jq)d%fZx+F3=(rCxU)Is%JluV_B;<)5#e;8@*v^9jEqNCL#8gj3;biOhgZlD|A zrk-xFpAmHGRoBybA@}a1=HpPH!NORH6eUAn26Puh=^%-G5t%wi7iP`hXk|7w`Q$pP zySvSA1pR-B&9uMVFBa(WVQ@>mF6ys4g#bRJ#`|Zy5GjjsUxscr)#Q$1QCYSpO%}Gc zEeB3sh)Zq6PF%mykNT5xGc4K*c3GvobA924yrLBGpTz#tyP|5gQTbVIY3l+0+`I`q zy~q37vpdK2!FDaR`pfp0hy)UbJ0{WazdUMLff*)LKdm89c*uB1)nHaAo@%WQGyvjt8T~UMrw0Zx!_!5etu? zztAb_5T~1D!BQe5%5ufAes{-JjWI>bW&iZm`Te(GM)_BXfH-uWUa68}&mAm&yUw9YJ z=gdogAKjDa`y_pj&Bx#r*TJ{6s|E7j6 z9&0^r&Hy;8Ec_6?KV%+!p~aEL8pdTlCP)l>Ph`mJJp-cT0==BDuwtJ1^0RlcZn88s zmx&Dn=Bf1dlTO~WAU0oo%766T1=b1#Mi~)cQm|!VQS074%@+T*us;+vO;TlxXEM0Q zjq6S#5J|}e(7NH>Jyz$#2)wkvkaWn*Xvcuv34aV^#>%F9Ed0(v4U4{czTxbOdltz& zabB7U>BR;mo3wuPEz2$!i0p!ZuByqgL;`Xw9uJLl^}^TZpd}lpld1c`@`K~&l5NDk zQdIkwp|^B%xvnti&(w@jo3aJUM)tSc_miiEooeiW$ICJ$Dfvwh$ww6;=_!D*jAXZo z%!|#N^E{FA?04c4TU(tKKp7dDBJbefK${!Nj$pxU$^1TIXi+&DR|sYJLnpa`$^9f= z4HC_1jwG)1I>mA4rL+f*VvF(wYM;4?oX`M6V)` zT(9Zoi8ya5j%{cxr;>|n~2fuhX1)NW}Ouo=M0lwQd+f%_r}PvNM=q>zkilxcM@6ve|P)dB0a z>XbJ!&5;sI$K69_EMi*sLYZVTje2^Y%89N|yVAWn0G#ZHgzOYWxe+paVNMrz*!dz+ zenqed3d{w*#9xV0WQm!@(Gl&@1#bbRoJjEk8NNsY@~k^7C0cYJfmdh3ROJaN3LQmq z$QR{;6tOQYIcFjh`60Md00*15a|c^C(}#2Ut7Ivy92r zg%d8Am&|tbJ3<`o!J%>qp06M^TH~1Cl+B*vJqBU$z zRo7=6{#+A|Q+Q?4t4G^1|E)D}--zm<271>@Ju-YPfja9gA94R>)a5O-7+Z93$BT@;vsrKyY?8cg1 zD5A~Dz2zffWQs4gY891dGL%I@by%-Y7vQ4yLuOAwZUc72|p6HR-_iCTumreGcAX?X4e zb+|@?D$Yy*FK33lMqFx6jwig{qy_~x^6#kaL9HsxF*8CpdnYWBQmDqhehF$ z_9PfVG0mYlj=DkLZ>h8Ldy?VSIT=R5Mn?QHe6U-z;>cTL6JvKrBuXSwn<;fH7W#!S zkodO(Pb7}5>>Cm&ruC$7Tt^v8Y)T2o^g_HhP~E6)7OAzSY*R^flw~Q6meKNodK(Q0 zFML7UBF0W`Yv(YN)ARgytB<<>ZCy>U+V(x~Uv<0y7GW)I#slemY&n2`EMVFbjZN+* z+Mg&Jp$0P0ZhmiJ@)uo@k{NBv&*)&oDk-R8W*g4p0&w5x3ZS$t%*c5taFyn!jNUwz zFHz5}neW=6a9-li15-dRo|a(P@&xT)bkCv|uytK%OB=mrx~yRHAjXpo;6>fPDP0Wl zd!eYLy>J?ml^xuNKBf?X*~9&brZ@){&u4>!fHu@!Huf_8>1UrsIUhe1U5`_e)Qw0e z^e1xn>F;w%QtH*3+ws#~E1~slx#V9|uE8ZFcg>qPJj2qrlAeJS03K~Xj)H<4!Q(f^ zDLgV^PfTPcq01wih15U|t?9RN{5Dw@JL#WTu||^Y6)84idJXrT#OoE=94|+6nGCK(n^fLXHkJIvFP(6S z$f#hwRGSONU-6_@{#+xO{%SD06mAWF>VCoXZdbW3sx;w?NTK!6fRj#ZOpi^8d7?#$ z4LTZ?#LI(Sy0}W*u1KG;6eKFm*F6wGt6;?V3L^(eZ3lx{q(}8kV zs75o}T7be4@cJRL=u3J$R1zs8UNn@!R!%Z+S$9%BUXc^nvJ+{8H_mA|wBB+g1NJ6+ zixh7NI1m5phSIl-lF}=(Fp&oiTNE9jMX&`@gMNn>Y=P)XZdWKAL*HkNJ6a=mZ^T1w z(D3+X;~re~?`1Q9BoBFg@MSJSqWvUTK9M`!Q2?{u4rCux!IfQmwis3#2%Lr{{6-Ur z_l2y(U9=w&Jojei1+a0p5M38<;J_onYn*SJF^3z+yF81ZkP@ipRk z=aC@(GngH8=C{vYefLazxy2zX67=Jd8;@M8N3NLYUa8l_4D2bEaKfcLh7j0J%+oyi*juRMQJxxXc^T zr&I|lXKg?s2b?ut(b76!JLr4T(kN_+Q(r6vCzU zLPag8ZWaqaT%sep0k{&gN))?{f5-m8{(V=F-*P`G@OQJP3~%8M{OUfMGahXj7un)R zTJ%goZ%X7LFx&-jK<-e9dI3rC(}HlxZK*TYKpvP)dI_#KZIgdfSNV~BAL5`|_){?I zq#sCCI1;M42Y_Sx4e#&VqvG@h461VxO1zy%GOnB_;g$+fjvbbMh+a3$IMcG+!15({ z;V+X>Jw8$WZLU9Hmq+R^{zp6bk>-8*$GhN1a_>eJ9iuZ=?tqNHD0D+^f86pw9j(97 z`fJttDN=d@-vb?d<=X6=0Q zENvDH0RRPD{u58PYD1;RBc*-%Je9irAu{|Nct^HBvi;WCexB;~S$9m0|Fbbkj>Z;+!#%bq0C^FN4gl=Z4q-ePJ6NW{>xO@4hCAJ?d7 zR4kSYi+b`7k1tiEBz>RZvxx?gwp-p5GWRNn`(>0dOhFH!ZBs?AsQVl>)hjD=!-trp zk_6_ms2A4Lz%K%e$D1HUugOA|Z0pR)iQ+jSu1F$B7=4EbAVIucRBlWn)XJ}3yw5tK z5J17gGB^P#R<#Scj3``-!uMVa;zi9(uSL}6nnEFDnQ+!AZ#W)?b=@% zN~~6d%+rroAIO?(HDbO1{Pknyx%IiG6~i5$0Dz1AXVadVEy}v6Kr!kgLZ;v0!nA0D zgf+a@*p7-=wS%;%$fsnx(HF{`SKbO`E7~wQ5|y+`bcA;!e2IXQoutOh7~hM{xS@xxwEZXPzyEqb zr0O4`lTu(+_dKkRmU4~$i+L_ap)4@Kgg@u+4f?MxX&0hETuFJ&9iob**hmtogib%i zTC2?0jL-&XvKJz##7M3p;h<4!X*7~x9TL3e^9IBONo>Bdcg3@%FG;Z{(Ky%F~?yb*Cv#-^%LwE;9+CNw^R_^ zdrQA_TtBc3Kk=*Ndsj~I{p-p|@o^jtYre)#KYmD1meoOuAFWL2-|-A8%q{epN1MC! zh+$qiCVPs@WuZNQkBDLC_z(qp%GA5fvkevDU$7~fN_&V(n5I!}e(*+f4q|0|v2k z*;BwAEDx;OO*eW$U?q+cTok3@cvWm%8tnYf z4hwi8iNKm!wiT?Z_M#(WjAs!&>b{0wVi9;>bFmFB3n&zrEQHsS@92u$3gD>~)+mu3 zV5!OLJj6?D?6$~spG|7@mirh1YI4hhb)M?V*AQz!3Y4_S*H_}LZ)*@N4tI2Vg@fW3 z74BQ<9X@Y;R}lj5r!4R)H)&e~E}YFIptT4cdCF2((Ahj08tdih3HqH(Hn$vRCcQwZ zYCI`$OfInXWLff_SOBM9(cMyZJ;pLXdYXTvMn<-w+aA-+)rm$Okdbe|QN?;p8LvWY zbYAMb>$TuH_&OESDfB|D>FPTX-KWoa1c~%YIMi*HvoqIuz}sS8s%Py!Cfc@VI7fyj z#W6iiQfJF_nGdeHj^cTWpqbgJ$bAdr8bC2RU|+b1XMVCj#ri0nDyM|ETjJxjePVJg z+H*jFgOO}#tczU0@tD;+W;`Tm^}w2`!IxGpNabKpmJgs84)k*9 zcL4G;ZN@K<3X7MmTe?)KgL^zq8p3T`xZjXkSr6*`-E998TJzj<7rj8b63qb;REq%6 zvr*5$0I?u$hj66k?i@J065tZhYQmV&H8TpjL*Wz}WJLheymxJrBI(b3);?Y+JgQDxd3jlj_e9F4%P&feZxhE^m=Tekt% zfEA;}RHJTg_zE;6PD^gpSN79O3(bg9Riv6vgP&KbKPH z0F7#K-Kw}MAvOId;mCred2`IEL8%!AboZytLr3JYDI!8_G4u6V7`QL)n8Q2@X5=f? z_%3+J;LIX}J$3WQL+t3P@YUqI+zRqjRRq;L^|Jh8#k3&Tu~!;x#xkO?$K$2W+gm@A zA%D+MMvI@H6HpBdA&#@__5-9Jb0D2u`4^5pvzb}1PTEf!S|3Cd>uZe96QzO045of` z0FRISAY&s%UnK)23NttJ@>pR;^~~0tyGPeE-yUIz`H_Y?>b$}ZPLeU`fhMNOjy>0H zp9bHG{U=fQL59zMsL?DY5#k?j$BekBOpkA`M@-!v3jsG>E!oKscmL?=OJE+jzIQExILhL{rW1?G~?^n@A9w&9l^6*-OSp5325eFDC2@Mhek9BN&g~> z6v$!;#E|88QHh2eQp%RK8TZPoRV4((ZxU-$AOS?VoA56I+M>r4n4D4&_}Vmn&Kxmz z3gkwcL{n0`qmY&k6E|7E(V3%Vpry4|6{IV=$Pk76BnrIz#I+$;+4I*XNi=~{u@X#U z#fmFZ85e2*;z_PG4R7sIJ_#Cz;|9Rf0V}*^UrPI+-?#?S9FpQX#)U^X?X#_1<9Gwk zfUC#FhX;c}#9l^c6Ky{=?z&xjSaPE#sx8AQkN3+5qL|h-nrb3UQ>4e)8&7N8y_5PkokhnknEk(p6NK$-4^|%uy+~)BseSW0-7RvaQRucG<=*+qP}n zwzZ49Y}>YN+qP}o`ud#HxBGu)#LRf!h-b}QbB-b3B#B(P@U}*yaH>d)KB^=haT!3l zNK?3iErBk6$6y~j;&})X&sZt4Cxg&Dk~h2ynsTC1XwG1pz*Wxv;wlt&GzEL=bqW#y z%rP1`FYWTI6`3?{)><+bTZcy_txx0GxO5+0G1DAyB;+$CODbDi5|VP0db*eF?UJs1 zm{8Rpx1kWLP6|NH+t|w}Y3>an)Y%WxW-4^oMk*Ne-FcSb^B^{Ql19)qhKyZJTqfXB znBO(^m(l|^@}g-r{(*88M&Oh$5$=&=5jiipfAyZC!e$72qZU)#6WQFiJ9xwYd$H7( zeJtw;PW-fH`#AJ4(^e#`Np!f&i8|~HWsLI>A6O67^EZB|=hN{0^6D!UkJloSSE!FN zL0^f(z`!~lg}YXJOYsJ64m`e%4IPAS74xNAXk(Z+kYM*lbSf}jxAnGDnIr|#<^|*? z3M{`tH(qQt3KvnEs*{W}*ITN?9%rlEx-(#lYBCmOhJ#oTyU|cf;2#wOspDsl@>576 zRm@fe=PD-jGHi7P__jGpxvNNyx`J2|=K^xrU`o-X1#U?TULbEH2_nU^sRS^gWFpP8 zESg1YCk}_gSgOX6#1O$GBE_>{iqC0Yc%XM8MGi9y97^?QsZwxYxUZ&A{qDb7r#Yj} zHBRhxg;%R{o~#+LAfH5<9A*wU)Y{QjrQl5<5b7smpmCyIOm~IRFLQnnjz&`6i}+X| zZ=zjJGY1@MZP=>{@LPqwAfb^zu}YmwjND74Ah$2#=|8zL%2#3;FX2X;#F_#Nrv;7W zz3YqpwZ@_^{+%?+t&4ns@xwh(d~jhpB{jU|!wNn3_`Yh9#a7>p*ptw5h#Nq-RCRC2 zS@(GP6Vj(-tqmPKe$nJ5PE#Y}f=b)o+wlw2R5oO|*rgxMxjH}mfZeWBB4|Y)iUicgSrlFMZ4?Pzh98vsK17jN*H5XJLzR;xuzdW zdf82x*O=bfo}Bwc^51au@$^pmD>5wd_g0{fV_=zR*r@49Myv$nF5BjrH{^sQ5-QbLWZP?+^F9d&?P&;Gfw@tHTi5MdB{CG&1r;gt&GbLZFX@LzN;LNc2Y0LAenpmK($19q9ZieIuU&M#dWA(G?mx=cK z4Z_}3-jte$K23leih_D-XQu>%drh;CD=M;yy&O^A*Vsd$!RSumaW752Q$1sPKO-_R zNka#;E7k4SdX0YaTLmGG650S~K?~l9TO$%o)mC3xuU%;TN3k1_ldqFi12Pk41t$D; zA>%F3GPTR)3;a_4coTox_WNVAoOhq{1K|lLbyRiC=&<;PMn(Q_JuW z%e0St2KfoocO(igY@rx7!AT)Zrj-X3M+;N48SgRiFVQuhGJC$4mq!E&fBy6Aj*q*@V8+#{v@BKfz3JU-+BGge6v=Na3> zRM~OM3u9?MnM<9HA|AvnvFbL%rO{(6vnGMIE%bXJazc39G8Y+Emwn%2fr&DIK#N&g z23S{GV;mPCuHfFT_mG}6Ms0?ZiX(=%@=YZeL+2^-Kq>+mZYxSC_uVTl&H7MT?yIQ6 z`J24sF6Z^^-C}6DUMl257Z*<7>*kc&dMM*Y9tmrKpw?mol>o-s&Lr+~?BRkbyLsPc zbgJF+o6*@Rm>{mg24yu+7iRsN_|;l&uLYjIQbn1eI2JyPW=Fu*~=@NIZSQ3Un9HUKZn$c!ENdv zVa^TfcluPt8rAabLqhPA=8O0Xg>9q>ZZLon4!B2X7jPlC72Hl4+rw~=u)E~b*Z2F% z-+#C5ut0s(=3b(i(nLI{oEhLiKsNaMCvimML5Mi)H>{X@0dr6pnO*`Uf#XRvf1@mc z^D8s_F(@a)!i1WpS%ZYb;nKEQrYOJ~v&bbi>8}G#B)!eeoP}y{Ns5X1hhUyxlcB2ifCQNYs<;4t8bLD)4+S^>eQ=Yc6 zvAaXHc1ssfod*2n)>%8Ke$Mz}u`QMZ3*&^9RBwwu8a02EcDc5 z%bUb-ekL&8OPLnQ@VYg~E(?VwCM+-InpgeIY(eNQjlh^$4tD(Wg6W-d2{I>`F3dY` zg@|5ubp{*=ZaBZDC#ddEFx}D|pN??a{5W8Jhj!GXIBwNXyd3WCL)=n@Ov-ooE==~X zn>;oVb_WDRVjM8tCE(@H3rZZ2~t= z==QSEah&M3K3I67lQR05zs;DB)9Tp-s-7YMG(Fwxav9wHqBa>UwqeVJj(oc+>-%mu zRiT~5)jENdDAYOhOBSwqnsH8xG9}7^3Wcj;e4Ph#2pD#|j) z=!VP(micIgb__xsFc#PV#+S%0@31urd>?M>IwC~ieLF5xaU_mq9=trBK2h9r1q{+p zcv{R3@4cYrkqie2KtErr#1x)GS8s#|KaRL!uM}3<-DyWrPt>{A5m6EMa{Z;g$Se2E zQ3ut#u5P5vt#xH*glgl49;+PX@6$0_;yd*gS+T|lWCr-PDYAKi!SlnbJ8cJADsXtk z8t!nQE7t|L_amlyp&npVta3Z@bX-BX3t>5C0_CKL%3(84Nxh?4tn%Rr`ekfjt>{mz zG6#;~kum~Z%tmz2c!D{7xqSd~%j}wUTcbpvz2WvJ226GYux3qp>Qu$W_uJKb%Zpgj zMDx1uk+Rrz_}^lN2?U`C_;dP3i{x=bBW2!fY`?OOJt~7$W>4BtG!xZtbih=F$*+I6 zSpev5p5IUg*qYudGuO8E1FAIa>kFwdgMZvg7)I1DnMN*l#qwdHpRfR#ZqvnK6;Dd; zJ)U68Wheuy;dbB|d{a~`i&3Eln!z-#WdbCl7&jtYE*4msv#gZq-S>0whN9Utf)V69 zJMb-uXCta6%ABA(FdwWJpanYA{r_frk7`rk|8zst6(IrdJ8+>IAn~kv1y+kh^LCI&%SU4ifry9ps^+U<239}qok($S>J3vQo6nmD7p+VYkmafV zX!y+qByQMi0u~9Sqf>W)A($^3Y(W5kcWgwz1Mat5%lB9RIY2z@7j&OR zAl_?3w3S%Cy4G4Y@lbSCN`wdjH#zGna&_dUM+vLN`#NI&FxO*R1m#=<#HOeXy!Y(9 z-8qc?g^iL4o17yeBF9gw25Lp_hK129Gq-97X<-C%7MYWYFdmDFjZz4kS|DPQGX+zX zvGYDen=GPZCl|z`7mlgUPoi?e`^|+i5LKZ^25H@c!dw>s^>c2_8h)q+%e_}dVJ$}7 z!U*haVy6>pDkQKq7UP2Wf1=6xV*ud)YU4&(h}zI26StmWVy+7;W9A77XpP1C_lJ5d z=?buRV}ChGn)z_*1QNt9j6g5A_f7}4fnlcpJN#lwuifte5tEwu1Qw$>4lR?Le`c`D zysde7rewD?VA1@;I@r!4+4&ik>Spn_2?EQJLDO{Un@l&3d>7VfGo@BXyplL-07l|w z=WGF(v|@hKy6xNL2sB*yREVS;5zz_jr;8B?xUgwINl7f?kH|G=T|i)713~=42#m*1 z6!%_!#5F$(3nNhO;_c{)og9e&DMi=3t>{m!{#g}fD*yIrGZ7;jxdax2c+^DB^TT>9 z7B)&LY+8|s%Z%$!I#{^yxezG@BE}Q;PnQEwaA7mxqLNtDhfHtIyML#9o9eu%vrqkV`S+SvhDl{W;~tdvAlQjW;DchScN9& z*QR(t0Z?ls z;Owg3KRA4nu10(9_>EY#JTTSy`ygA1ve@w%v1oZ4}Uj16A^i$OT5BIo!g9rC|xVEdB}9PZCVh@>nL)<5a~Df$1V%i!l^ z2msEj2Si@jWe9+tcI%3;qE&wc#Id2Sk6s zRsIifIsOaW!v6wS<-fqK{4a2q{}WtAtN#Soyy-u|Rr)V*+x`pO!~X);HJS{ z3vo|e+E<&I2B(a-ivZ@$pR9pz&f=XPqsp)9Z5bi36zSKGmAp;2qsh0UE;LbpZ;2Nb zK=nqBU2T~u1QwObuV1ph|0~!3_GG&EPZUWVAMj-xa67~OSlAr0r{S&3*-#wXC zZ!4$Y8ete|MV9s%J)2fE{LayR+dcILFs%`Yv!#wT zBw1R-xle;v$cE5F0*+7BI!_e5UUI}L*v<7Sb;mi<4U>Mi-!yeDUXLyy?G@4$n{KzB zY;_J^iJ|7*@7ye#z%B5Fd8!leGo`-wVQ>AYamivC=@iOdvA> zd?*2~{Vk7f%T-VU~u&^Y8H6%FD&>-vS%JvxA z%lxYo*D)A{Xn&g!HyG<)@L2&o;e-gT=>^j4-$kj%M@f@)iTYoR0~XY4`JsgHLV@5l z45w_JoZmU9m5(3?VhEFijR6lSxxjOH1C*4EP!{6G5IWY-eXTY%Vt+@iv`Ht)ipdAm zkvZE{RxvDqnj<&DeNZRs^c>SeYz<{SYYM3WyP9F*D7Vfg7LsocmzTra5weW%ro?JA z`ViZ~hk=m!=16ZJNGSPTC-k$7iL(_KAM68&ud}`qD_cwveS3QmGqzWtP;O6FqXIwr zA}WnT2@La$a>g#&0lMOO(fPGjZ#O{YMW zLH|+2x2Jgqg+D1$&;8O{WG8ypG+z=C%LxZ_>PNc*&VrC589e(?TeX4CoV1GH?t6JG zi|iW4BBZ0yyPiW<^c=nuD0vweNLCsNZq9Ws(8b5GSq6Sz0}{njdVW||gx6NR=a{by zhPgN%UP*V#i=8J2&jq6nCcFbw-tU9_WyVeZ9%mC&56z+o2p48<5Eq7RW$iFw;FJYx z{Yayqa^K`}!GAYMy!@MI_R>-Ett)}xKsZ9w(pI{yWqffVQI7kb%Uij82q4n15b$EW z(+b4sgCAle4p_WAP*kQR9`=*iqel<~XdJ?t?rXU-1+4NT?*BigIS07t&@k5u`oKy!<-W+)Z|AC)_- zl95B2Z9yU{hN2Kudv~Tw;UDR=vxiB^FI&TsE6Ze>SRi(n^0&W!YxZb6>5y6C2>3Ee zf)fpY7R*_pZ6JA7zb?n<{WRH@x-r{Pmj?@r@-zvg@9_CP2jUtGcZ^SHo*&sgx5#mU z^)VWoH(X$dQ9B4#Y_*!_W`RjNL>h=)T2Tkq4y(PbavJm9&AI9C(U#U{S}U%JT8no! z*sDbE_4z9^`j3*9w_DrqYx!SZMqmmXQ6VcQdsljA;o>?$Qws2O@tP*_@lShMfCabEb;?7lCjwA8DtS1e7d?9F;+YZCt zXTWHM6c^MG8BgA;Jw3;0zooDEk?__WfC^{sX1(>YSK`aYJWY7;TY``ocdzY*nT`|@ zUX4M;(j8ujtBsHtc@4Pq#nMi(Wez0fUy&yBm_J91jeF@zU}yl{Cs4Xmpw4YaBeDf% zV1ZRi|72>8D$S?V0y%jioLWjQH{10g@4A8%8Vns(4WD$fGuOsJps=`+fUpqiC;+tB z0aeH8usQCJv$R!DYfE4e)Hto=U_=0i)Hjq8TA`eX%it7LA&t^*Y!qqCK`Myl$7EQ1 zl@CnHz`vxTRpa-MAGDs$&}0CWLnxGit#pa|YBYuT13qWamQ%Xbx0m)aHv?KfzFGn> zrVsp_IQ)Iq@2mfWw9fE_J@LKVK8=T}|9t;&H~2lb<9_-0{QWNE`Plu%`!fCQvlyTe zev)XJ;Zbh6dB6H&hy^j{1hf!vhmqRoeOKV4^2uA@(f_rGuCN2CRB?Y#Ty$A zg9Hblg?g2(2aIp$JxVpYPUHe$mR))9?1d*;Z~zhx>hclhqWsaL)qD|9cw_n88m(KD z;siv_fSZKIKFibUq$;rprI+|Y15Qe&=r+{TfMluwGsv23bj|0Jl#Q=PrO+if93I&) zhyQaeY76~9CI82n6tOxT{WX@s2_pIAND3W_;@8^u^j5nIs|_(^UiNi&Pb_z_5+{=e5liU-gd1+OPY zsXOCxE@p5QQrZ9kNoFmTr}i|o`oa?)$Pd+ogAh@J3X~v`mWgyx*-uec7_Xpkc?*mB zx?!Luv|x8bxHhpNe;o8S^pqv>I>ih-P0Q8~1}u*-yJ$b)kSfs!rGeLu%8Hg6?RqL) zJ%+p30twhD=^WktG1zirHe}Xt|K0((zdy1VpT&&+^${hAEpoA_ospJ}`T>*qj~&(t zS>s#+=?3@HMKHMp9PyHTo@I{y<)dogp+<~&P_x(>CW#D5xDlz5UC4N#A&xxEvX9kb z$>M*+`1=Ks7|cl-#(^jkAaNs_7epa-x=NchH_EYH5?eEWZ8D2a<(C`y0gxVIsDaWQ zn)F!tJh=|fZH9C0kqV-sa9$6dYr#*-^+%D3*gU9(Bh282{(?Lf!=ZJjgOy*6n%OWgM5Iu9m_T~4 z^fVqrV0eK;bKDCFc(R-CA(ZN^#pVuQs-u@w?+X9`&QSu}B3k}M5P{;yZFEuQy5YhE zPn5#=h&!cKos>=s%ewC6bRp0s0~L5|NJ1x@cvp+9!>=2o6MRLaMYP@em58&+3Oesd zvg*YYtWC+YTjEI#tFtOnBiMUz)Ml%wGskh_14i|XWBY~6Q~DP=dQDDnrlFJOqeEve zP}Z35%Bl7=_4><`GzOl%Cvc@9oecY0GLAVx5m_vx!%Qy+j0W^>!K!*LsCc@nR9DR# z5GWW+eGk#kGLTRt;_!RpO-C<%E`%4*Vu#fZT|?7OC$F;Wsy^2Lwz_lRfd)Z9CG4m^ zzWlR@@{x%wQ*UCM(zpipreY7v0uqOErYkxo7aGGJDR~q9bCaPC$i;`1LDXK?Yb{O` zaI5k|eqeMwP5^5B+sQaKZnOOqNnC$4oj4h#3V%mRD;7P|&keF58@&pRSF$yzhUGly zP9yAk_4Y=4L>YQHJFzkW%W)RqSScoTsAVo%cl9rMQwl=)A44%v6RT@QRumrQFmZH5 z5hSY`sbN{>da!l+J(VNAUKtFhTy<%@BYqB$0bA=^Wrhnt? zM?nxa3dtpVkc8Y^pOu0O0lh)pie%7xuTmEYfAaj&K?uDc+_hf&Rh$%?rA=G<3p>m1 z9YPUOIcNn!s)*#uTQss1Ny=y(T)k(L4FxC|0|3YS*Msa1;~!8PCD!{^uNFa$XKL)m zd`0H|ej662i4J1CS7Re6^ho-ZW~WEr8TF@1QoFhPhs3E*o|?^d0ul`cdG04D`7?Eo zFQf%DL*B<_KzBRIKeK@o0KOX_^|PJ!QCaJyhL-FUCfwn)g@Z$1tO`(QovAWbUF1@( z@dS2jf!QNrFY5W+g=j5~ZURHF6B+}fS!`{r_2GI#Pr`K=ecW^XS7J;!GZ8`D=58YH z=&3ofb7oN!Ls`GLW&^IQ`9LLrobacIt&AWmoDyuT!Xzdo>>t^}Nz5Sxt^$xkMvWCr z7P-Ia#Af2lG;%4?OrSwaCs7KV%hBqdV4{V!(@{g6Ol^m`S6qo~MM!WVviI2c-Vz_{ zo^2dV#0-%lp@2HULjkG`eaYXqL4qC+quzE zvr1_lFPK?>wnQSl#1zNiwbX@AC2CL;&6GSPhh!=;g&&z$&Qi z66ris7v&Bj(@{P3t^!6{huxz&J{FQw2m3OyIj~`hq(Y7zgD^K` z2c`AoiV`92NH5rL=;Yt|-Tn#AS<=C9L*;`IW-@%8vGt4;WDw<*G^q8O6HrNeCxc_` z58XVNb`gXk_PUL-^Q3N7*ugiMW^@`znQspQSMFU;Thwh+0p-&2H9UJMr329(zoCt zu`llx@kbHCtD;yt*)*Plj@VLZX2r=SA}v>S42CO^H99ybn7vJVtcb;>D83GtjOw#) z)m9=?h&&}Iap5!SO0UtZ8&W%CBpgVdN$L!@8j0xP_wK>jU?<88O0cf^oNMm4$2R|! zjCzB<1URPPZ$@3LjwlIABr$39wo90PAkQ`yd9ASO_HNp=wZ3lV;yrVHKCE37Dg8UK zHs_0zk1^14kz7tiStKE9DQP~o$sBLgN(pA9aFT+v73NZv<286nq6a5KHb3%!#&K7P z!+*`n>W_k0DUBNmZv`xA-FVV7V`V?3_qSOMQQpYW!iqrye5=lK4V(DNB|O7OeT1)75>n;X8!w0Bm}B6Gzy^J*4n#!-Xm;O$*Rzsw9IHLufQFPg0rpCb# zD>C7)V^JcrA+--@36*sEiZo_wg1D83L4+nDlLqh%Ni>t9nN5;)ccT8krPCfnRJ6iV&) ziTf(cf3cKaCEc@jWxH>Q(ucqTZQL?ZKqeonC;|RONT--eA*-OQ`@;;!PKeZw7Y!%Q z(wlR+_+n$MqX(mtoSxEwdBi$f~4{R{NQf7;An4rZ18mZ!hd3Ra#7&iOa_G>bLi60!P$s-+D!bLPv)R zJE$X(MWsEKD3A?_3ku12NS`ijwGnb9Set>A9)RW<5_yUpO@0a8pofUMLjJsWkRF93 znNWA+#{lnTR{AC$CrWA)n$=$HZ`&z(vEi8Dpgp}tqyyg#Mrk`eDnyXF=;nfk`jDf> zpAqRu+_M4RRy!>Q0y*|u8(6=kdU(_PC}d704RV#GJ!(ToVQJ>roAMhWA2c#tyv*7OSq>s9zS52^t@)iqF(M!{pw# zj3Fyg%!+eh1}CU-c89CAII7VXGx9$7J5ys3}aresnS(wR4hbiwpfA;6^DGgDQ(3i3Zj@YOaH zL2EBc1_-%?05ZbC35w`n*+nDOf~TgnZ6eP?Iv#EYD#<+25m@N83eWfLGap(HK{A5w ztX$M-@i!aGp7>mOrN%BZ$ygSf!Je=+p-11$H3eDM>O<;B(!lFg@r8QUKy(CFB4Ngt zO+`)3Yct|kTjPAH87jk0WBi(#i?;MYm?`t~lO&vgi0I326<=8Z z_a=2lNVJWgNxIZ)WI5R3L?qv`%S+#s4&y?CH@y4;S%JzTPWY zcZ;@!#oqcywcVfR1s&uq@)wl3$yIotdn$@_ z9XwF&uji@wTjP=L0}&LGz~uNK=c zMC=I`3ZjOr(maL=3G6PEiT~-7@bix10voUzROP{+!iCPcEbb#5Q2v&I8j;1Go3r5y z6^8!%-B*8ZaiN~*40~I^xQ^IZJ=at_Xe+H>GubFv-^UVo6&-72PO$EFD99M013+_% z0io$l7g9ns&Y49Mnn~+J<=4hpz)w+}BBN`M_aSgwkPc+$CE!K74rTZV_f!a}6JzA4 z^sgb$G^?F?E}&Ny>Bnez$}3MP^F2|0`^9v9jj6Z6`L66(@(6#EC{htKt}G5hD_zILLK zcmfqRZPdAqH`G`Fhdc+~6u}C>_344_!Ko_umw0RWgr7#;ZRlqxsz|7NuxiB;C{faV zBc2=b`z?;9uM`t6kzuNLq@eeVowlPEj}a`v4PE?YPZiSz!!ygVq+B!#|EqQ-^VrpR zL0}by+SXf1x)*7P?}9`|^ecy<^h2k~{aMMrRUlp0fITDr?vFeh&x z%Ynp#C3iJt39JphI(fa^*qjlql31>$Is$yL~I9VIqUSrQ; zD%7cx<%&3}VuA+>$KIGqFz7El;AMW5XxdVb8<4E&NqIi*HhAo_&Kc$JQk0oeACeJ3 zEWV372&XQ433CYAiy%801yp-by=!C3Rqsruyc0ki-as{fXCYX5KX(5SduSTwBF!O+uCk0<@Dy)#1S=p#O|$ge@db?3)Nh= z4>R7(LD#0)086<-FU+f80VyQkZC?bt{j~#i(7gA((R53fvMLhK%4 z6Rvq}6cp_RvWadie!EEELcNpy8>PuDg4{bj6Y;^9d2SSl$tj&VwUPjrRpUgYx+v|% zShuXSG#Vyq=^CZ{ul8hR@f8*K{50IGLN~?69r=0hD$)if@V=+vFmYY%Xw&dh+6u%Vdch z&hV1w*MN^&b)CLd;=eUzrY0zC(HRk5@a=?z9pqszPZ~s;?xIsV$m$2}f+_bS;I56IsB&-GJ z^VG_~5IRo%-uW>P#VYhx4SGpi7?1_DsUs&ZpOo(5yd-07`_5Sb=&niMUGY40!S+!W zF2G=%5|eHlABtLDJIK|-TCvJ|xRaZY#Tz*JDmXr6l(_4e%0+^1kw>`?t^+d&o_6o# z4E@kus*2*BS6gFO`c&!TPDC-@pQ;nV51j5RyL~{kJ+3Kk_A`j|AWN9Y8_+tilLJFPvAn=ouBuQHuCM-Z7y13;iWID5N08rzfi8<8P9`dW|xU&jA9 z&A-zT3Y1)bJo(mg$j6#T4%ip7Sg+;vuXfJHj+5{TkqEz$e|^E()fX7baA2?Dhgc0S zU@q8U3x6n#$`SR4Wko?DM_TL3$SEIVvnKM+Bfa|#58r_}SsXAu10;0N9dKS%L&IAgDF^!oV?PKX^D`n1!9gQ8viZzHRO-HA|`c-#fpP(cg zfrSUcm}-sLf#f)#x^RmvpALD(782k#jLroY960OPwA?Z~Mvg%UM^I<#25l(kUcj*j z)i2k**i^^qks@t4Js7NThSeMc$u+fCEVI8dr-}tx@cD;jl8MUTRsFdeUp-(CQ6E<4 z?dXiKX-8`uAPl3d>L#ZVmfO#PJWvYEQHl8sdzxja+i#;<5c(fzdeL>{I2}6g4K%%YY*+xIjl3Lmmd5vg(Q9t65%u0(p6^y5K zVD}?vZ<~>TNcn^XYV^nHI<_iR5>jbvb2#zx5^hY)r$iLprV^67J$suEj40nC0Y){w{^4h@IgzPjc~DQp`S>b?pXR%oEP%G3fSq$mk(o^q4T{inku@>#^`Os zZ6*(jDJ}RcobC0hY+}|b1Px8j$99;~a$+~p3zu&jAAiDF39KDcl;}UQ(jDC!q<|{< z2_f)VjyRL_xN&dPHKBu!6))UtDMq3SEJ{K1Kkpunrh_3S6OG>)I0C6l1mLCuV*LJg zK0K&)_UHxEZ#od7_J~1P_2nRWP!k96lr)f;1OM!yj_}^f$z^P$u$l`Sb{M>}B(Ksg zm;{M9_~fsJiSljYwSHOz_-0$+r{YLH`7_bPfZzc}1H z(WpyojD*w7(P`X_NKke@h4NEf5sWPgHGjyWgc@U}zQ%{Ig=@|`WFjk1`=?FSRU&h8 zul!~%eN4;=OlB4-KDse0pG!vHKC5>e%*_D=TYEb8@&r*pS0yd+zPUd^&uDS5upw&Q z`+dh?y|E5nIx?8jKavDr7t_WC2ig`x&cnYF_XR11wy)44eLb-Z+p?=p2QA9Y?}G!X z_{RDs2pi>l16jlRi0BM{_E+KbktITZjHX*Y4w;))*57X7mtnw0g?#RuJgi%gxij*5+v`QoVE8_913_XK}a zW)7A1_#8?o=lD>cr03@>U9C(%Let&tV|w-W*KC~*iKKV1+WhlF`vdJ+NK(#@kSzZT zUrRw{fO1R`KZ1v2PqWkYhX4xi6MwQidXIM~;9R~QL$8Lx3N|ih!?x(GQWqy%OCYoX z3wF;m_;*15d89Q4PEP)H^>5kk7vUDaTVbWHpv#Uo-|)GWvAurJkWY<7kQczEcy}W) z^T(*WGm33;(93T-;0Lg|9pCE8a`tf z+Cbc|yr!n759482IR%df!CyE7^K^d#TJIOdvP6?S=fZMmNARCyKt%zbX^Cic9qjSyZkN3RZ(IvwdtOhCJikiZvZ z15esxddi=*CBR!>jsY&(ZWxRA%Aa0jO$C!o~VpjC5NI;lEFp= zlWYtzYhCJ$+I{fb7xo(#amIv(L~M%=bl-aUz7Dp~ma*_Jn^Dsot!(71p3(L_mwTY+);#hh%*jCiV=~p=v1?1vigI;6G=E5V(TIjd+Yy}Jh=#6a z4*MMjcpjCOA%^5sD=Yadz~4*RK(Q2**Lnu3h7!KAp%b$X&5+gl7usR8mSg%uyV{_( zO1>JtQA;7tCDl7-9>J(Ah&E%4C!tM&xTG%_)%g8PDN5GjHMzE@A~A;g$E~`jjWh2{s`{9 zOGtWTGf8j^WG$`y?VXKzYH#NEdghNdqSZNsE6S#D-y`oRpQVV}bUtNw>M+}34eV@r z)#L9tE|cJ<1_~}KIsq<_;66cMhdXn+7|}7g+!aV^Sr3@$bfk9=?6o2@^8|doQ7>+Y zAX`DIa_-v%$&8ngt|ieaA9y!1EKW|bm}hGl6y3r`Q!St z|Fk_Yu*!?OQt_{|KIvSD8KwreY>?d$H5L{m(MHTTll6(BJcb#HcP}~%dU;L2VAP-j z4lM&hgYRF|rmYCLaSH#Ue6gvaJcVn1QWCaRkzH#384nkDzw*LHF zRaI=Dbhpi1Qu^EA3dHh!If{BZ;aXGuo+FPN_bcBAMQkSOjoy(({gYhoTDSzSn{^o^ z3h5l9+${##8u)57)vENdzfSrw4>bbG%;z~=7*d8s%%5B=0N6su#uiP#|5q8(t^y7sduQ9 zGa(q-Eiap+_c4)6&OiY0NBhTNa`UPWzVCOjJyJ>ebTe2YjZx4xx;PcS#v&Pf?Olw9 zvkT}#C{@*1e!p)&{vQR&KEIurqAdI|`@~gI;(S?CLHMiREqld;ky`iI+bx0qJfP~S z{M7+afcqjC1?jldJMa*Jc?ganOmgGIG4Q#9n^#<_b@P>0WLphH8VOd6AJ@u}qYGeE zRB(=fmLHGFx?3Mj$*aMIu8OPAyeoHK8baMBUB4-)^V!#48*{z{SC$#`2v2%|!E>^` zUqiWDcKMG44oc)T#W#CR6x$}qv`Ph+i@y|6qw2@M7_J8e^A-0gR(B)@uU+8iec-XPff+fDNfXXgqoyFFS>I-#P=*Lu&=?5thGE6(K==7^aTr9Yqt&Do0A^S(ouzOi3WRK{ZM29X#

34_GA0ElN%5H+o`jjPmBA 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

t@)Xe+K*cQ7hREuYU?#o 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ð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 z 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

>bcy5yTO<}wP?(ZvxT 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 z z2^_Wfbt5>S3Ae&BaGlm6`{hdZSf(N_8Fmim#9%o4CGVIx{nW9U%5dTdz(Ega>H|@^ z3HK*yMUn@Zr%?#YvXqZ`H}J?1=A@~Q)0y@XYdUSRu0&3M$=Fsm>N*}Q=sr%E-W7w_iJs06y8`e4 z1&I^iN2PHzEmgCn9HYAL$)w}5Ny^&8QmwToZYVb`8XAk_Ix-didh-3`#S5Agc!Wp+ zOnff8!ll)6a`+^E=)37KRrfZdTzjKGrY|2Qs+-eF4O;jdBotjNlihDuI3@g~}EmfkIl?o#{x(G}}u+L_F=MR;&pwZHy&;+`Ir$d0dKD!moP_oU3N zVEtcyCpB!V>-Xh~Npiq@Eu#h9SYDaJFEe1o?0uy7y z5q#A^_;!dZL@t9+sd^%!f`N+hcgR0lA>sTRYaE=tzmzDr4)DbjQFLZ9O=}QwQl-(h zTwFi;TXP2*{KjeP_NwwbLg(C9g0hO$&5FvLfHcO+>Hqpi7)N*5f##S03x8v{>JK@l z{-PlE6Nc~5a}Z1Y1pgBJ?Ux@<==1U_``@Hh9Bkh&`N&a1&$r|+HP8t^bhcH)epBbp zMSCmDaV=0dO5HDGXPQ-}i?!a3_@e5*PzV_eCnbdRvvb{) z7c)S?gSRAVqN!GSFKp`vY5}qUfMTFgP+M8$7O#UUgxav6!S>px?DZ}IK+iW+rWQ_C zlEf8N$r=lN)&FLQ)^)yk`0!N_d{?D=T@*(5~*feRH6Bw|&>+$GMV*H6Ue|ivTs3y{cQ2 z`b$K*KMY8ks~!}j4+8+A14PH2%gfa)K%cWidg_MLoC;EADuGm1uiYy!HFD)vCPDll zEoB{~8JYWpxiuCYd^CYw_g0B$do*+wp*9q0Vx5xH-b^UB`eZ6>Z7P(Ydoma9)Lf|0 zFqX-%k&CLZMZjhsQG~=jP8sjY4Y4(zD40Lqts(Zy5Bh9a@I%@$naQM|PlWa?^V<;E zCLRXnplb`0|18e`8F10XZMgb(EG&WSm-Lb&N3y|1>P3@9Fiqk#o@K-i{pdJPPr~3f zfmNSy>wyVg=Mz^9_IEiLF81*APoLAtix=NMhu@c9%w_nKyJ|lAF7Vf=4{hDdUAjlN zW7OESA-Tt<>G@b@+D!l}cHK(s(SfBca0?i|h`AxCS)9Q>6s}HS<4JniM6eGPvoj-L zdN?~OKfxA$Z7QQm}07h%(9Ls{j-P83t>6uMTpVyY+Dbj(yl>VdBVf^-vyJsKobu;9N! zm5|YyGQykWdDKPO{Rf&1oXgDb6VqM8rHS#aW!05Yrj_8rf#V5VVdK%kyY1EZ&d=`S zqm?#+|CU}k|_%q#lAxtwvElSEb=(Xomp+VB|?DiAKqR`HBW^&dH296h5B z(u7RFR~Ap>Qi=zF62^Z97YLpOd@lxQ}SPqRPxI z=wP2X*qOL@umB=BMt94!NY54>?5lV4W)4GTg^`P4@;GV0vhxHNyh)`-WK!7=6=6(o7(;Oz9rR(SO}@@ZYW*{I`7u z&%H8;@cOO?(UDV`=Q;@Ct_y>^Icowfr>+MYte^>KJ?E>3qnPiv&cG82;aN=x2lbBI zy&XG$yt#QVsw}?0y1qe);dae1>AG>QZ3a52oRHUWY_G4*-XF77?%uzZiE07@tj>#- z`c9Ff*CZ`Bu(53x$1!;sHn1)x8@_?kuMaKQmifzfQ+zeQCVO&04UD)xjUWrf&%SY z2!XS~zOve!?0-OkUC=v=C-q zMNjZiWX+^XXnX*?>fdueAB0o=9S5QlJA%i%Od4At2+4Wj77KA&GS-%C{tJWG?>Dad z)br%4o4?naNs^IG67BFizWrfzcNuM}V1Y954)oox!+v^Lau^x**n? z(H><-vG56!I}V-ZK>rad6G6s}a|&Tub)(#aOx?BMy-8LdsD#dc{nv|i6~aJR|KxjA zChWid>)T(}Re&sBeHVK^y>5#kSPgpuaYfc)wiu44!|&$c^v4tRa4n=^k@)h)7bEJ# zwV{NgtVNW@7;*tP`3KSnw3jj zJqBSs>9~IN+lw@4fZmu9@=bg0nw-WVBpUX5CFPBm$=$T?v9q}!UNUz9slMUCq6QNu z#2Dv-;&nw3ldWpfI%rt!<0)>qZQQT|-BalBE<=Y4G<1m`-s1q%Y2x08UvFgT5V4UZ zF1-Vx<#5^^$^3}p%i$f4 z+)k%+fX(h(B5eZM*>c%JA*{&P;&Tv>{Lm}4ws^*`%#r{kPq@7F@?_G@58q$J3pcPf z!|o1Jg19i{@EUusj7D6PO_*YKz#(V1<29|-7kMt_R;}4H_l4@3?zeNGzV)W#!L!Pb z-=gHPVz$%?C2MK$umzJl@HcER}0hx@YujBq7RKRqA_0_ZM5 z7`P@sn!TV_VTkW8&dCZ7PsB+3zxVF-7pBT3TI$5;yuzw*h0zHK0W+I`))sL1Dm~3^ zfnoW+(D#MZ!s;k)!5hRLvn6P98Eos4(0?eIs)U0+5z&C4(|I{2hrL0u;&>V_mT*Eb zi}WvV-^lKLV_G3)$Zan(oGv0)`G~4m3tRltUlt+xR>g$CN@TlON<9UJ#Ft*D8sVdb z^OObsyk(_D;S@0Ka}%rshOL5vDCCYSo`0KjgajUrTR)o4Q2=kzez>)fE`KVd*xo#s zKb272tzj^JV{tfvr&V8+; ztW@VYK_9KCrZ|F9E>&@6T87ly+Sni%pQ%OZ>?NQ|sMw8byq#R8g@|DrKKF-Ba&nL~EaUNb7qXF`1tYJmDQ*HCC+U>vN+Ao51*cOr$ zlI@Mm(qVE=MF)9h3XVJIb{o>{a8Rn8I2`+^LL*%d4*T-d8bDMjc6Cg8nNd<@N0Eb# z3Xe4zu$Po4yB1*9DX|X{UQc47gv8zpeUgq}#&PJo*68@)!`rypJX%nb5Ra@i$9j_d zu_J#1W=@W(PW0;0Lg|vbNpevtnr3%y<81Ee^B1d8Q~uuhae6v)!_@!rWO}N99it1m z=8G}TK`U!)L$e)2B?h4=h(NgyNYfX!`^{k}P)Uv?%^Twp)Bx2a2#1LzEfm)4&@-;O z@l<1Ez&o?MvLWt0!z&`ir^2aTbhW@Z&m{0XGHq!`!yL6oj|)TcGS^g8PH={4Ze0c8 zKyoPIy}0sg0NM*Ov^>XZ6mw+;|N|ee1n!4{}3^ z^O&#oE9WDo9i?$h*Ase%u`sP@H9djr3?vKylQ^P2L->%T%sC;|1kIafWJB10}N z4rW@%EsS7%3`*s0444QNmU6_zAX?{M7;J%q9?;YWswx!fpMv5yGqa#u6Ky*R=oC+GLTW&{_at^zo+=&1N^NI|3lNhPtZZ0 z1%3|`JdKt*htqfo<2>hrDW64gSc+C!s#&;s5NaR%2Bt;Xw(FDoUbC!J!(=DNLD$4HL7ZUb`4nx;i*HZH$hrsZ;3OU@Kj5*2FF> zYZr2SrK4vNs{sZ(FbrrDO|teQF8#5iOb0mMNVw}Jylod}weg;38Q|zPx6Z|Vi@O#b zqg|o&YT=)pW|5}B9eE8YJ`v4|tr5q$9CC3ONrhD^5*eRIbrlmqBs6^`<>l=C2J?s!Hz z7B-==F`M=W3JAx`IFDLI>~(|6RLrywV5z0)k3lwXl^Ur9pQ|`-SBnr%Su)`qM*`*BUgs+(+S*!seT8NtQKs5k%jnoeF9tVztusk?0?3C47}y<$K5jjyX%(c^!3nN z{%+hYzxm_qo_7xQh~T}GUeyls#56QpP}6Wfp75L9Z=9lu;(Jj&(bmB0-#W5Cqb$5Q zLUKuUeUt0hUA}l>xy+wapPEWKFD5UX_uF6RckS2t-Imw+$1GdEk5gNwjw_`eoYdZP z`%C?Ub;yxg=^tKgd!c_yllSMQWEx1DAGWfAsVbwqV}hFo=2m9p9_W76}lvd~R|%BONSJ1lpjp~0>WHF?YU72~+jvB1iaDN9@w<{@8% zKht@9k6{ZyVk2*$c=F;z{xNaW#h2mg_%vPz!cFm?OSlTSqz^CxcAx~lZMLgcN0Jl7 z-6dNzBhbvVbxL|=AyPn5YkBE%zOQ0zH7A0abf^-wHnS-K_~i7M#Oe_YA(g#t%kojV zHV5tDVYSQc`(1i%nx5M@Ui$l8D)9O_u~ow=`lrs$e*W;Lv*L~VomkZ11uH81eM?eF zpK2<)I;zzQo;X(#Uq>EubX3Y7222nd>C&AJ0+L7$_J9G>(m+vxhqO{?ZE)EajUo#< z;tGI042X!b$1ktm+V;TV7C`sDs%ngYf$yC|Y|wa23q3~p{y7C*{CxBJUw{M8;4+M+ zekC7#)B057Vqm)>R&7;+Y>ikE#mp|rqYCYSMhC&o432dRH#rVeUFq~P7} zzW?Xn))-s&3WfOI8(Q)BSfsL1z(~kUk!CB9qgQy?H(J@MAo|||>;Yy%E9ST(YZ;fy@)TP&+#XfQgKD0?e^I)g-Kdi(PZ9{OmkJ{4T|0`OeZ}OTMN7H z!6_?U+-^m)_x6t{wuaQvAeq-Zc2)Zo;Oq&dqB(@n8z^bavxxwnR#LGC&c3by`YEY> z6tE6Z?O+>LHmbQ;JpDNdyRs%4iI@NLhc`(0XwWy5{Tw1(sN zIhlV(aW1W^IZfXTSs<|jXUc86&Jy2UV8}@DRp4IAAN{{_H zoBfWg7#1J+N=5IVM`7t|umk@svOdnPz{5ad)=Z8g$`6->G3A)W_h6AASpzM>u6(R! z?5Ek`bJA@1Dl3U{QRKov3<-KKD`@|!-TUr@g)=TiWp8L((_+>6HpaHle8IiNq~ z%SUYI-*Z2=1?QR0;l(nYzvBR7@Y2TBn!bz6DEt1qqcxw3$TEI*_1RBmVSIl!?OOe+ z-s4eOWOt{A0PLG!5x{vBV>%)J(?-OJjUDpUET1{F)U6ULC}N9h0VLa@M)HpSOCPhI;`85_!7g;!u=8~@`W&rPVr2zWfTS# zdH)LQCB)*H_B^~jxfCo#?F4Bi+Yt&me$lP0A|1}RVs*u_<8?7V@^~Abb9np$gcvvC zcJ3=`%kq2^3U3k1)sm#Lg^{rCi;f=DXw{>vbq0&ivd`c1 zVEQS9QvQW(NZ*p z;Mt6$<17h2gK+P-3p{RwvtZ#1!6XoUXAYmMD(4uYp<})@yh!hhaSkAceA!s~b7OGl zOMmL3mB+BG$qE4=8~_ku_mq>oz=qpXKXQ{GJ`zqq>CSb{QBy49Fh{6@s3JmmL3||y z62}Td2|3=ZPF)k{PiP8%ziHeEdTdi_Iv3GlQLg5jCeDM zN}<8!pMUk&^NX{av%i)e%kAh(E`19BnM@|mD$WzN`#U&+aH8>t^1{R`r9uAox6^hV z+rG*WZJnN42WbPn-+~k^Lx5$-woSzLH3-cVC|otixJJBmr3aClf!c<}GCsSZR*;fc z!Y>ny$Bd{pp!QK7Rs!hY{Y2MZ?#7k5y=d7r*Y>D^vzzu_s?JlB)VP(n+JV4B&pXyO zseH>afhXNGlnKL+dK5@$ji1Mck-dfL(Oy|(9|&eDgOD^VjHgx2Pg&3myIDuG@ESv< zFj>j3I>jKYHBFf`MVkFJV6$`Nm4Z-Vl@OvnD+IT`R3bQZ!{u7AC4bRMB#i&hiZ!-G z>K2yNPzitGc6jwICi@06t%2taXfQYNb?E!cmwtBd`w>CdI#s9wU#Su;f-nqHA7mbn z3=k7^FQ)xa)ZQ6_6oHBu5q(& zV5M!#kcDPOxCz1!4REjXFjQQTOb|mrapufmTx~X*1*IQ`xQe<9VeiSLgBM@< z<-`>~TXS}{tx*jfEq4uA_i{25I5UczgYC*NC?O^2l9Y3ZO$(#d^CMvsVSgKaDnqP3 z>QdfAiJw~o^Fg~LA+$gaPcjKDgSOy!+Z5axa(C?m1+VAWt7OY{v6flKZ?-yR5Oa4{^FTxFgp6Dy*y zvY0VKk1?qY9Va?mrsAIPhkyn>mmX5t1r)8&d|{=6OQFTGW<|q0SIh8?ml}c5oYoW; zFPjK#%TzL8x27}CD|&{ihCl{?=G#JqpDVrcc2)I)bXO*u%gTpZVfY4reN!o#YVTmv zh|{)rG1h!YDFoT~N}G=zKT7jN)bKFjIptn@rb;eCXBwc?zxMP-@)@t86+(k)23=}c zKQ4@?pYW1wmXrlTuF;{6Nof@sxFzKb5S(jk#3TPz6jE(o7l2*@ir%uih)R_%d8@j#@ohAJT11F68Nr@gZvz-kV`$@a!b)Ac@~p4 z(>9Nqq!&Jw9|?5gfK=qZvJp;(gz=`7e>4q*N2ut$Rz(D|)I2wu)mC*fa#<721y z6dMH53c0TrRcqr`*p_^%b)1V__5iUiU#IK61i&ZvyS4kh3^|*!W?g*mosVos%V2S; z{V!OgJVkz6G!aeVHjY8pp_1i6s=ZD{K`20}j7-I~vZ@DcOr@Y6Lfel}sAv6OVI}h} znA*2^imwHk^n7q{_J9@IIuX-jA)nm^fYd{GKx@nEIJpOsKt@n7!By18E_oHe;6SGu4)Gj*n znbBE?lQB{~8VJvP>PKFxQV4`sSn`|Jk}9vJr4Fk$*-wYczTSO*=y(?bxE6jRG_X5!q*H3uHt{oJ@NCsLDm!I`eUv#0?CvZ ziJ-cKvy_?fqah=v8<77}+e0_wUwzm#DGM^4b*}>_8vyg#KutH$2sDyzphrDFcib6= z8e*7;R^%r|Ff!EGHhL>40_f75E12oEKsbt0xD<*q4;+{y(@`hXI_dZYwb~9+EL26$ zJ?VgXh-kVF1JurXAZmT@Ui7h~Jcl}!J5fc2o^q&rXo2e6SC zc($UE9qe)7gu)<7kQWk%g}#bU)MsE$-v4aa7DrOlhc5URI5Ugz?Eay3ZXN#RUy%= zqu5tJ9YhzYK~gV0M4*AmO8jF;slNu4H*!jQQHdo~Sstk%h7|K-+&jLNglnJY+XC;c z+gi*PH|vh-MFB19VV%ep>#o`-MzK+uU6P(XI$vJk-bHbm1=H4n+h?*BBUzYbPruYO zpbZ$RT>~VIX?G4qElS833_4W310RgzsRlq>F1Jl3mO-XA?GK%}$u>l}CeHX8_HgS? zKm7qNh-E9;N7cfbi6M^T=-5w^*t)THTmOl%)=>fgZ}b+EQx3(%6QZzg5;f+P_{nEK zc~Oq>!z-EfvY8u%=}|GlU0i(j-K2G&PjQ_;*f2x`hfgtxwlRn%*v1M#Y~r>xOk(?9 z!#Ym24Ub{t<~O?ww=CuMgb+O+%2_y+gxnr0`-z9WRyXQ^$x`-B{2I-ISJ8Do#dNLV zEwwB)OQy<3NXf;?)JduQJo_vU+hrM4ERk}j!#5;a2g|WS<|?L^G`~HTIv%IN;HAiv zyI?5#UMCV9EDKT8(u5ZXnlgnn&5l1s@qKixp_+G66|5+imp{bZN+IS@r;V}(b2+n# zC2T?eob*WfFPYknIVaia4WnQUahso{z_>UQQd{jiW3_dayF0{XH}b3?%*a&u0i-2c zT9n_Ah(#Ka1$U&59`Z}mH*8g$y!*-2w>Yr;VvM~7nWVZE$zDV#X!o@36N~1}uf{>^2wv zmb70q%v2&idu14nDMYqB9|PL3&gcI0QyJ`1bHk_H)mgJLRg603w}6m^w8#`Tu^`ou zQrD%V8%`R1-^0fiQQg;$;yis@4)s=IuJm9oMQOuy=|-JNwKJ*J?r-~2Nj;diB9yFw zz@BBJ^#>9?uZkOZRYd!rkhTs}j}SNe4BOfSCrl-{1}^qB0=_bc;PZ{WBx>)0AcA`z zv}BtJds{YNqLkg{Pt8ND@N(M>v(+i^uS{{~1}xSZ4cU?X6r^;!pkHGg`*Unc8_}1{8t5=Pp)Why5m)io(7t63V!}?;s#hvbD#>32Us= z9Xwzim(!7Qg39qIC`Rl~QVyC4t;?U-VW~=|Ph_=MWc7i3#b>P>YyUVsy#S>UFFoo% zT=*--02Fz&$Lu=3mN?Rnd_a13Ag^BMO?oVCT^!00=x_V_#ISY#(LArkI7rYaK>&a6 z%MeVQS75dcpbcp7D1z_Ja2->y6Uo8-X{`ZwLoCa^ zl6S%prcM{IEMKEmR*a!RE6&3>Y?xe@%b-O@{stS>Fu55W0({zeqE%b%2A4GYR%5L= zv1t2-1-^U?Iix1%^yVD~cHz4sCS)WRwz2a8+}QO(Slukn0)41}(;T5gy_?f`0W5p9 z^o!yIl)=QjMz($SlOv1^#J<+%EY-r?M^3qb6^?Rt{r;Vwm4C62sOY(EDQ4Ymj~z0A zlLeoAvc*pX%K@w-=7BeSbd%`l6=tH~0$;lsTuMsnHnMQdS>h;MImp+w4&+INv7oaU zTfS$im;=3q5kL1ZF~EQ{0Lp|(%bt5mOv|$+ejQE29P?*9KXU_2+s_hr>N|&2;WKrx zZ}v~lg@2phJ?94Js5vjg{EnL#dI6mdJk5aQ(oS@Y3p_iA0?!R7dromq(|G{X7lWJQ z&hm(I2|*~xR_(i*KdyL)x^wsx6JZ+@Q476o$3-+>RonMMthqL~;)>V=i=A7!_Z~p| z<**qDT=aaeO9(az)@$%}!G*W`g^?oQ)|p*g-* z7MMa!L|tGQ^nj*55P3bgKM?S_Wh^mF;lE;mlfzCho2g7xF`Ui?mKLNs!=kxjALTtQ zRaYoyq7PhNVIzr&tL|JK?sW18KZ4h%6UO~o8vMnU1YZd?KBWYV67xV1%mRZWkie`l zgc8Up{|tXoIZIXyL*o%8ZH^N|ut!!ZI?IbnX`qq<^RFZi9F;B&b2v106|9IPa*h03 z@}&kUI;)N-dl>@Gk9k=f-9D5(=mVUy7*9j{8WY!4v^&)6ZXnE^goXrdJ@t|PMz7p$ zZedSKPxt}l(4wODVv>C!n-2ctJNkz?!E_#{=v9+&BdZu%r^N7RRtu`M^_6M#CYqmg zd0Sn+1h;K#@pTMl`}%t=o7;+F+Pwe0D^bxKNc8-n6scH)n8%2Uoq%&IwH1mg3VMl! z8tJn5l`8hi>z1$IJ*{B*!C(4r*D!PbIOT%G8qDT;Nzft)gJR7`lhWiy25`N#lGD`Y zr8LE|T0-lA{eLg^{q+e{C5$|YRMsL@8FE_}s%p8y4#cW@?zA1jY7Go5Qbu>ydSd{X z(eu5^4P|aBf&j^EOb@t>{h(sTI;=l>Jntv2n!FVaxcZ>a-_5&Il3BP^8Ev9`+jsU9 zsKt+$%-H~+F@L;+@FwygxSscD~FSr1-LAorb=@M8bUGaGxOfD7(iT z1~E>GfntS!f(inEjjDiw*C$QDUK20@w|zyRhK1}x52)j0TT%lWA<$9_*rll07ku=5 z&olzqlObfnzZ+%D`p+-?&|SUNn!M>ldHAEz0&ZA6qnWI}Dnk02h@n~3tRsdG+NS!d zF^Lf8C_W;c$9d>cU;_&&oGDS4l%(}XC)p)W`e;17%kje3*1)j_yWL=lVjzkF_im6W zVJ|79WrId`531MgL3Itv;1%`Hu?^HfTfZAR#fKs|286C@7^67mU^t({lVK`!h)Edf zicc5(zV!>7bVN>bnPY<4wL9BdV3UY&GubV8MW)O-yy>!KN(56u41{cZs3<6;y9~H{*^F3RhN!vq(Rb=tPGInga=s+vGBaZDH!7=SY*fi@yd>cgVgYhl`tc81<8>!43ip$gR z(MfQM;{@jbc_E#TSTeY@n}-mWR|3T=v^vF}r>v$yst=_;J7W73f?U0N7t0t}G0|5a zzGsrdlZnaN#8d*@)=f-xTxka;rdsB>9TQVC1okh6uQ!vD;pR3;b612~chT`YG` zr03f>o7?5Ie0B0|fvYFc)>gFDV76_kw#*5(FVI$a(N<*H`hD-67~2at^!%Ynunh=# zY$(_|7{?M>8_ba?4K!z;?2FyD3zTZet_e^(tV%F?S%UHF5?B=`Xe6b*C{55nU)%ND zJyoU{8~sgJMkQ9*5^?zI|7-6GcH4$w=&uC3tOd3VJ#2?zD3G=2FksoK{Q$>y5}}S2 zSWesQ>nDcETL%ikEz+(Iw7fj7j1W zOAd-Perh}(azpXyV#mt^p+`9ftLWPn=Bi|?@=`LYHqIKmZjY*r{LvMFZJLHN)NGSa zXK4ztcm9i~Nr4SnFi`K?7EIMlF5uUcWJO6;&}SfHmDJf{Pkr8X?fdC({y3zaeufEr z7-E>yHap`oG4H{|jhvWVCHPQ#O`4Lv2%kt*m7uNNa7Ey7O@16cgos$$*bNk(ZIb7p ztdj(O#UvW>-3k;4ZBp=@4tQd)E*j>@gea1XsSE;YEYSpNHyM?ryJos-2u=M9s5!h}OG?o6&jjDW1*4o7$aJ z?KBjIR=O+fM-Z%UHwj#P9RyCk<8GT_Sg7%fU%-;&98T4?*r_qSpPXHMo_?`%jQhA; zL5k?|CGne!b*Lg%$>U^Krqss=xk0$em;pNng(2=Z`eSVf(x^CqKml$_8f_bIEli97 zSmOLCgqh)em|&9{Pk77zJ-R#`#R04V*GXI~KO1j${#CkHu-GxK73yH)iTqC*=sGCJ z=-+8vEgu(e>h}uWtYEFX&X-uySLqw{2r@SGp|xosKVw9)RDc(AtgI$nKhVtZ&?TbYe4LWkO&D5!eu#vuZ)6Lf@x{ zo=Dpt&jy|Ph=XiLl5eK^q^8=Ih%;y+4BCWWIvs-Xli8u{M6mlI@TAf}1*_@2Uv<{Q zM8tLSpaizr!k3!0bm=^x&1Fza!2MbNROeMG?b%)@36coi3v$RSgjc5*1yZuD_yc4a zZ1M!!e=T>AjVi#5$wk4YTSO}pTwP9?_|yP{KzzTQ+wvz+LS<811iJ_}nDcHP9?ANp ztqweKs%%xa$0J1bZ?+qKvJf70RMchD== zY^ip$`}|Q_w%Q`SMJ&|c-}|U*7ND+@Qs62ml2!~}%6gXiUaNCV60&VvXSI4yucsBA z!?fyhJb~TH+=n1huV3k4qA!(x$j|iikZJI$PCiADWU6vzY}{6hb(?AOd0#P(VDu3lUFH5HP5C!U~Fj$0uH&$M?bJ|9Psr_Y;iw~cB40Z-z8M4y}Ry5v7R;U75f z%nQ$>@AL212&>`ghqK$|ks#$J|b^zJZ?ln%e_-znqHY-)V6-Ts@Qd}33!6n&S;SDAjA>XN|2gv%<; zQf7@EyN{pM@l_O`9dngg@bd^dF^<_xUS;`HbOJLcpW<40$m6AQoLn4 zUS|}qb8>vkb-b=9Ue|8uT_6!BFUM=etLOIyonLp9A3N&dN9*uuQTViR^z`6smO6vEZL>zgkhQJae0=O-e0&No3!uGL!bb&V`qU~MXUy)WZ*>)+mC)f*ort&$$V>Eu z;c*$>ZW>lphQ8sqk*_aXTvLO?E-cg$;-b8RJZg9Y{R;i301TYRfhVAUNzSlAKavss zNI>-CqTB7Gl9C8Toz=P-`+o0;5m6XXsDOwGBC)EHDoW$b0Jn)Rwf zggNJ^8e%zS4M`k_Qwlu{7_*l~1Z3^f(aNlT#xjVk&srK9QxSc;DUY)$57IJTNENfu z^ogZqvogPsQ^Nxkr7z!_f?#IFYX%GHcQor%Y}a2z&ZpIu#i-RmRCu^Ip|E}8VA<|3 zsNuchbpAS&j0>Eaf_j@`Oz$_ckil-^`+){`ubvtv4B6o&oNgcfWx!B_sEu}H?eJ>K z%BL}cZTtJ0hFwu(U86<`@~1mhQbZkuGX?yQ8QdFt)uoiYDPz{Cjb}4fZC`vc!~4c^ z374wwhr(p+V1LNva>S{wfRnndZ1^I|$U$7t%@ zzH2_d+t~MOMzikkxK59wmVY6O)CKe#90e@k3*`GmgU141bves-q54J?>jDvGPDJ9e zA`+syINE~iXyCGk5wYThIho+i z&`IKP293=U zaZhGw#TiEVwX`(mmqUJQS^uiqI*8twy&mN~3Hhv5V^ayKqW905FZex1XZA{nw z^^6F>j(b`R{~U_ilH!j~tjJc{33!$O&x(MhLh1g=;ua@~TNq1~idxsv&<7RZnYV$y zta>Ltw*NMecbeif!CTNg87DhWEv>DBdl%D>Rk)b?Cd=Q5_)m~}?d=tBpZ4~NcdqvGx74mo z%YP3tfwNtlq4M7eJ}e_KtTYomI28&+2b#%1N}dcXkw0B`YH0UD%eaMnI~zudg^oXiWHXpfKW(|zTzD6? z7f$BCHEv~2_zXd{+YHW{0JG(*DqYGSBEfaS=jwq?)CL2XmR_bfNqfX2|!oXM9aUtYQ*|6PQu&GzhyUubhQqNY}d5qWluz@a2f zI!P6!o?B>hb@b*|m!rE7JVbUWao6`P*jDTlhK~`A!(#>p@`*s^rj}G2eckEvKsWnO{8?t$eQthwc`Qn#sk)m2b|OhSk}(jkgDVc7I}4h z+u*++;?Sz0$p*SiF)V8I&~LWU2VG5Nmt@m*GAT86#pX8BGu=CE{}M^UX$Bh7%++Z+ z#-}M-+vYSRM%sNE(k{?xJ9nG5BfYIJfg~!!xYBB9LuuQY`3W|yX<*Z3noVmaVbhuh zHZ}6;GR>zouY*sQX+Ev_Kk(@?&8Ic5mrrXN_;i`()0#>6w6>8?Ya94b)`LzD^@@ahopRUk+T0aS&PHN=SNez73rulTzBz!t)4}99D z`E=6j;L|qEr<48XKe9E#ehy@+%s&h&P`gSb*P&e%r@~W@RYE^pGpn?=S;^MQ^FmP9njUZ|mh!-3f z`8(Fqtc78V9r>QT=m)-(dpF%}QaR$SSTD64h`yk?%>hx=%u`22S%5 zo(TzrQgWm|rkH#}cmw&!MVyJyrqLY6h?b1_GJ0OFjKBO1Q!&izl(B=p9(dE1CgwPL zY%A%rc7MjF$}G3pqa(Vog?#x4DUiE5E<}^KGE6(qj@qmwNG5iU%O20-!nwuOdDmWi zFV$IPLJc~UqYR)OA>OOchfU*}55)7~rj(w$56IZjqshvnBr>_tSu}V%LeUiAGe&YH zhGBN~Cj{K=lN)18zj}sPZ2;m(J=v4j>7|<2o%K$$xc)d~?`=NdEdkpcXkT-XNi#Q+t>IiMF_HzFS*8e_^VR?m4#%4@p1*gx0hT@)3M z9gCI!GYa4tQfY~J%-}E^v()fQREE+FGkDCF<%91_D~~Wfr!g*$FtTGr`OjiZZinAS za`DN$u4>4FARvVPagF{bN%UReFE#jA<8sw&&wtdp4o0~~4*&NCudSwyFOq&}XI_6_ z>iW-2aBXi^FxB%w%O?E%6>$G$FyMS%#<=R7!lG`wusxueMs}x@G8E?U*+EAYYkMKJ z{})7l7pAei=x9|er?{G0QK89hb7{U-?)6+RvmMjOU^8YacBZ(xscfNnc;sx$cp1;7 z7XCBGU7T?!$K{t}nX0hpAZAkd2P%FS3tC&&%NEQXUbg6Nqpmqct`3SHxjUW6#k1_T zba^kqu+20!iqdY&c{yOn#TarOQL3Cy<)!`4Q<=PUHA`)8vl4#zhggPPTS5h-922Ep zv_>@o)^J9(eHxk5W|w`M9dB=QcyZP8>|_$p35GH6@@(P~Y0;)j7EYK6|yZn%PCtQtpv}3=`C5 zxfy%4XG!DV0g=fh3HebZY%W!&psrM+EQ)KW?mJx)DlfgJxJGk4y?uw5Mv#{-Ecms; zO1IVS1}mvv!O5T|g@Jy<+G7!YM%JpdSeu|&Dvl-ENtt%P*;P(;2O~zbA2MIZFYYn^ zMZD@}VM=Z^=CkK?7svVhXYnr)t-@_3Tx6qkv=(l7%79j$lc!^(r{#>h717Fd$4@WipUXsUWBg^3%Yt9 z3zF`_I+a&_FZ4ipE-4yB2rlJO4Zb87WngXH(^NDCODJ|_W|DR;V77rwZ0@nQo#QXP3@d39in}+8+Z%oh zl3y?LHWE`M`xMdx)T<+xz~S@^1ec*nFD^RLom0P+J#!lk@>A7cp^<6uRt9g4!HLW( zM<cN?uE8EwXHqjfgqn%Qlmwa-zqKn7iSOIJ2MV%vw3K{_onQMttp) z;RCRms@GOHcLKh)7$52TsnUV@g_P_O>F%vdy0>Zgr2QGXmpdrx)DF_U+`$pxU=27V z0vr;}n~uumUZ?K!u$9Ao-aOss37}i~-3*x4&n)5nY-7;hJoN%Q@b%$mBCS|xh>I_PZ#99zsjGnb;8 zJGV^|?E{h0N3>no8QOWxB+)*IXxHdyKjUb}PZI4zh<3b=_BoDr?Ih7YjA+;DXj?hj z);L-*j`oqL>!E0)Z#8#bI!T=C5$94J=OAxw)Q&KR>BZP-JLW{0dd&qNrJqc_inRZlasK1S`L7-4-#X5J={WyI zjeZ*2-3XbwNl)2Y9h$D)j3HC-G5qoZ6GvJ6TPG^R+vq!!b-{EV9>%R1hN$hb3COml zFjy$h2@fDXm%^3&dldh!;@>y%?^^yv6BK-tw!;CRB-p+f%q^X($Hr#ujo@|B@8|wt zAFVZyj&$PDT1g%g0glmtRS{s7Ocv0_=Mt&2xJ(0FCTftF+;pr7ZlO>379x_zlflR9 zbGXyBu2nwzeskdXy3&2C%}UqgfgY6Z^|n^J@$e6t_jX%r-T|$7@3v#jt4D@XF7DfA z$29UVY9JSWo}x$bm~M$~mo`UnRG}n6rpzY$2~flwqLPvg-eRdFo(`HcYNuJBKiVYw zv*SGbbKx%%SuO|Tm0yC^FLNcVVCGGQu@6^E$$m2D_&X@$ic89He}J5xd4urmE1pvZ zT*tpPim{&nYXfPgXIUMMYEAi{Kr>x{Y#e_Gs@5f4O75kR+v(|De3;WqlUZZIijkwR z2KvFKOiy88n#zcfIK}F1F&6&-`kh+}yBuSqv+X)GjQWT?Tsaw3Y+3H54CX-Z_Ut!! zhDH+=y=OV;ou0g87rvE{Br_|P?4JD*LDR#+-xxtn*FmeIpkm1+tOqw_lyd}6R!4r* zL_9Ne&{1_f1(72fEn%O7=$|=w$awnqPtw0~BHA8LhrQiN&^LE**?9Wq0#U1uym0~} z!tM&zW=ylP^EJ*ayt0|lN2Kgd)`U1hh?578qf#c zv@7@LWq9hRuZF9~?`f(YL{Tr4=bfBjt3GEbUrDsYK+9lALJzf&p zEztg+_9QgRf_>$3y@QZ(+@8YCte`ny@yj&LD74w-J}>RrjNzU5X>wZ4;bW;S(C0Y% z+#Ia{dg-gqS^OhM+h?6GgD_8ZGGBO!FXx!S?O2A>Y%4FapPZ6%#P_5GnberOgzMz$ zrncRXL_+$qQwP68S|Jy{6xW&(6Cq~3reRG)L)RW?m~B5vDx-yd`v)@ill~ph9G#6s z)pPyfxNJC|6QX=N_K;5x%4)Le>Q9?J1B1KG<0q5l(IZ`=SN4d;PXY<)s_{H|o)qyg zIStlDwLBv$BkEB(V{B5{Q73pYkR-A3K@y)y!^ zgBsnZB;8RuK^TRHiFGs#&V7t+Y6dp6a>R%`DcN~>ni}OV0+2K~jRDG88VEmI+FhEv zUn|YuD9wECYu=PG?AjJy-{!8qeazmU`l9L^(bK${d!6d1DWJ9qaa8plxX%~&B@|q{ zK-`}J{6e^^pM~>X0{$G_o5lTkxQ98)y(|Z67)XQr$V2Y)6YdKV?h6y{cO~4L6Yk;I zT|1AQCYGRE+|2f@vi;MDN?vltzQi9&Cy!LIikLTQKnc@o}S`;LDRs>Rw=5>O2w=miLQcu z$_{8mOQXmyq8WPOajvn^6!R~KDz_9~UkA9bJ@*f?u*T*1XP_2`!I$7m7z&r$Gr^Z3 zA%|1L$-9mfgkX`_`943I%~Z&fw2eN==&gy3`H_l;@ZmQouV~Gj=SLWRqMsYN2+Z|J ziZ-CVe}!UP3=qTp3`=1^v(;?A+~fuiuo(Dfrm%Iv+5cfQ>sH7k+3P*jve9`+WaFMT zXhLaJAiGOp0UbV1q^RI)QL$CnnxV1dgP1hhl{eeL*TJqs!dV$TC9&JvgKt2sgy&}( zQjRXmIpMc5(TZo@ElA)Fm)AT;yF)vxag@S$XB*PiZR_?ix{njvy6%N3V{d}=^Ll5@ z{v3_`>+C0Pypu}rNaQNZPm}#rBoSbl*a{@O#9cT=--9 z&D)ObmNaDwD^8~Pyc^}(8Hb1ctAlTYiC8<%?i`4=B!ll5*fx@u7ygydV689*lXJuj z9)hZpz=b&uTsCRoX%cu%W8lso8x8rSr6q@>h@B4qUXT4SqvAk6&w)qhCkxyzfnT09 z@D&N1(KK1$`X&zCJZa#A68O@jft6+sJh8bUur#AR(qqzN(d6N~7*&4{+V>G8kLGlb z8rohyZM=c%e<9j06z6hLoEDbMvZEDh72BH|_5o~Z7oNqIrA};9KWfB!_JPQbKWk*$ zjY_osPo1u@h}Th;QpQ{bh2Sv=?lSUIgI#Qcg1K(yRz%1tt2H%NfHU}mp%-#Z*cfEv zoPHde{x4C(PXHkd4S0`D=9-JK2C$R$fmM5g`3E+b_L%)781qB0?ng+nSVDpy8;PSm zq^zH6z&8kdKhgM}YQXo?MtssO~a&6V37V&eKpdX2mzde>6k;V<)q}*$l0g$XCfb zVV-(9*<+58n`6Cep7_4TX~&;3iRRlz@m zVQHG<5Yf+ZHkGtxA6tY0zyE7=EH2gK$Zw!jE=RX|T_o@Rwde<{&m-h&IK{I03OydX zBI@+7&|UPl2(V29u8aUzYQR+y;3^s7MaIfEq#BHJBk$Tq@480s`h@pfoWcZ zzeNGsxd77N9w`gBp8p%0mm;o0tQWXj?RA3}!52Gtj>2d%{}TD=^E=e(?+vUsaj)>R zWKUbSS86pX%cWm<)Kvb~RCIP?cDmA@h5<=)^6zPE2>-S9@n-eEP#+)HmGFUxqaV;LM$FP$H4J3IpMc%xKJGGcu&O7=mW z>_ZXYL(#gE;`XwXVHF`l^Hxt zEHVAtxjt|X^iaKqY4%SEkE4j;Wr+O`#I_pJhS!mk(*!q)Bsd*6uHckG3Sv1f+L3)o98=?5}ejB|j%Bw`mvU7Ir+BMqTYK|3-svl`IQoOEygfaW=#!B=T%9v%`{0%wZ`2VWh zFYLbD@8fdky*-qBrT5z9-s1iLR&Hg`T-#WVGrA9WdMK|7{{2$iF%-8vNEz%xS;H}k z;@}E`vJ?E4$Q$jT5)@jsji#Fz^-vNcMNRWNLeSAMLE+)8(Tu^+v<(>U5;;$+j85Z# zHFetVr|*jB{6v3>CUjBa@Mn=Lsjix3GL=g4dCs<03wAR^_wQRlw@0A_GE+PO;4`ns z)am+bjF1}%ZcixZ-M~t*rCnQV8umZgCdQTV+kh+W+YzqxSYcHim(kW(Mw|idJweK) zj7yB(kBb{-SwEDcq6W^`(L5ISS9sykKtNrnU3DmjY=R`3ZD^8?(Z^}sF z?Q(ak&4q8XY?4P8bh>b5$VEZSgr|vcJIREoM7NDEk!_BAIGV*ifLUyoqFoFS!*RDn zIWFr#hQA>y>m1{h_tfi?`dysI_P7h2tW2hG_72?Y*U?ebo8%Y9H_1pxl#I-vF<08*RO6U4 z;VJkLWSf^$~y_V@i6~CG=BVeI+(K zYd0i@ah;H#AMgm9M|6*~6Ajw`K61E9`46Yq0^>*A$2`gdj-U&)&|nfBc4_-0and>p z=PuDUOcG5nf$W_`<22kEaVYfE zG)N~8qPUiGpvxIp((ZCd~r|M3O7m{vke-e7%S^`(qbV#tvwn+G-V2E7zN#t zp=l!uzwJ2e2WNtw6q{17YLD!n3%T-8T-=hzbas2=Xh(Q}9SDqj7zZ;$5?*!A;;-3Z z7^4))40@#p>!*RxOxE=iaAPdwa$BVVk)Wl>tPCF22TRhrYYMMvA8)ZO`eBE$>}fe? z(!e-uN+&pXjh<7VL-7t{JqD&E>JqSFX9_2~WYstJUEJWiq`{Z4 zk)}p9Dz-7Gvv7mi%Z}@FfYXh-0YzlpWo=6pK7pM zKO$P+DWzn6Cj4M~gS~C_0rYp{(jTd+W%||tt6x;pu#cttVc41-$^Gz47`?;tfSOUz z4-urM`7aE)VSa5l><2U%Q>IH_v`i9`Dn``O7j_`;L|d-=f0L?88YQ@MwI`5q2Vn;Yb#H8VUe1pLD%n6 zv26x**$!+6qs5S4j#~_g)|6o7k7|eV2hqw-3WE$4s zR5d(8-=49-oGR4dRM~P{p?Zv5|1x|rL2CG66VJnQvMxq_S;{b0v0g)(oO3Ad*n?K2 zE}Dj;hT(MY`y$rPXbfwpse)P14MQe_<&e(z0$Sw2@?xd7z>l5eZ0!<>k58=zcL&ER zW}kTk3RKeQ1P6e#-&Fpp95zuok06%I+NFrtDS3nx3_lBM?cI_GKEXc`e<`5v1GG!x zFQ8!fgJlSLkHmjZOjEa}X>>>@(6L$4zoY!)K#*j}pi7j0EP)EyQ5sylkzBkS$hLXW z9gI|4{O4#twL@f8>Z%@ydSu>jAo#H{@3VGs&7n&7D)=jBfF8_vI;x${HC#Wb#9v9m z@^05;sX_VEaDZMO8}po_(@@<)nlj#Os5Oy$xiRN7aYyvNHQxMSzOcyEE|QR`iOL%* zoEgm+O6Nu)%(6;OvrdO~COC|+_r+n+`3}f-&sZe7T51j1KYKy9M>9BxJ0;yNgM-mi z90CFAOoGhdPz0=`pYmSeiD+#JcthgDpm7gpZOD>s2S;$kBZ2gKGk625c!}))p3@zL zpta>yX7EOG^|TD8O5*Gq$cUqJuv7K<#$Y#M*p-Ux{$NJ=CZs#ODB6#bnF>tF9wL=U|l>v zhW-2rtS>n636Q7hvZl41d+w>NY`=rEsEFa1*v`tfD$%UJrkTA;w9~|Xd51A;nO<{h zF<``!Ey1x`Izp`1zd`FU!94P%h~~XP^BU0nr3j8oKFcFtj$$l9jJ1dX5W}HT${63> zOP;D?Rx@jZ9tTp!ZWZ)8^?;dhzo2+yKwFE>S7CP{_I0bUT=zAp@QBz~Dwgh1;W-U) zFKUQ;TQcr(iccNzq>oK%NkB@`*h9r<*?N}Aq?V?!xN$C;qU!dE{iYMqE~?{wA`f;L1&v<2@bSCRg4WS6q8{eN z%gs*sOv94NKV+l;#OYx<4DOLAje7?^QbWRAXIqhupd3U(LE5 zy*Mt3#R}0(`c&5VZ=fuiT223Ch_b^AS!IX(r=S~X^WTz!lG=yIt$M`RW))}_S@dxB zHP4%eu0O&@n`xFo^m&+nK9|_G=7myx!T8dnYWV$p^&VH*smOLlct8hw5U!Y6nCJBk zUuN>14fsU+Kd=>BgStN+cV{X;M;y#kD`e7h;ok@cY};@+2tg>-X%ci{XFcd=SA zgzY&Lad0|{7@UDRna%5a3?BJP)X?@pLpu`<4IqZ&qTKSx{ZWh|#5fBv0Aje`M=`2r zLy4iZPJv4z%f-%^{U%%&cn-S94fGRU-Zcp|4)Xw)@RmzkML(E+iLwgbhEg>vv-$%1 zH;YA1@1>tgJX(vo?%**o+ogB2U3$2YzrjDa)5J)ahvvcC30YsRGT?;UD1!eE#_fck zj6FHIoo)s)VOLM0A0e%0ti#&*=ezaVxmo0#^KLql;UR@We}N z(q>FEHWq@vVWXSGiYF|$a==Oo;OoPJK?o}*TYR99?;%uXcy^r7zmXGcCqSA3q%2yc z(k!ktoBIqk%>8Qk*=bnshC6r#9XnD4ui6+6ON5>E2xExwcSP8gi11210*x#+hLi&$ zsPo#$_qGXTxGm8Pj{|U13_PEK?*kCGy-Cq7WZ>-p4#zRK81+m?r^lIE&IGOmX=Kk+ z3$EjwGxF7_i7Z7Ec_*3(Kn%yd(q)dAcUc(PZ0c!kmWC#kvHTECaxNso7K!+^>_*fj z!jW{&P#X=|TOCfyS3-;v?>2Yovm`8IZ6lXclj=WpdbJ8LOHIK)kKJQbwxV`7&oDN2 zX!k5~cWU=ya(8L>Av16)RNSk`J&oOCZ5Ja8os;LbX8cXiq-S`ULme4g#)shWhjo0| z&0_9ZUZFfoicJipax=i61J~Yg&4#N?F1?4-3x794=ELQMYiGd9OiB+uN-P26mOVGd zdz4ONYdUZ*q2->GEV1oO$uS;7(@5IIz#+1{S%;%-oe{P9Yi3Mr^Y_h2w0WH6outiA zNwj%?W}?ZzIHAc$?S1+Q(VmTET%~vl?L{rR&1)-gRy({loiVH)c+kz#nKi?25LrbQ z=$u0x!p<4dR$&z@_<1wz=rK07bL^%}f0G%O>VDS_u)d$E1exNMI33c~?zIzP=LQ)}*uFg6x|m`)03M)C9-K>ljxdMoSctuU|r6#D%&JoCIj^rKVo`+0==1Y|R~5Hpgr(D+T+NKUqOp{?II zc%!r>bho_ABU}rlz8P_m3$) z+#8KQsP+i!AGy44F?>ZF8vm5uNVc=>x$3(x)k@T9Q%1Ov8M+9{J=3V%sT;S#X}wV! z^^1xdS~^+T*`q>uRZ(Zqc?yW2R%X;fde|v9T>EGE~SNh-UO(^}X zqV)0cvaLB*`b!@s275Wy`)Pyk@#Xv9$Nvr8jCfXV=)?HJ>gc6jRt|G!HYf+z!_N9< z=#O9z(X_Cv7Iibs9i;LckA~@e7>HCdqz5`!4>&a5@f^or#J;dXh$w76M&O>q!*TM$ zxQy7(9myu?NHPt=b>KAVFEE$AjyV2Is!PXtJ*I=BA_R(?mngB1?LrrLY*VbhHe86w=Wm(m`W8kq+BkdOtJMpGqk!hZ2`! zX=ZMSW+v$*Hm>4ghZm0HcJLTYElF6Ru!r_eF}8MKJDspKmZU9{WO_!JPReuX7`jp~ z>!s6NGB3+at+XiZBDH!uH)_r+D|ulBH`74>{tfg~o#ll7yqAyY&yA-)nWbsW~x%=H^cL_E}LTJRmsNqH3ve;|$+7i`yL*5$H1lpeqD;u8SF={mf^e zv#EQoXP+6Dy(jyBUPkgq*RAujAG+cMC+1Tk{TveUjVqw&KzGGF=fZVKEy zdKk&wmf4Lv%F$+W-I&M>@0%UZN7ZO+_{3}+tawk|swlqGXqIut`;5b)J?6I(qm>R}fvx!b7Ub$uLP zY=hN{?!b6NCITjqvy`ba;yy1;~O8-|IW5^K!ONqsCfX)BDv2}TQefma;X z1@$o_Y;?|!`I0l8R)hIc=_kn#uEdNTEFk7gQ*KmlSBh<$ZhLSQMUi4NKI}uB!}wlK ziIvEt9M^o#PrzB!XIoYfo(+s={BSx?(@mwPo2DaulB!QP)nw!3He>q2dYN&j$=fCy zza%+KW0^x1XK=j!v6d!PP0T;5Wy2exxk03NIyFpW^jv2vl%Q z+#X@G^LExVG7Inr#Fq40k=7+7U)O>0t$bHfmb%l~cK9+;+sc#`8*Wm^N_X>c{l<* ztO4JR0N*wA-A#*#j&qrg!wHLAwMcATsiON~m476!9tBEsdM!@-;IC(xe75=7ri55(j zRh;ExQ4WvkEFX^mj~n%~>h-dnw7asci_6wu&k(1c`H_iJqxEx>FQ(eaxFB9Qm4JmM zIh8=Im`&Mo;lJnBkKojPfc>EAcX-fX1&`ZMbiq|r>^!RiG zyG_?QE?q}+GE<}-+-=&f$F>KA)1C7sWPl1|&;;3e2f{oWK$*+!%#z+QCN<1BkRW_0LB=XH$m9NU?#J z((9XDM)^=S(JNjpk;XypRV(UxP>-~>1rp>6IfB*ji z&n(q0gf9`oP5(D$L?`-&^MF4m_?z^@eS*K$2)0Wnp0)FAsh^Q-++;qp`yzT3)4M4_ zZ$3$H@KKCkm|Xo1pp(SYJ-vAH&8JVwWByh5kcsEBJ+_PPVX!M)v%qR_#edQ4%Jed(`lgaddtGt-mN9 z2}nF;SLz!1IL1(m3%Jmy`{ErbJ}SQD$4Gf=N*?u#?AI<}z4#O`e1d5>rjQpuiGhBJ zK~mzK#<@D`ZJ6zqr`o~oDL#062mFq_OKJDNG+Jt~8_@bSWv$=;Q`GoowD z2TYxG*$o5(W!J)R@oM}u(pV2@ptdo(8omz3YM)FsB>2yYluZ;#(q2=4inD%}c*|Aw zc8j%z3t>laLJl((vxXF|s$I?Yb0D+daT!esk7ja#+AQ7pswcAfoLjq=-&m}Eis-3b z$0-rfmZIE=J-kHK);_?`hvK)eaGnGd{JT8^CZw&4RUWp2R zG>zt*xC(ZSx6q`P8gY9~$y>wbK*t(4^ z+P@4OlLdSwN!I;Ru0*Wht4VT9UJnK2=!QsN(+NLY{49H zc69WBrqAC)|56BN&V%g~pAmlqwad3DC^7ZMO%Jo>rUw|`KT6?z3j7lM6mz5bxlx4N zsNqCsBbFJ(V~xD5Tc!94Nz6~#*eHu*Rh5DYzK@yW36!-=zpxXR728OR8*AWGWgroa z2V9$Ax^)|Vz&SPyQiT#ZVa_CX;hDU)Gs0thS=lU>)F!NTw2xs%yOd!4)9ikSMZkS9LxACaR;~=t_G&0z9t) zzc$#q+^qeYGs3jg3}(`=f2PLq+bGFzb&?k%zzZ7iVgz_m173;%>{zVKf_c?B!8=Sg zJT3<3G5t@W$R)F4s~|wgamqj06k{tc+WApko}{Yq$7-xg67WKJ-o?318dP@A4ZrC(*i^bZ zymWLQg~m4ewg}bjAa;sVT&?}L(a#`I4?o8XMn6SY9PT2Fj^vi{_l9|C$J%Vh{~5-g zhMdl;Ctq>cu3fvrv*y!`k`JJGR*BCL;M7az%|`d9dB0&!H- z!@h_4^DeNX-z=6>omrj1CqZxCpHB+9bHK8@-jWrvrghjl#;0(z-p{2Y^?w4-FSO^W z*u&=ns9hNE<$Qpk`b*YH!PDrzS1EhscZRm_+KkX=(9ZzG@R8p~fx~g&?<07-zXXeh z)MbuB0!}yCHj``WSLn!|#aK|JgTuJHI?0UJX|P{-sooO+*lZwemKLzQvbjJkVag7k zLp%E~gP#}kHvv}Iz<#9){srW({n3cda-}&Be%o{y(8^KahvrA}=kLP@)Bz8EjSB9| z+TrKsC*M5fcsm@vvaP74VANIZoQ2F~c&)v|XzDZiWFM=;*y||n4vljKInUiWm)|f$ zKr?FTv}Bc?o$w5!G}Y(f`AHo`AA{2yR!dzJL{57tX+BE6XEjlUrES@3vVu0}Y60Mc?9@?YKpL4eui^d``fH%#KX9 z+#*jb>0B3IZ7=&6)=_>pAE)AY_tL)-nJNDYXoE|k@6r<8*~%XK`rz}xVb$K{f%*xl_} zT)AQg=MuK~gyT!4=$^H$yv|Xc8PQ1dzh0+7a+EVJvmdv^_I{&ij-akN2>4E|PIlJ= zh#bFz#tdr&C;W=r4jcj=d`9gYvf-M#UGFRG=LaB^6w~cM;!R?2reC7 zo73t@j|VDw3>K9DBQasSQ}WXFwoou`zRwttdpy&8U&*$~>Y}ob&DEJ39mu=ki=}br z)}_qW9?Cq!s&q@4n=(@3d?q0a@!YM=$V_Xb=gM*PToKU|#`GLqem(TOygPch1DD=y z5_-_SuOrA+(nck$5_L%P4-K9&2RwTm?G3M)F%>PD=`C^hWJT^FR+&EMheRkt`v^hBrEo;8SW6oEB ze!CieH5%}}y8GeTx#OZG$AxH*C&pt|9c|*E_0@(!>vQG*Xwdqq9<<7swbN*t8;w~z zjlJF|W7ge|ON9VoK%T$<*mJ+GPFuFs(7GZj%U|Ov7^pr1#=jCV{u@cghw)(ZF&S(= zA%o4G5@~oW8vBju!Qie4uuB7IJ|zHlbX6By(Yaf!4SfLP0|omlUVr2M=NNK8O`}8l zJAHc}a13L?QojTXmBp5hovzG_5)^a-SV7bixM>};UK;9#|66y*|A=^{jE@r?AB^{* ziBdDguQppLz7pQSXBe=4R}~mqf^!(I{$tHeb_&-oR}Qd)dwJ8n(o0(QK62J5#IhCd;>fq8 zX;tkdYw2wm&apo@fN=GnZbh#x$-Ol zJ2>2!rO&_UGms&X1(ZfqG7yVXF5aopX&{Wout&quDOH9`>(+_Z&-5BnFK^Uql_m{q zQ3;h6DPcd&3Bby%aH?aFOCd}vs^PSbim%udk_6anzK!zA=u&35EVlnklW$>{653o|hxIVlsXl`IwA5h9RD?k2 zA$@OLk8qYH3U^iTIhz$3ixf#$=oI)sN$~F!pIQK?^KNnRTBpGE(v%tbAJmJR8TnsS zoa!iLdIknnvE+6v?sbYBsm&UBg+3B9=ZOzd?fxka8xZN+efbHS0^2&kZuACjC%hbu z6T>4Z)b*=iZF`P7;(U4Wh(eiN&LtQFf4ZIimiTOOu#2g7$-k!Ol$)gA7ioFOsm!Ap zjl-vw%UM-Gnp!~v@lietZF80-lelfklg?_>eT=V?!8)R;0MbE5G@rPUZ52AzCRk(k zd;T%F-3lv@!H$$+Pf3x|xMw+(n zo~H3Z6KP8Sr!;Nd9Ze>m;rUo2O_%PTrtv{BO+=0TpHg$_B-A9{=GGluHtNRMabnz8 z;Cue=y)$`O6grr{~tQX z<|xNz-9@xSfEED+ub8sr8@w7h#^4CYW5a>tW-Hib%7U`5taw40l9}zY&l@|AHUme& z3eu%ttC~?9&o13;R%WY_DJeZaGcCQLdNDu@_y45{@&B3}Yjo>->2BdZ?Ss6voF%M{ z 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 z zGGq1fmxY!+G%r6b=ty#rdHDtK!O74xtMcc2>#|CPxExUF&Q}EV)u>ksq%+Ail3$qf zu|a<6+|kgqQY!fP?-qPitq!gU9UYCXHSptSlvgy-@@Pmko!rcz*5esM|)!3QU{ z$ZsILAhzZ*Et&|*Eur%3gQfQ;ydZxJUl!D5A+z#};DeJP*5qG=^6LvP$b7{`qULV4 zQrlmywp1fY<=2*CbMmWeCVzpE@LcBV#-e)Uh2m=#`w9CqE57_a-?IFCPE}l%rFAqT z`Nf(?$UNX=NLr><`Hh7qv9C5tMCFlGaVr0^1s|?lyU}$~!GTjH7VHS}Qxa%vAye|} zY91TqU-&V|Zzw!Teyt%W&DD4IT(s=Ntal5V##f}Dw`5H!f3OYm^UPzT{QBTmHx`7y z-XQV%l#Pa~*apvchf6&YDw@WXoio4q!sUmNPGC%)v=%idf3QUUN3F|W=q?prqZ7V; zT3OYV8y4K=U#t$Aa}k%E;>xlLD=paM@&};&xw`!irsP-a$)9hF{087dwgKTA&$_%X z!&3M7_U${PS6`sTxSGl@?yRsRe{LX+YHKQgBa|P&zwzQ%Rz`)ZzbT@X$}4V~8py9# z1=%G3Y1`$el8c#V*vjHN7W)Z*W>z+xRVB)Q`5z)b;eXBdnR4lhw($c^Rl9{38{;x` z{o$W;fBC1e=JHqiE9S;e%sWL8O(^Mt{58q{R^<<=UHP5!k(CPbqkR_}Qqu;OU4_N; zx-7ro@Z z>n-&j;o0?9nQP)@lH5r6gi4RNi&+IW$gj=(=H;(x|9Qgd+=!HdN{jOerIlAh=9g+E zccr0?PIyqUCAP?~*Lkoweo>2iBdy9mYDLx$e_0w>K|?m~^+KuSO*EJEgpaTAMER}s z-wZOp`SFWh7P2~ieD6Ce4czPB6g3gVzTAWc#cnh})(Ib9?iE{XUH)jj&cEgP2iwQ* zmY-wiE4?+PZi3i?CO@8U%(ZcxMU zel78gE0xZFN+v?fgl%RhJWWT(6xt$xNVKiGXmKu` zmIGo6tjce^E@@4E%tcn`&yAm(H*XJrF;|?6HdM3?Pa-*P$u4dYoo`M4qL7-*pWD8E zVf?(XHIJ_a7_VY9GnSmMB}M01m%oPV7vlO?&E)?xqtrj4u(@Q%yZ*9~uy`b01;d5B z=v>S4AHnsbdRf1dK4q0xyUx!MSMiFqt9W`!e-%>L5*eLiRsQ=}zYDWr{Z#whxqElo z>MY3;s_9i!gH>R@nbR-o@0b6hpA43;3oWc%x6)sQZylBW_sXA{TiGVzyulU%QiXof zZ3D4-pRu&o?&yd*UwiraK3fAdV9v204;GkGg+GYu$3qteEjnXr3x{qahtbXr-R2G4 zP7{^&@$Pfz6)F?Kz5S)(9$iqK;`H`!fT+fHjA~TF%|AhsEi}?SKmO*GZX=Mmc}BW_ z#`Y~hgXin*pLuDEbtlrM&GHtez!>Q+CY{pm#WLQ76%r*5Ol%Wl$tJ!1OL;|A?W0X3 zllg=&w}s4j7nyY1m=0~ph9yf|rcJ8wm`o@#O#gXxtF6vW#6q``+i(}3k&=cN9&b0}h{av^4@h;6{R^tc)VI&1XO&r& z{NLxnKZdQfP%?T7--zP(3;5WJ|9kkq;@|&&=6^Q-w-^7#bQIIoFun0Rku)@sNxl;i zJp1?g_xbnv_xa~PITtG4`zCwpip-wLC;lOyP5r}FWI|@YIq74cJGpvWR>t{K>kylH zib^jpcrl0gIz4M`=9yf>Piw6{yAKvUq&f9>18xFd z%OCNDSWA?@B}S16r?>6Rw;lX9zs?DpS>sO~>j-uWP}7V=v^5naOk9{xl)oV%px%D@ zV-s@=#?OxjFF>jJyI|KtTZGi6Z$C{b{X{WNiwBz!GtYeeTY+Wp^NOk-ShZsscC(mg zOO?qPFtwpFmlh@x;=x2YQgbG|(CkSF@T9!?AacG5fkG!~;%+XV#xK z2Yz;8W!Q}SoFS|!^3qDi7h`mFre_P^{ObIJ zL*6jMn*iJz&eFqMa&1Tvq#3j?}Av}rB1-V_dkgLql-_QLEad10cXo6fJt_`Bv ze-VFc$eYBx7*(7p#f?m-g<&eBzHieJZMHuT5`XA`O?$akpAg;?@Hcrhp8@Owyrw@q zF{30YVj>}Wr)HVF45BvAgT+6q_V^E8eA*a!1K5p$ZEpD0lA$u47LtSriqEnAh&vX$CA9DiGe#`lfC?gNDA^Hb{ve-nA$2zJvToB0UT zP)WV&G$*ID>RO$kZTzg;o^9hdFSWp*Pw$+sBmB==K;8`6rGkn#rL?A|Qp7i|@V9g; zXW-Q4S@$JBz|HzJ>HXm^&HU=R!rvP5I?P3ojlSJ3GyIg>FgXOTUj4$#VJ5YF5dUbK zK3Kb7{If!J6Pww!$A93nX9;{0$Q!_J>eN}QN|F|Fr6ZQ--oAZ5M|9f$0RDWM)M^p9 z5B#My566E>UEpsPc^&L}sOq1(P_C~GPGit1b#i`Aah=UGn0vJNTdjp^ioZe4!>9CX zkN<#Y&l!Pl0(p~Yn>oS5M2h&tmF(DW<*dj$c?kb({gr~c!e5&Ch4qvvFIzd`$LhoJ zH^}xz$eRSb!n`s}j+77Ux7yb}fInZav04Obgultm9~_-id;I%9n`M;k4Usp-TzBww zg1*w7hOJABUeD%PKBBe`pLJj6XxGau7l9h$uh;BqR}$+Ae}imqguDcE0qRO?N=S~D zcq!+lI>FYKhw#@+0&_*ccKpp{e!zcnUEpsKd=YsG<|fZhH&%3%R{4A8FDTA_IWl(|3)e+;2Xf+SnnzvD@WX0 zeez1KeDFifZcj6K0DoaCuW>I(zX;flzq!h%&hVG?c8tL{iM)vURaA+nJd?^TAJK31 z!Nbf~<$ZUsR^w%J_#0P2w%~8M^6`(!uLJy-xYs;yo{WcB%QPmyO_ z`L8GH1b^#QkZt&z9(D!PDgMU29h2Z2A%9J)rdqp7$?8*Zu{vOOkw<)a`uY36N$sA9 ze}EqTh66EM@VBM%uXFsZfUl2yLs4}|E46$Tl-1|GW#JotD68duA$UBzYfId;C%M{`lc|H9>JOV>+TeE@&qGA6MKx^Mig zHokR)f38vH*Y$R!;A``|2>y*>tE^llX7#DQcJtxI7uDb`edFWyjx}HqDv8XB_x$xTcS}hrv z!{4|IWC8zBGx!@czOCyFe_r{R&HM)7gL-;PZL574>ITdy#k;PA>#i;#{z>^aZr19H z00aC@bb*Am0L%DW?R@6f75Vts?*26;2(v*Vdr1${M0S}lAfov$|v#K zJ9}z1K85G^QxzU`zbfG`+!g3nFZgS3MKsX`tvUX=^@zX5D*iVb%(^l8&DvJ`WmVVO zrt<3!CHQOV6@Sx1fZE{i{{Zk$)Z)*(oj1Z4mtLx_)jY%9yLZR0E#jB+)+_$D48i`l z@OMePbog9t=NaDHQ^K2-fAQBow$(q^Uizw}mH}ntUGkn?iOH(@AH}~u+h2?L54Uz@ zxz(ro+RcZS;Qh!C2LJkLe|i72?(sM3f9l~MJin}@*7FR>9~SYhtQLP)@s{fP?0@E2 zm;(KW_y2_^Ky&%qBek7p`1Wv_OJX&@99&xY|1Xcf9?<;5Tx(a}TYd5_R{PDZXeg|d z=~X_$Md9^=zx5@UfAahrhp6`p#n*4vYM$Zt?b`!Z6hrsPpz<+U`Paw%&;8B68Q}i_ z=AVrhUwoe~%c}LUJS%sWQ1{hr=9dnB>lJ_X{opTcf*-{Ezpe^Oxb)#KwcXF~M`ndv z(q$d^h<~+(%BTMEui5&`gIa&gHC}(5zOlB4W0YUI-ezH$KKNELf767@z`Db~_Un(f zbU|ys{@y*!VEz4aEA0E*DtB84e`>$U4s2t<$rXI3 zkhIP>1AaZ?Z~jA=f6)HJ@OjzV{fDDh=HIzftIy?b+`QG}`C@IhHw(VT1o$2a6+yG= z2LHO+e^}r9Z=s?NNzUf`Z`;kgaIvzs$MP)PS|n`BmF$srH3Z*8%>&9az7FxPoBg-- zjsLA%w*wP%A>;XIO82GLcAnw8BV|oAm-N2~xMBqUB`x>{nV;~_{U_mXy$Pu0_ZQc$ z-|&dagNQHsxS%%vz*AUO9WbZV0`gYD_lz$Ot~>lKSN`|?{Y%|`e^g#o?HOJ0pN09g zJfGqAojc=RFOp&|D&6;D+V9BBfM4NNNBEn|{5Adlu^15tq41T3}SVuYGpHoZx*Vgg(U&a$bdcB}p;{Qi_$(;A|YU2Yu`%hPRC6=4~ z5LNo6u>R=;CcyWKFRKgujlVxNQTf#9`)dnTP%ZJ#Dy%BMRI5JE<*PTkEH2iE-S8W2 z{i7i&wbhOR_}+DezYUd7?Z1DotMdnH`NY3nVBr)3Gsx@ed@1;NM%k?F+T(A_$GVE(T;~{o?-O5INBG-x1kFF>{F(cHa*8hd&MGl?_(@Zf z$Qx#RJ@D%ff8)$wL;UOU{H6PQZrr@}=<-78SwIGW>%*>B+nWR5C+=d%tn;zNHIx&Mc~2XUs`#!{k#hn51%wVh0+xA+H7AcJ)^rW z@Xxj-^WPW#CeL4ep!napb7#_PdFD=DHGc}LY25H>5T4)M2;`R^Bh!y@n?@jrgPvSmV%#j~Kzp2BSsc?0l4 zwMncK{H&X1jHk_Yk&T^jZgKp8;>l`v-u!&OGnTfAuoX6G8XVZS9|=;9k^E~ z_#4zh4-EgLw{xxEykO=Q1`Bs#w9wrMgBNhr75-MiuO0q%dH;wl&u70DH;XN{aP5fp zwhIdvk(j%YM|&xfZ){Q9#ItpPe?8wnBB_Py;Qk$}PhQF8wzKnVe)*2+D|lK+k&i2u zTndI4Fx3J6!u>neuR!{T+&^Xcxq0*Uh!?XhTrAa0U)AIasv-mMTOs~uYKi}YxqnJq z3)MIN&wrBFq81l{8Mrld7oOgAgzf4Ef9vSg9)F$$^@{(W8Ktda3oP7%XQQ%k1);%p zoOOZ!1HFH9TCMNjH20KMUhO(R$JFJUx~n$LqHTn^g)2Cv*U`4uoc`a!zxMZ^ntblu zxjS|BdE?7xZM=Eb0_^6H=NAzFi$8zf`#!%_jJaEY4enevr_9~LYv~T3%13Juq|9fZsH1Zj$f8Q%hLbP>GaUGV1aeAma^@aA_d z@}%;@|Igz;_noZP^kt>drSJuQhDaKxh%wqC=7z8vBG0!|{vXGG_o1So*jz0v1_@!5 z9LDLQuW#hm2zDLvq;exPr~c34Ur=(nbMiUy%Z@xLO0CVLh0QA8BJ7Af-!vGJ@IQwC zBeT=zZa8gH&C#ljXFxq8QBQ9?YoKOtJUeL78SS=etujamqZBc#Ou90HJugs1o;I!J zhQ*wjy+II9Dlm_NHb&;63~JQklMfPqOa4oy=_FTnYS)gX`-sF1jpDT?0Y(WSriJO` zFt75AG1p~y9rA(Ko7nWi|aY17@-{{;L^q=GI9tfhjO5XL3Ke7ab%rpxUj z>{gN2U&*R7atzAFPirLddI^Yw^4SA*uIo5X+SE2rusIB61?O9iV5Au2;` zja85l;O1esfP8&{59+Dqrt|;XJF@F3MB7rqxHt%DVLmx5sbC|_jWhfMMxLv6+s~WC zKdRSLw zDxA|x1=9&}UadpVYKj=3ZHT!6?9zJv0U*!Syp5;Lfe%kn*_CdI84pGhgH+HGxCcsS->BjUyhcvnOR>Av5g6#pBB30&?-wfn*v-P^9K#P zpk`)%x4+0T`22b2o7}Jmo&@>{aZVpDgXFMDg_^?rZ-AZ0Yv$=y+p=u|pFckxF7EmO zDswpNr+yY44tC7nT0^3U4t{OsKzILOnGjWA+=F z=L@T93cmI!ym)!@_c>9op6WgOXuBClLZ%-5S6NiYI>-JsaPG0EUQCC6{@J{W`$qoX z=ilew=ilew=l}1g#w(qBq^|An-P7|;cJHo%_qX-=Mc4KDo|XE%uOXkU&o};;|Cj%l z|Cj%l|Cj$K^48ij!}iaxeKc%84ck|v_P3Ug8hmkqUn}&Td2w$Q%;?#Bqv>x1ex>(n=Y6h1Qhn0CrS9d$k^Iwv4HSJ*ERjYl*GN9(>A z>XDQVqgQbI&97$si0(oK~@gzOfft(w^R7OU@lWRdguh!u}Kaonnun05IB} zk$JuVkFd)sC~py6&@8Tme-aoxEC2k3OFVivZrtn~e}dar&pfTQ?-N_(8DHKszOre2 z`KBLrXa9ozjtM8Z{h*m=&(p2kSp^jyaTnbZF1c#1Oxqxw7+HPoI=3H@kP$NTw0hdH zz^HRt`)+Y%E}H5NX&0-mptYY*lzo4wklXK&a0(D3`&nB1P2$U&Bv$>BUU`r1N^755 z^4+0g!M?_{{pH&)!26xMcgL;4D;;(Ax&Kp-O6B?QitO9B@hYEpe=2s-T!FakI#k5% zhm(DXFC-1TGv}6{-XjP1mO&ZArvdz)>C~=6yN(?? zhW`h3>{uM?|0QGo3mKaW{~ugq%zxzUr09g1$!MebA96M!3iL*gWOF+xsMPuo7(J*j z{4WFkjak6=j?+vL!jnV6e*B%CVUE7Q+zjl z;9uj&D}XIv#{vEu!tY1;g@T7i!Jt39w+1sM5`CWN>%QpQdqfZVZu50wnZ6iqostZQL%o#@m=2UYF{TdtRK4S-JfvikFof4Aij?qjI`iU4EOBN14C8JZy4%)IUMP+ z;ch`5tnG+Mi0`72J|O?Hk?UJDVk<@l`Zi*LqmXta+5@N)n>7kU`Ed+NK7K6vxpX|m zX#CZ_5aI;%|G)&q|HDboPf{_LC)c-V!n~hE`ContL!3Pwb;@H=XRl^`i!QQ58cf^x z+0RdMVmS-Y|KW=pCua8=n(loU{pr35!#%kPO@IBwr9mT> z@|h1Hw*O0%;iFw>=k4zoeXnAtcO!M&U-74kwcd}CcOyEA=q#e^h<--&0MQbniUUYn z676yT{TzA#eVcp$WqbKR>H!t|>Ofwf?`6Lqz?_**`d5j%A4D2_5MA{oI-GQ3>3zi^ zl=B^+8`;=K=ynI`6cTNG7^yGOh{KeNI#9YF#?Zea`s`#x;PzppEsvmSN21+`4m*M} zk0bgt>1-kT6VX#d&l4>t+Tbs=8TJ>x_ahn))PprR%8sho?xUzvLUiacOu?6rQJy@8 zI*U)_^?8+bI?33ptnW#T%jtB~?~;MC{Xz5^(T1n?LOS+1g=HlF6oz=~6xwvlL^?1N z@p+uymlAz56A{=>@4scD{en!y-19W*JaQWSoIo^+=q#cOh~^NjJdHjaJ4^8;T5z^g zmqtu^&IfXJOQPe5x@KW{AC`r7;)p&+^oJ}AH-o6+JW?m3&51sA9__qObSLO|uw`N0 zvpv}8Y^2ddmlEAgGz%!yGuepk9eVfA!CV~)^i?4zJeq^PP0B&}BMT7iw+j&Mp9)a_ zSE2_=KMVAI*oea3g(^0&5ao#}q|!|^hv>aR^ryiEq`fbotMM1mx0M$V$&N*xx;U|d zA}oEEh{}qQh7s*gbO=xn7F&!t;nU(yUBJ&`OewdLEicB(xy-pGSZ1>>z5(f*5S-Vi z2@5K1SPFTd6!nLfVz|+u(}blGT}kvkqF(|1Nr?OUa+G;1(SzmawpRtde|j0^w5!IP z)4UpWdR1e+x49bYtLLx!V7nx=5Y#TpT$mdRf|gL^9u_z`aYF@8L0mL(a%_EodqLpr ziTj*51#>3u0C9HAmAGQ!RIDj+jbxnjAWlu3J@Y267jcfvkAxf#oFn)cLY#&;SK?gQ z^JLRQ;MNo8$=VY4g}}9=R`ExHYfok;iSuF|iMt5gKnS}Farel~hjk;)TaH{a)|0sQ z0@sVUfpT=$j6Fi!RKct_aZ3cQ4{@6Wt}k(W1g;-(rvzX66IUvj4Is`*!MTCNg%H=A z4I!={aV^+mOa{0-p@>&B1a3H63}*9ya|Lb`nLRIq}gO!1bfh2LsoFC9%OM z8k-7SLzc{jlGy^_T!9-w?$(gIG!{oTKL^ecxOmxnkk9`B4*I0Py$jq~ftw}65>P`Nw-W6pZU zA=SZ^?PgucY&md=vL9Gaa`z5!``Aycubj{Y&JnnN6w_AeTej zA8Z(LRmAOQqlmM2MD8FPPn?fqprb20%$|~C9KwnFi_Ipkw_|_eQiyw0;GUIZs!Rh8 z#sO>vaft%=K5_E}ZnNA0+&$~K&ao+QO%!RseF&T@JI>q{OAu>EOtIsvse)=nGCRRM zh&w@CI%}rDv@If=8LSQYQcY&3SV!XQoRG_8orrT4xGu!`3*1BGXGh{rvxgNZ=Oa!- zoEUID6o|w$;LvP7 zP|IQ2yhgs1vt?w{(HU*tWFL?(zRu{&P4=n8-7WStnY974BH1mrQ(|_T{YYj*$=z+J z9d%}R*&k#!(;4G;m+dF1Q;3tvjuH}U1nwls@*Z$d3CS|Z-8RAO6xrNOoRch(X6?wBXK>6Ya#2cgu=o`G{jn}g{&XB zn=F_OQaXXnl!jRE`pO<9v**anPd1dyHjtUW>@hO?kjw&QBgkwwnFY&6lGz_*79tx> zW?5twCL627y1W?799di0c(Qq!Y<3bjRU_mgWs^zj7Q}UtO;uuD7t#o&?joB`enJNt z{Olr&CT=WoU1e$H%T#jLUG{SkIV+jJ|~-QjgcEH`7WDAM=iMY+O=ZHH>+{dyN#9a`$SBR4} z;oK@ate3o-U`l@~TT8KR-2`L%nd}X+*@tX?g&deYNoG4`?~+*}ne7s|7m52(ww1Vd zh}$dslDM4$_cd`x1a2pBc>?z>aaW1^S@xqH=AMRb!EUAUeX`#O&wjwIRQxJCXotCO zvK!{Q{jvW$ z$STOJi#wWS2;3;*&d6@q$sxR1?uc2Q%t?i2^WD+ULRkai-XZRS%!RmJ0_RCw7I8(g z7R22lKTBl(#5HeDy)f?c_7x0$iwVWvUSAuk#{8Sed7AcAF@YxpMkqp%6{^$ z#C=b`^pkhD$2#k0;)csxIiR~kmkd7ly94RA8CmrP(@O{G z7S#*m^2b0op1F7yr`1V#%fV6+t6Jlu;1({vu-UVamomyJ@|Gs%S|w4hw^q{T+~wKG zbpFS^$-R+Y7El%G{*AV)e8f?C0pq6f#nG|g@;LrPsL$^Ln20CHHR87h(rZ`v@`dfb z6!Fw=7wZypOE)4&zC-hLPvrvnRAV>rOB!QmP@*d+yM~(g7j5_hLc6E(z%D}cdBx)= zWmmf?EOV{KFPW}AEVMEOg~IU5qTo2j(j!c&D5+x=<$~n%E2V(5apiyENq!eYBEhW1 zDrNHYOcDk>S0gEiF(zjW<=u5jxY}bNBfBf!olsTVh z!zVxcYvJPXFY>&DNOp7+#+i%;&SEwX$bKk8ddAF2N!DdMdPXN0niz_ zzqg}~M07n%K@+iZ5ih04H;qMXw-}Bh`YFnG!{3vP`P30uKNGdf32uSE zxtQJAAxYX2`(LYa7hV1Mji9%^GAgc!?mzf+8xpqKu-apfJ6RWXsBjVYM*`V;-Zgpi z9dUU2Po^K$FDv#4c%<}T>rl}(-TcOBpsWy4GB4gE+dv;=+fqvFN>AY2DvhJ8W2JMa z_u3{hiZj#dQP*B$I_2lf2d0TL-g0oyy6>3SS+zXB88(c`gWhtLGC_ zO6b-5mb5JH9Vn^&&7k~1$E%&M&P-C(;|5w2USlKGX++q{urkYQ^mn=U}7!Pxrho3*IdDQS9FsWCn8>lJiWb3-<7BjTDk zO5K<>zd@G)NyRmd!J~mX=F?VdF0bvebel04fz@#)Wqc5bKoo7)Y+%rUejgaDOwd{E zo%oKl*)UXY4bLcDk3%{GKv}WI?X@I(Pwe$?DJ@a^G%ZJwy_eoyB-c+T6z#rAvF6A7 zU%6V%Ilw<2jNsw;p3^oQC{8b-jHFrdY>-h^Oe?po&8$+J6rwM~jFW;*JP5J6$p;gP zr*MlesnTQ6I`p>x@dGMjr;!{oQX;_g0NcDq0DV{w%ie`@@)3m`(I%Yv$QK*kHQ1H#L=nOz7m zZfKo+u%Tscd_-V8M{#X7!OVu~RZabbcH%z|InBDI3kn_tnQihb=#C;TGu$5zh8b2S zQNk=8Q+Zd`o;f~mu7xU5!1IDWSWOJ_cmrnDD-UF-V&Oql}z>%x+YIWQ5(N#!J8TJ(?gCC76jDE?m# zysMwK!N>04A9=Xhr#m8XX@5}(3TWNALpVD_7J^@*F>15P00qE}K?v~#|3WlL237eO zwM_><$V+5{O?G#T??u&(rS!tQlE0eQDS|5<1h|cRTkdl3#8qk*4sU4G^arDLudyM| zj?`T-o~LwZ4vmS~d~hPWCx?DjupiTDMLq|`OE{ek>oQD3Vw)B$=E0SLyY$WXC-SR* zC7((PaY3(+Czn0RS8r(@prb@cFq;w!$-mutMoE4zAgObyq74>bGxRg90Qt6>&TfRW zV&7FDmlbK(y-3Q38oEP@xMmx&SsDfT2zUd>x)fUH)hA&`LdLGLV#ZFq=-cvBn{W^U z^-NoWJ4eA#`IlQ63hepRXxML|9uGWU!OmgS&oBSdTc%jUJXuEiSxAxBy}TvCz-#(K z3rNPD|f;t#s&fO0wPT{|#sMk^=!0YzX~1~gV?&^w?(n8AJ%t$+87 z@nGE;ZL>t;hV9#ZgTn(ADn#M|N)#~ z2Dz~Kq275uy#wd2XC|)sA2PVjKB`kVtHDd5m;9^Pfr1A%1*X_W)J6CB$Lsy7zHQn4 ziN6q;1$phFPx4>^XY|8bIymnPvb>Z>(w8$;Jfqg5>r9$-*A=iNpq?Dg0fxxm3g6fS z#oGT4ItBYAGn#1knt%2XJ}&x8vL%9j!a>Vn8+VgZ1gae-FIS7Fk%*E~{*fr9Rz;@z z@=xrGJ?`eFNP%d|@*crdXVUU1gN?ir-CmheFxr`((nn6~cy6kQi@@X!X?pl>82-uC z3y$}0$4cg?lJ(@(lZt>OF9FlF$ZG^s+cGmPzvxR5c1-9mo$072p)yMp_!e*}0z@4x z6(&`U?P64#q5OgbcPg8S?JA=b^s+-6x)VY)vI%n`7+~+DMqI(!crrd~sFV!@FS~IA ztyJKv=GwiO*UCvSkFW3m71}GAvj$x7rySA6bsSjty7uNPA+HTcba=a#G26^qvUCLaC7Q-Ua=%U-ndtZhT|QtQK9{zKh?dNL5)C^J1e+Z;ge1DE%SRpZoAmeR5I8&#ohNIH$QUBQ1qNEE*W&hza&= z^_!JR#dp#x8X)6h=sf)3{8aoW&}m7J%nD*_VYZgFLCZp+<$FNX{K7p`9B+^BCO~Y{ zYC{JrmO0MH z$4OzIjhEF2C6I+8oY~Cw&;^D=O-k()&X5+ewW*_g)v+s7%qLt~?XC`<6id(EKJlS4 zO(!dkZ4p`iWyjqXkApUgT+?T6Y%;%Y$cmN#qw-nqwy;@#!>x!3w%>eO!yWt zvqD>?&+`Vj_o?1f2p0%tH;rnMjZ`vv=>>e5cTr#AP}pREV`!7t%&K31tLSpvWa7m< zZYPAHCWz4OmI&vu$DEEu65#mYW=HJTxZ8HV$JeuE><&}V7sNVgE@(l0JQj0lmdkEi zl8MVRQ7J~OE{<&)HSi>uB`eMGQE0RJ8jK0@M~Ig4j{Y~QS z<;g6BwZE%L=Y=v*n%8UzZeG}(e%QGmdzIIh3Jak)fL6{-)hJL(MF|Z{F^(a?kh_B> zWml4+Xg=>3?RKxvC8tdjsk$!XFO||s+>k+@p)BmgEjrXx4kK~-I#0`m9654mmKX<1=PQl|ULI{CP z>6{Tz*V3yv?sssinXzomk$y;Kc9ARj)G1Q5*Dz+1-x6^gfhz9y3Gq?i^$jLf*%vC8 z`+4xYp(CUQzR=B#n)xD^DCFHGgEx2JKG^zg-KX0Ojkr}u8b9IR8PaM*Pj=^>J6 z8Nba|u1#4>0mghaQ^9O$0r$@hwMA|`u$NoJ-@G|g{wBk13VXLq+l$E?76WZG$myvm z^7Z&P-Dvn}Gra6}+u34ucszR8#Up$*ZK<{S4-M`iRS5NoKE9tRA(X{N*5y6PQ~VG? zh?548_H1-y`9|>MX~1v~oL2<`aRO?w&oOw0pZk+qbap^1>iwC+-=B(jN*nah5EB zsX%ARStW(;I5@rmvZD0u{U;u%cs8%ozoT@26fuUnX}BDE2;U6K5wCQuNiibt$}gI9 zNCVA7aW80^IIxv3tAWN2M3;ZNxF1Qqk3$;Xx~z>T@ZB*LM;bB27kTe12Ibr2FO;D0 zDHlqh1zn*>{Ilxy4(f5s9#XW#y*tA704ibOJ@*Z&)t5Fi7e{d^nS7i7J|YB-bre6a zo?+#${JfKvuYgXGbCZ<9Ty}h@Dx4*LOt?&Q*qZAz|zv~9*XQ$K%uoGslM>;Xv6+reu>fr#1OrG0px_A8DAAVkIBziQt;k^O) zTOH5{GM{9pX3OOjJ(FEUy|AdP21kgY-C)fAP{_uwgOWgp)qu1?2ZZ0} zyj&`Jb5<+e*M|mzH{Q=OAv|~kU-)Mx>O?AaS`3WFkfd;;CC=Z@Aj&8{MfaV^IzTH` zltU9bES6|wEpFLLbyW0QHH6)hm-lGjGoMH+1mROF_`aFBkSRG?jrk&OM|nfL=)Q_a zUZljuj?BX-r*zH!&3en#uhzTz^c`stbCKZm%ypjwDQIij74 zhd#rJ*#bT4!~QfHoOhoG{`s!qlNIYP1^5hUJ{>2--?DW2&%?k;svyi}ylpdD_tz)! zMgC$}X|(Nji&ZbzZx_3gKg;eD4#i5vhQ>*I$M&3aJf_E4Ll@ z$+}6w53udc{;s2VtMHg25%gxK!0ajZ3QZnccUQk56g=Tp@~T=r`y(3n#sHsIJkJbC zz4Ip-VTd;X+GGJ>J*m~J>3TJf)H@3A@yG1P5zW4iOYjpDMuYy8+!WSr&<*@tHp&c9)hv`=@k5ZN2Ul(be8F>SOd1K9+&%PbuJqPWV_E>Qr223cn zNqT4J4JaIjq1=-zy3dWA9PRAq@9f8x_a9-#qg0Fi`q&jg%ls~Mb zYigA;Ud>Fs30!&`k_9y_HM`{fULSu-ADHHNp{0czsn2>q<*fRLiOJDHaa5aCJRcfj zhOzhCg~>7DiGvu1Z7^SH&`_;wQ3UaNJl10;Y2!eH9yiJX@Ov%hdty(kP&+%0xAZ{A zpUGEJd6e6l;-|Ql?ti<{7}-qi?4Dj=a*liGlMqy&IFOAzijUooFqQMnJiHIIQa;m~ zeL(9in>5Kza}Jd+v@7qux&`t7-d9tR?wBWpYGuDaCAT%zoZsb(*?8pZbo1#r!~X75 z)tlhgn>6D3w4Ljy5`D-Mu4Hg!EJ4evI;9bIXM+ar1$oac*?0{RY<5sX1g|^#1T9%U z55|+7ii9#+2JZ_^KaZX?YrTbu?)uH2g(djMwEYom+VAFm4SK%OLv#B*%M76)#s}A~ zCo#8RlHR=`%AyA4_m2;2Y|DI-?mq@dQG%4u?bK@q)kmcWg5!~_z8_=7Ylye1jn{?e zJTkREps$Jk)Qjw@?<+)p-KDx|HJzj~Y53^hxM2F1`-82QbzAeA>EDk~xzo;vI{T^G zc-jErWe+aT$w%K)iuYk$Z5Zw7ee1!!T($H^?Cn8)9)zAD?@lQiN=)5ZJX2jd)@yn5 zYj;EKxm{EK?hA)Lm=LzAoL}Mf7XIcUoZx#(k*Vv^ea~^TinA8@;q&Qn$Sb(!zx!2j zO!?t6&2id02_Ao4f+EuKZ(sK(F`52-X~O*QS?W0NKdq|;0|KgH){9Ak&XeoAZI%cH z4ladVdlN>fSc}^$ZHxDi0@&L}UzpW|>CflLVy-9Bzoc&n0=OXC{{eR2`g_m)ae_Ai zbH59D@)^CB61cv#y9`>Uw_n+~Fr7XwixULYL6rXk&3N&!o3epI=?9A~?r`dvZNBUF ztH3oBNswG>SH^)Co&O*+Z0ibS@5cGE_f>8L>!i(OIp|rFJS+P7JE{+A4 z2!&X&0O+`0x@9TiTu5B^?97o;?MB_p@}=kY-A#RuRk6eV2kwBiL3DQZ<<>|=UoB^$ ztUI6IY@Na_@5$=@KFDC`vfH*Hfo4NkIc%qqXVZin8xv@e-Dg6o66y5*a&=0>Oy*3+ z*v|1K(=KaMc4>^2@JcD1O;3x6RQRKSpoI%|t_1-+HFNwCdM+e8v@w-&8I*{riH~EL zVkFRnW*T2&J9*$Fz=4%gjyU`o>-yts5F|SK5wrtzps6;(6|x`2JS$LaR#Cf)&cU9{ z4_V;-2=M_;l9(uvhVX+Vqw`c!`B?l4Um4qv7!CXhvTCuJ_x79%X^vF<>CP6&XYs_W z`RbE3(Jf+*?EIOk$S3G|gX(28OMhSqQG5JzRe3EJBc}kbAw4dcm$`ZBYsI%5(BM0b4xyJa;~DqJJWt+;Ddtbg!x!QipIS<(n6-AbcPBS zquA&>y`y;5oWXf|u)=&0rh(i}f4Ocz+-#2ByjiKBI>q2(3tOy-tRVfEgQ2dM!b7h5 zA>GUeduqQd;8znZNyNdDjixH^*P;kv$*jqvCG1O0PB@p-S^UZqp!Jis&gEr zeIf}cmVLjmRhYllut{GMOf?^bv5+?s+aUv^Q?=pNwTWMRpUsM;gX@#IqVav&ywVc? z#6h)6jQ;hQ?o^lSHCNEQj5fpJlN7PWPQOHX1>q0gRG@FE;Dil(Hf!t`)pe#Zhaw$r z9JiI}UjR5^p{=Ekjsnw!m3|~MtokmVt@7q$JZ*L6%o&i;c)rbfGbdnvUCB83y+@#y zozRd&iqTI(U4NSb6tu4V=Zf<%2MD|mV;)VLcZtf57HDKTs&L|W%n0jgs0*N-Q&x43 z45Fo=a)rlwFMg*}LRpf%40k0Md;alApC8c}R+X1GrRyB_qQje)z}C|H0%Xv*>wL)V zTpU=ml7QuQs@cj0$`RSa<(_1T+~G=3SlusFYyAo{>UwJrkiVYqI;u9rHM)csf+`Q_ zv77n>qB^h7Q z)cb1|@DVl>irBEWF5n7>Nion$Zxvtu3>m8To)1PdsBRUWUUkcA4`;4&D0v5$nt79< zUhk1|gi|dwZmZ?tlydZB96~e8J<@7mW$z8Zlk=~IJD0zDTlW&1t&{%`q5kr#qoIPD zIR%d5rA-x>zOTdN8wWL-bGUx|6iSQ2Ww}SB*kZfuWl5M@$@F@5sH*<(j#}>^LDv$x zkU`0dTg0$vvl8_?J++X6P~Y7wxX2SUh6`qKsuj>jU<5EkI@sXy;xNf`;Ich8$(k)8~q;?n;mxjqBxmVEtVHt$rya}(2=!z}mKv*>)YRJP?DDzs3^Z)U>`hgjDGU2cXaneCLe61JsHiV zyUF3jOmt*%%mQ!VheAJ6UsJTPS%92GiOt6o-IPfEepefD#JR~T`wlpp)CjF6aAOP~ z8rI-bDs7_S)GfrgX*Cu8ByfRQi-Va8&mS9|nY5{)hJ~>0rHIp6h|nqoxI@O-U~t0M z$tYRHPvbYe67Q-kM$?$y5@y|h@Fh(H)Qx?>GP1X*2@snZr&p_UlQl&%AsG{!Tlxv? z23k6F`jOVkvmVK5ArUXNHd;XS!I>)u`bL3VK>axqaMX$m1msH(H97fQO=&SpJbmMK zqTwnm)_E6$ICYe=G*~ue*oxK-LYtykgv9SqMl9g4MQWnr$Q^#@MN(XduMC`V zmu#q5WGf4rK?I2A9m3{~+DO++E8YCG8oQzH3K#mcoo4|Qs``mX@>+cal1IBbPf(L~ zG~V_N=5mD*iUl;-hw$eCjqX#^TRiM1r0qN+MNDjuSZIp(n1&PqF~ zzV)HtR-{0NY{b-jUATS+j*sD0xiE%WSY-W-v3!#k*PPNCxs|p!moIBXVUGdvrFX;~ z6Pl?++b;8_tkdOwB5RDr(VFS-y?gshIwQ(E+B|UaZOEzFfxPk7AEg5o7TJ6XlXULz z6yZSnof%=7UctcFYu!1Mt868!^f7uL_ld+W*DPzr(9LE1c$$Q!o@B`Zw`OvI9xvi| zq~OS*v#%$7Md)*`Q%gB)J$p%wpGy7T)omZ^%l{cu7p+? zatB%uA8Y8&}#EzUPSR0p5Di!I4c23xg! zQHC$_Hx5tkdsYW@Ba4DZsrqP*zw8g@LppgKJ@`3vUBKz~81u+tRK8`oC{^|Xi;4D( z6L<&Y#`9hFP0_Kw%p+^Tk@xr^xI3%Ct><4uOE5O6pOy4%ycXN}i1-p|bmtm~xu=R^SJjC3)_g7iH3@V0rf( ztC=$y7VR6B$)u&!F_+G*fJ?aMLL8^cc6=y*_FR(ylOxk6c-51+6-z^AC5pen2#9j< z-Zs62XVT+9FKsZoN4^u?#2adKB@Sn{<&alApbnvJ)BsN2`jXp z9!L@X1bs#QKns-s&w(jsl{>!!i>~obr0|c-9A7<~t-slsEiJo_)+|ceo!hE8&z#Cn znr`Ui3gr*`u{3aabeX(SKB{WrEX%(MU02|n#R8vkRj3eM#XD9g@Gn$;oZ$)~Bb@un zs$-o?TLG0kSDz=6SRKitd{>k!!-qBYx_zJZhB=-!nvXwM0p;7ocNbI5N%t=@jSl4^ zX8!u#AKCE>(+hHBN?pET&80y}N0aXn)zsbY)h|DmZk>;`Ha}vqku=(H&9P}Qllpf2 zARY~<_D797Jc=Uar%u$Zudr0#(wDe>;FA7esZIgaQ&YXMZj|A!a~#Tt2oX=0SaLKS zPfDOf)8D_xo%;!IZp;qJMbLhyOU#TU&}D!ENgd6PNwv4Harq{lAwtbjnOR9S;F~-w z24*j+9`ntO@ar+a)WwD_89sZzzaqOPsA49RCLEt%u>$pfpBnOZvd{xfU*|>-Z;awEhC?|F5~B3+bK`m$2}&SI;E!;>!Fvg z2H?P)wU{s1Vu_|s(*jmW`=OOB-D?p}ZDbBSrplw#xeVa8MZ#T8^%f>$_fK;>+!KP@ z{XgTq1BQfAYWQ{E5aLi!kTBg^C&*rW^4XPA-_otM`=quLs?O%d$gi);i6KCo8`*^J3R34#m@N><#Deii7cs3Q`$1BJ3jgF==9WA1q%6#8%tay!xokW`6s`|STx>EFUqTo2| zp|R=d@&3r78vS0eG8OyTnaD?zFjRwjaE&Dw#cmp#k#h18!>zg)F~$BFwdz0WiM(n4 zP+3YAO1>B`WcUsZydZ=zPd0>e4M;{A4ak*hbhL-^h1g2-m1Q5eJ&&lrZ@y>b$C+<; zLlVr&MRwj?jQsBE=tHIV3KBk}@3St{t3GjV=c2_tGryn4e$x0jhU2Dbdsu$prfE$P zR%z%2A7SQw4PBhBVa+gmO=F#d=oE;@I{_5vjvZAOa=NOZ8b4<4WYPL0k-Z(5xLQTRQw?o#|YBh&8q{K>$WbuD!gsLJY)KidQbIJdR#ST{F~*toa(#IY^O32O{9{->Hv zV3gsTLA?WYBB=bTtpCA;90Ny7q)Fw6r&S1R7k0(l`3C2t!psiT*Z)w$7nB6~G1~#` zT5^?|Tm&#xxuCj>Hp8r`{adKZD!KnrPC8vhVfU{ha%F)fcVt4etyQkZ)e&Qv1(%#% z4RwZ*hC;lI{_=25VL+}qb3a&~+o#y^$2tk~#~&M3GX&GA zauT^{XZVp1Yqng|9Ia;PgdfHf2xnZoaaOAD$eNX__=GB{ zA47SqOKu0IWEun1j~PcPJYb-9K!yn>Wts}@!G?C7uey;dkb+$uC>j|Ct-)S)DY8te zk+MI=d5jm?i-^*H*$(h<9u?!d|I17j#VZE`$aMtWw6*s;~({+r3u-1iPeBs+nl0Cct4-I}9ys zOnym0XvyUSAbSieYJ>HKA6j#n{aPu?*Gfs}V73?;!`$ogo_Z_zH12#RrkRHgs%!PN zA3AS}HQe+5dR$c?XnfFj4QjDPXD#WL3lp-lwXSpA?0ZgR^AgO0kB%D6T`sgf>+cfa zG`~2nR33EP+dj(w5?X^ZK}7)@T{f^h44!vgn%1|>3X87rDci5 zfo{4kKYxiQDOTfFuYCF@IoLW_dc?qc{5DO@IqL~uzk7%=&yEX_hO2iXDnz`q%so5M zkT3I(+J5EgSV%()N<+Q3ns{6!*a~r%5ku_WJo-7lG12JKFea8HlncoNXp~e3Mp`;S z@Qkln1f==JahnC+(>N`fK9S`@h+Qr&uArZ(U}=i_);vvL+TR&aj~3w=S2{#{6k4BE&Ob0j;$ro8s4o%HY4%*6%-wtj+~ZEWK2e@Q@4A*3|X|8L&E*eqY&mHcn=76P(Y5O3S>IEFPcQmCdI+8$iVzI5) zHcXX7fT>$B(^1FPdS~` zPz+4uzna-PsuG|)K`$NL7HI5Lir1KkZ zAk_)!uUF6nm~?vqGRWT|1%z4rs0e!x5)>`)|jJ5Dbnfv|2t2zfOXf z)`K=0QMyQ*@vE3t{W3xaOdF7~F>O*E#cH1H%DE`>qJB)Za)~39Pt|jYQ#5PoalSUC znLoFRMN{i>sK&V@dLzMyb#8Irk6O+U!axjNks$hEp{&o<{6X@1NKoF<&;aN}%+401 z=ZM7VaOh@wA=N&>-xw4s(A6}P26MSxEJ340&b7GJQsJl5>m?`cW0u+5kW5ehs7L2A zSLk;G0ESwcQ6`y?69Pg=Vd+t*2c2;P(xQC}CS?}*3iSy-YOe_W13gmyUKO1orlC;`P zpE-sHhbSvGnO(uC$tT_UCp@USq^&liwwGq!l!~Tg1$f`MT`pjW8EnRKoTw zm_Cg;)*e6~R#*(mW`B%#=c8=Ka_CjE6=iN}k*!Y;WvF{E*(SnmpMTsq`7dXi;D(&U zuhRifkKGK!7SXwO^~;7m$W3@Lqexblg7TO0f{&@2ohW6g6C#WxQ{BNwunw?nDNN13 zY^^b#eku;KWxTcSfHh{<9Y1u#P3x_XPW!iO*N<|y+5I1-)>JDk!$d*!WmB$$c}pR; zc^QgR1rgm+BK8eOfJ}^TvP#ZYclyO7%NtEfh&4FUGP6*qN%CfO&;3VhgY?Jvs_xmU z6IUYEu54l_0ydL5wqgtPT)4(pB>#iZ;DLD$2BM#a1v+6cXJ~T<*PE*1iWBRz(>7{G ztd{&I^g0okCgA4hCV;qpgXG->!c=5X_Dqn;FtUitqImlHxZxl2ObC0?%CI5gsKzWb z#MMtbd&9|>eidQ9K0vMV$#nqnwG5XXdjFgX>p)KrgMQhW*YE)ToUEt^?`z$8NmEVl za|@9mc^icVDNTt2g+BsH3^g0o&PCW@f{*VW<`9F+scAop6jFD>-+o9oI0J;a$uV-*~0>G=YAe307@# z=l%7K&cywX3Ef!MXQQA4gc~A zl&wiAh-TZe7r-H;m2NOX>V~b%qlqMKSvb9Wl6&4a1~lLH`v5oJAH6;?Q2(@nJGNoI z%sZ7DMK^V<{y4rLj=AB$7&gQ~J1?9ZIzbY7cq_Se{nahxO^w>-=R-EiKz%b=RY_|t z2uS$?cXX+-M;S&OJf=i5xIgx<$EcvFQBnC~=GV%tQ6-r-gO zG)hripw&J+9u8rEFuu!HgLiCA3wD(+UG1YWo@u!wjpv6IJYG$7Y*l zBm@CTpdmL@3+l8H!)^b_Q#=(wWCybGJik6)P7pS{nE8yuxMgLr?(M`vhxHMCGN`X* zs5BCd-B*MA1XIcyh9*?4ok&=}GT$p#c$Q)%*?*C5SrYN@ZnEmFwMghFF@=x+QZvl} zKJu&c!9N}5O|Ve1(Nw5wbcMM^X+CkDmqmP$0s1ay-g%`4SI0Ua;nmvRaTH=PECwm^ zcN$fUnxD=#_1>1is*2V8_J6s5`akD6naUctb>O$mk`Rdle=|iM1*>g#Np?uJofjF4I`*n* zx%03FfZ4L8*6_itvf1WvFaNfN9)qrJzBDWpVw}J|zVDP;*OlY%PcflGfL@CjpL&6R zN8{)zT~WiAj%g+|eQW`qqis=AT}eCUvX38owj56fcuXb7h}rVgI#Lb%&K`#FFTCC@Rnwdkb! zRu657(7`L8-b}JRAM%G-rq#_etQj4UsyNeg{rK-Sr?h2+jR;sZ4-&*izcNE?}C=``d`=lC-VqW@5^ zt`@SywIw0Qq)jewkc?JGOW|ZXFc}oT{}Eo2;=&hji&xtzE#PDErzP~qS)@KUY9jm| zEl4zzvZg*b*H6Mmt zwmE+Qt+p$0aa80h4(Z*S69C&PY|{dZ3#RQHRm+DIDmqU8s><*)EOngj0AE9s#;1P) zb&1lJ7J`D>JxiZJ5A7nQbD)O~!MyXXzNobdVR)$MNa1e+EhT2U%y5vBX&NYs22dOK zfO3swr&us<<~ILbtXF=mrS0?WuS8D2r`)cG#l@&-u|JZ1v!NdXz6W9GhW$q#j=N;S z+l5k%gyw$&RG9*g10z?zG6_)?$rSFiMw#Na(VZasDL~jx9klVj7j7kN9y}H9Ns$GL z^c#exs&SJSrR<=YO0Fg7BR3Pxd`RCQ4R&G!dFf>b5*SJTgW~H}5U}jmh?=U@OBP+cq{0K&dx#i@WoQ>ARq% zj#4~0xzQML7?x56mwJ~z%X>n(mR8w7_M7x!&;iN*rOu{WTe}VbQZ`$)y7n2| zsAE`umkKvN^~{#qYAB$x%L@BrST zEc}n^8h60=!OU6hoj!Pk{SHyBzPQROsCoE>JN8?*;onO2(o!7%G}+yE9!jIX1~p+2 zQ`x#VUs>!A6poNiVxmdZ1WY`#f$JQxW);CTPz!g0Fv2#5(0HjB-{Qrfw0nk1jy9fCr6J~9=KVYQ4_Z<% zaT6Sv#Qh|=7#=#2$b;Y~-yL*;hV2%3<$zsxclkph)gt8Hkz}b$K&Y_#&u}`Mx5k|yOAhILm>|-+jlBTT zdej#*ZB2QHcLAJZUxL56_(_G&8U19YWjSy#aC?q=<1qZyw_50h_&aZ3Liw|}LTjMk zor;OoePD1ib`WVd!~C|5%pr%IAT=5o#`rY5Joq4Iv>=y9X8ctbnB( zS9%MMOf|R`GP~da*!B(ZbrScITwe_+v=SF%iKR9!KH`EUzqjn&M$IpUzkg;`3Bf_% zR>OX3`L_^u(pTaCs2$XOiyPcbfArhI#Z*?XSbs^fVA>a~=KrsW`nqg3dfEq^s!G}e zmi73-!6R}A>%8)yx|WYA{%O%>|D5P~^CGQ)yj_=h>@J#*d5Lu*k7~70czHtTH z$qt_n>M06FRq5V88mvdIx()8WlTZ$^?Y@7Ad4^xwZN~dFT1+#y-|iB#tioI|ztv=f zCc!T@G~v95!$v4o0p3sdVstP~ko4xj2WchbyT#Wx6u$$!XQ$gEf{j>03Xt#Dr{Jz= zSBn2fmO>Z=_usVmQ4{r_Y_X#{?A;S~=oRIV9`W_|`=o#>KsMD78o4U&z6)jJzu+8t z%FzHpTgH2n7*~N_KxB`+(v=!JRNPje_!E$Hu+4X7deu>CR#Dnx_!7F+tBv{Q=^TeNh1h&Pce*Lzt)2$dR;D}z`7FUd|dj`q4C#QoIN#<(#E-Bv-h7E!Ht$PM6 ztooQ98Rf&+9?v!p7@IpdTaz^Z^+qfXF*maPGRAOmIi|V&@rx12>d(^kz5b0@s#4*Y z5#m$ie}vYZw0_o;RFB7}aZk?H{7q^~;91PJt>T^b_`Q{kR;6)TC~|l1H_abcFUU{A zg9+ET1A`?&M$gjPgCbZ2X5<`i?Z|&o1Ifqu?h@!=0X!UEc+%iq*_pv_fy(A$cDpW7 zp>a(Nf>pI=>juI0b|JVmcUpP1^WWRmPIDhQ@Iw5SE_O37LV0@&C>v73>g^6I>)Y0w zKC@_P%%4}`tu@_K6a{uC2di;<&Cb6m#|3ogaj8g3z_xqhX)z#Ah?44}k0RP_4gXZU ziay&a>YePGOBuc1LFu&+y6Pn}h5X6>vgJjh#pSa()^?Cdsy>1#MpI4M8R1Z3GJ)u@t{4#| zSlr_YoAoc_FW9sH~Ri(_nPHSv0 z0vyLK=uX$;sr_shIoLBxqC3`!){4-!kS1jwtW0Y{ze!eZ`QzpaIpo@lW+zs@`)V#q z1MQwxR=8qGHUZ@+A&_;;A#zL`Pw^2+9xwLJ_7(2)V`x&&dqXRw0mLtNd~oy^Tzz4w zbjd$qH#7SI->r6Qmc)lV`Un`e=hFQnnTO2Map8xsl&kFE3(LlV)p3?PCWB@RZW>vb z<|T)~ziDZ$OBccaQ%BzXeonWq^x)a=QqXX(uk<7>1A73^o|coC+GZ+G$@JxqymN=L z{kyhy=|j6;gDqc4pMFL%y!iG0-b4wB-)Fbji@iIlr(U|NdQDd?d?!i=<6p=RZj=U9 zhE@b-;GzH4mDc0hU48S{kbOdX0hb6cdShx3Fhnw}D13$h-ZL7ntWU`Ikd<#tO6>4N&0ASYZFxlepJ*u>haY|9Z*szLO!>=V z4=`Tvo4+WD5DW#6IeAd_k=@o zpFiq6&o2*x?8Imr;!vU2d$lT4W^bB)6In4qrGJ1DM)v(ZKf!^3BV>X%)AEv3*2O_n zh8@MNFjwX&wHI$idM@%B+n2&F>^v-z25^k`td|!0XnCPkeb^K-*jt@YpF`_lYW}j5 zYBab1oY$+5c2`wS6bdg$$&`$~i!tWe_pLu>T0;vd;0HFgog2xA?1p^B+Zr$} zNm~f+5F|*x-1qnWk>{CpW>)r@nZ3@OvuDrV_J~zsWgnXZ^pDz*mHG-x_kt+(YDB!+W-D*g%Xz|VGQal{70Vj-qajqWnpt0_b=!$bp#!G z%!(1CV_bDBZLo|v?tPBnBiS-Bqanzuzyyj=R0s_y?az-QB}B*ulmkH-(VfPU&dE>+P?#nK(*(0cWXi7b z1RW8#^~w%;>vU-XFt!;`%2cJy3}NXjdQha6d=q{6<0I|7&4Amtb8k&{`Q;o{Gf@1B z&)^yIb$PH+o3JT1J!Cj(WOxes7~knv_Kb+Xbk}FMr1bo9;}k~l&FoLV2y%FirGxmf zT}t`KkIvoh>5{9%7GED}b>N@O3B4oI)17tJxN6C9lCw}V`Vo0wI2$ooOrboBe`#Q% z!XIcwH~FcA%aLN{g_S!O2slZ08e?>({>PFlScDh2IOd)8FIB6Zl?zzL|;?&Q*D7E%XPr!uHJDQ^gqwP?~)Fj!H$Z z=yz3hN)-)2Ovi&cx&0dg3jR@e7Wo9{KZP&%c>39-{JYnBS!7x)&+Xp2WDAL_d{Psd z@J{{S-m+uTUliduwFTxVREv0%(!*Y8!uTtklLye!UF>XP&>>||rm&-2Crmy|N7-MN zmU?g!a&0wjHc3`eg@^DJq^LVL%*%;f%Q!No{?pMW4~E$|a=ZRpbdXA(RNbR_ItNP1gL5;M zx&5RTrFd?=ikHMol?ruIhJ*oc-*vWaQJ0Wy6q;>x8aS@u!3i}Ff2Xk6UQSJZChEJV z|3q2kuS^qB_6_V8-75Q@FlSaPK(GB@d;wUI$h);2tCh3+KE*$i^jF*lMH)p+F|Ukv zz4yE$j-T~p=Ra!rv`H|_c)S{VwIez?E=S3GDcjN5Th~J;j6_Ld*xrKT24x+A< zzbuS)TWC%rDc<^K`aL@c+No*%xJ{gcVUB)O!eHyS#?kP|>dk~BI&WJd^7<{hlejx# zUOv*VJ5ows>EMFEA!cHUoB;L`=VCxsg}~i49r1H74^w+U(lh-S+DuZpkELdRGNxj; zOV+5Y*ry4*Ut1AO2X(8-5u|o|nZK9Cc^teRiQVP!kIV(R66n%Do0eb8Wb1P;RYv*$ z0Wk#o37Oya9cI2i5wdDNB@a-J%C4vh43v^`r^-VzRi39#4jR z!vzw#x4;q*VV0JKIDip4@@-H@{=DscI{Z zpSt-kLwN;N(NsF?S2ST$^VfMVrSved>#-J`c>S+SMMo@kXq{&b?Y=H1DYr7b zt9aSDl>Dk89M|6jQs7HB{egI7%mq7X|8Isy+%@&rG`E(cs+q&qlsHLjNpDA9SHub8 zB+d2h+B_Eu*d(RlLuz9{3T?Zme#MO zaZ1m-Bk<(J-F`nOf23ng8pr0#1D%DKY+2l3F2wmO8$fJh8)CWj+J{IwIMf!|17Ahv zc>Q{blhd-8x&5tKpH@My)Rl7Um6V=eT%d?m?#rAS)^>>xIy*?<4KaqF8 z2#rzt?@uk_%W)IrbwW}qHDcOiO_qgmjq@+n%HZMBzo(!fHLlXK_Qy$L@D$Sdx+60! zrw0yxB^Z;$g~SaI3xN&qyTGdB%}IGa@|J+_Z*U!I7E8yu$5`^Rygn!xFPs+XTvse2<-N{FrwS=O<|8 z=HNAD0qoP-4ZNF3dXli?DIa@Tfm9$#xgiFS?__Tck|0Xc@6dEEV!^U||?ZL|?zArp|%P{TKFl_H$ ztFZ;G_(~V63a!YIiaiYK&od>JI?J_7dR(UvWZizPR9ZJedq##ERLPde?Qdz87V>(f z%(;Rws+qQDPZ$Z?e&s7=uz)1-BGxyhxydh$p>g95u?qnO!a%m=eP6^amrgHS z;mo^Ku7PXQtMsP@94EBkqRVM>V8sWqm$j5yHMdv4l)l{ym-2Qgb+8~A%fY>Oa)sR= z2ihhTentnLz$~=J=UE{pnjC8Ch{-W?Sy{E!o>0-s&(z!}7a>*%rDg~MD=71%%>uA; zL*l)sV&v|Y8-%qZ&i^cYO@ezF-CQo#4}DA$=)(JprR_5GXv{;HCH7->#`Mt`)>-u> z8=s0TGDm~|z3De_*kDi#ZFoxpi+K++&-~vggarEZe#Oi@UEfDJ_Tt{L{^=?1TNkby zdbEe0UZq>sL#o`_99B9-E^9`GoZmRG;!N>f=*RB%&k`sAG!#JzyN!bkM@=#$nOJHnXNe>6PP{4zUUO7Lo5#Ks^%dguM#cHnT^*}@Q?;E9Iyw6EE zJ%CW#`1SZVwSo@|yvUxl@(}qREfy!T)bQkJGD1xL#^yT9_`~6N#{o5y7tXCiRKo+4fP+PgtW1()Ei?6>oH(2kkz3?|KIBLeE?fI;T(P;^%gf+>d zIX)191K<9S?29wX?R;Y9o@BHMr4prfefBG@Et#Y7d1Oaa{;rrtZADBZP4NpoACXe- z0}SE33%3UTbakw&jT8O0?agCI?D?=rmL4HMy$6C{s{XrDFptWJ5#;0+ zo~_K8`}avbWh3_&f=m;fBDcKteb8pSFwqn_M>pqU{2mZG6=N3^Y@+(}L(?cRqeA#* zS#2g6o~nW|m(vr+@n#$8y7I?Un|2NtI=BL>;$yR?;yWmUjBll|M+q?9XZfO#h<^0LlMo=H-9H zJ7e@8)z7r%V5p|_b7gcH)C`?sOD+#*2tI~Nf!m_!8Nsw4Nu=iC2qE}3=_h)1bjWVzEU@AF7K$OMbsTx5-W@Sj;tx&P-J zZi=zpZs^z$BW#dtS*6UZ6;V5acIaiZFLopgS!PLR^#Yi6=#agDF>a9U9XP=lGlWrD zYB^6ur)$0xmcs;PNl)CrcAGZrg@KJ+CBRQdZiWA7eSE4)r(6M%NX4&~(aHKpIgU}h z{zYm9Zt;v#IeSs}B0G%;2U#>GRPXF)b`#UuP0tN`*sD`)GYm7%`Lg`j{!z5Hx2Z0w zPD-_%>O$@4wdy_8`?ealQO%*FS5$jhM)m*zi$5#V^A?f5nLqk_%P#z7|FyGSZH6Qb zkPyL#o%XNw@fWdRLFWnBl(W6X(KjJd{D z13`LuL-EDViC!%;tMgeI#%VE}#)RN8QRRSe~F@)IFmM za!|1rKy>f=N7<|C$NF_mq~<#HA*piNh^{pGb0>1=Jsii<|H|%)3T>*y4r7wkQ|=j? z--3R;E(pB*XFU5`QDaYFG}BVJoFQ13kl9c>ncRSx!E}MYKs5srrdZ6a10l@)X5DZk zSN+`aB90OKkM>BMfVj%;S=@zj2>_uwnT!XIs$o^C zsc}L)FQ3}p{_WNie@LBo@@yxw!usG^q#7`7&Fu^4NuL2U&K0z&tE$h}t7WjPcY5Tu z^5S-pI}CU+nikBZK2w*7v-u^WZ6l+tYv`AOu!%O)wtOrdg7d!Dk1JI zm?W)%8p#aKCaMT&l#@AhVV2=O$o}Y3jzrg=mmRO`tyzuf4; zI@*nM9|8U&)d$r`{}smau(_jdx6}o@-#S{27q!j$xGgv5gXC69Ro<2g-GCXZDd!sU z9U=Cob}QicVjK1q)=c|t!DZe%zK=!IemmYz5DvS({{X4m0m$&{nZC?+DI>WpwN9=R z3rxRriJvm67+F^n@hG1S#O%4>@fcWxvGVM zqzpPXH4^aB*3>Z3bCGX8%JmZRTsiSww?K1(^xL+ueRyi@{zDF0hq)4cZwPIMqOseV zsZqJIxc&TAh`hMVf7oS*Lp?~NYSE2O^%f`SP^lcOAILQb-v1w(;~eiG0+??;|B}-i zUqj?CzWF?Ao~(IYMGAOs>z6|T-ixBwO!I%ClQRm*PeZum=$jRGc8xgg$Y@;EZ?rPo zI@dYci1COy25Q!zHPs5=mz4^L>TzVrEmWDv)=iEzcxlD~!zVAzbAoE}vo$~X3Cvpb zzQwP{`R|O?9a5I3_+ni7RHlvp!`T+s!G`Fa<_w(T8V4FLr$+{bc5k|5a?RimMYQeA z>F+!lvZ*8Ap{bfM`EiuXTs!CtHIO}>JzuSr_B`&=qiZg#LikocWPjZj@X?t#H?o-q zAdy0DCt6-#{E@wz1C76?WLzyocFs1UTK;|t-ez~sGyKTQB6|ptM$u<9w?&7@%95jK zortrYKmWBFY%cDrwA^G7O4rRqUJnNj9x5xzs#I;5@4R5gYx6SfdbHeHpK!0xMZ_rw z#WG4gGM8PF+VP({V((_l{5dq|z<19H3QHJKwGGYOCc^AZgNA!#L#4X-#KLKtXK<^# zU5bAe`EV$nyDsQ-{bThL+cxbBZD%~^@Lj1i@o-G>e(D^}ZuMkxFgH;YH$ft*Nr*rI zt&*+9=RSN~UjjMH!$w-Tm1{oSV*HZqW}c)BV*Ul= z6?g5K-xjJ2ez4l(Vp@BIHsQOH%BEi&=(LcpGePosQxNjRR*1&5P! zaM3j2%m?F!GxkGK#rv79q(TqpZ*;{UsLC!C&3I}M_TLgcp99X6y9SHUFTG4A>v**X zsTfPViZiaS{^}Tp$JzNDm_65>2A@gQ_*VG!ZlT1?Yxu|Mux8~*`4sIP#+cW9bh@Dk z1qiMW@#V_47Qr2x8y`mey;2P9S;9T!L0meft|q^4GSid2Rgjld?&xU)o&DvVU_I zv43BV*UKwp>@0@n5pzTZm5FyOZ3=xHH<+2nZ=W zUAy~c@w?(@NXTg%o{_mo!DS6+10H(GXOPbb0eS$Z>2N9s5_N9M)>7qh>$!>5KO5-e zP=+ue@!gQ;-y7=ly`Jq&RUq$nM~jGEx-$b?cM^dyw8w%I2oKC(xU!#ESpUYq_Zk~k zZzuD8AUTrsWNBqrOmzLudF#7Kxd}Y<=<_s_(ZBq)9AeV20%DhG7k~p41ncD-L-82j zd-JUIXPpGw*AlvO%AK`F61vkaC)T(WAO25@?#ct~d@^c3-;b%;me~TiE98UEpn?f5FBcHQ3JF8Nn@^H_)L9U5zo`0}hb z__zKIZRlXpPDiN}Pp*t?51;y^d^4Xn(|BHbcHyHZaF*{zOaV4D(%U%X_k9f&K%_-|ED5S z05n~}nwho%k>|TjNBL2r$;}x3@vDpQc~Wn}9-W?5kp-|<8Qimi*|nK6crw|-`gGd$ z3W)(oG@VShJxfuepFE^uX*dZ z$b^3WR29Esz;)Rh51)GF}wzL)*#)OPI)*{1SIYx}<)+%mP9gj{5WM40^QP{!P2bbSM`3 zQ>oEyQD6VCgCb0>m+bD|*JfgSY8j&2PNPRLf%WMyiv_rM0k_!?>K;63coy9UQomyV zspcDUXf(R{h#X|QhY~kDUu%&)bR23%J#(~s>g-)6`M~E*Tc-{^F{kVj>$TDpU4~nl z4bdHHsGG=bb7-(+Vwh=6rrEv>>rlQhY+5Xs1WPWF>)}#YDoejbANuE+k%JL;?&*7Bb4Wk;?7Ywa zqn{skJtWRhns3n^1=n7DDaeV(&e4+3^n%y|*|?J*3x72JB1t@lXNT{#st?lI&k&4> z_-yWV?HgPVMyY)X+Nc*j@%2BM`28L4^f>PuIFQ7ESqtZKVGzAx%iihkaQFS=X(^!A zTp|yjK1)#bgdDRm(fGXx<=k=Zvfz2mWedAC_uco*8Kknqmh3K)HcM6U%&07plYQ|~ zy?8>TAkKpYjrwUO6LYs0axY z^*_rIT={#pqnp;RH+J!9idP1EwjSLwP(v`HQ}(P^(ynTNAc9v9F>)?X9iIIWZ13tRPD^$B7Qhv%h=ZT_zMj5ydR}$5&X7Rl->Er>5 zwtAU{I6I<})RFyz+t__jz$ZP0g%JJAgW7B<_8Mm9$B(R@M}YQNaVSM#l}h|vZjnmo zRjD5{CwtQ8m~a6>x^ybp>4*5V?-J-{2-q3(2-H7MOmWLnq<${mzJ+K)$Dz#Mw}X*K z0lhMFY+H4g`MQ;wJRR<9D;j{%J2jo?pEPs=7=PxTrFTr5GC$Wd6Z;#0^ZP}A#8@ZG zM3oqAK)e!u={#@S4^yTuZT|3(&=}wJNzfYb3F4juk9$9j5wLja$zp1S97m?g3a^@*81+MP9UUgWK@A-?|um-C*eLisW_3LRKC5xaIlfGy_HR@B zW12+W{kQx$Ew5H>sQegD)L3o^^)FV#ugh5B>dFR!4yU=jy*XB~#4e{)f*7Pp_f4(3 zDel>g(3hvJE`PMX^us!ume9v6mQdsh0-zWC*cX!qWzb5nHW%gFTcQ&X?{F zLjrjhsTx_2((AbY_0Ofb_P(P2=el|r_H#0$+J)r=RGGQ+6kBc-XK4oXk!$iia%rNt zBMF&*dYx@6yhg-|O{=YFK-08X&mzzM!;YIoUu0i=WE=Lhf$HvFK8nP`kIgr$y!MlRTkG1Nx=}^jY3MkisO+I!nqd zZnq+8x+mB#P6lWVv`9EeYEKQC&}c;zMC!WZ56w0|$~kffMuhy}Vd!oqMuaXveWCC> zjlxWOF|{aSet7w^U0>{`L<|HD8QVzaZC|e1(pl$iH;Ee8EV4uMtluSRj2i1gNfy6p zaN!e*Ih?bb07EBYsLDJ#hjWc=&Y^LUt_U)R#Cei0Gq#3yxLG#E~(v~CPvde&#grAB@-=4kBuco;0N`!oR!`92^yZ(`Rp}Y zbGhYR8jt3Pl*gbW4H3z9Xb3&eIbwf{4$WoxQ)J7D4qfy^KqNWw0Q}Tk+jVnOMsybp ze_+}e;FUNLsM}c1sOkVk;R|=TC}d0o{>8W9@trmV{)3rPXb9D*%Rb24YN`(mYJ}!x z6K45MZ|fL>Mik0O%+Zy6)OULoe1_c2TjB3rNbZCik)cxtjgS7he41_@wChnrA&0IOd?iU!Qwpi{w^P!T+;9HmESGbn<2*Mob&&94DrX^h~cypaV1D zMt6XCo+n#B<39BA>{Z~KMLfpMXHeorW-FR%(Z}A;SCpkTy(~q|-{e#@^bT(-A{tt_ z6nROuNgLjDCd@bh`3LMW4!f)q)Vg~6^gI#}+YlX(TEyx9@BoKBg}(Dum&J#@&SQ&@ zL3jE#1NnjDF3t{B=n@H$j}GTZws{lK`%c9Q=_psOj}zz{Q`d^ZhgnyDSbtOi1uqI~ zKS<@>{VZMNzAJP2Lgz}K2Zn`?8c2pX%5`RWNXP!o3ujK{P-bTqJ-4 zpiqFO;vT{|J#x$TF1H$CEA^);e%?sWuM{wXOu#lG95sv4k_T2$(k3%| zsrSj_^U+^~8Aa%7nVO0i1e*(Mkb+uv1y}lVLuSxz{ht>xhtSA_0VFc`Qd{^w#-eqp zQ3?`tLg^jI;5NoEzXB>Yf>=3tv znPAYcl}*Ox9v3l9nGi7au908$3@tD#|7$i$C$el>>@Q>8+VMe4`hUnLjJx8H zL4Ck8Rr!CI^7dpK`HUV>%8fISX-tTB!+6M=hX)zc2-2>Q5yzwFQ0R^* zSf<)vH=#{TSQw?UCis0(*bJlDZ&cJW|4j|3iVZPA<6p|Y>Efuq!K+K z_+mv4nr&TsEox;$vFl_R{&;j2&i#*M(KMWEz^@>PW0wj9xBhui+pEPtFk!epxogb# zrhV&tr=yX!e^IdSObk>%+^)bGlRVk>q>T$K{gIpLq`REo&~JczX`gK6Ta^W z+4hJ!z+bC;GumU6few>CmHOE(&rtJb<@lgqMeV%ja&EiVr+Vol->xu1baPt)intk| zg;pUKs}y^00j0-tB2?bzrS%>HxH>7{bbckiU8lSRu|S=oSgjHO@1zY3P8n=vdl3XG zv35Pq#9xBJ`M$dH?WkRHuB;nEPO{G_Zpci1%K3p1;76z-zG+2vZsB~^p2O`x4nta9k(vBlk;nG~hl?yEx*R*j|bCMaD zwj*=~k=}MLM*Pib*wq4gEE?>@_YTs=2G;yqD{QHh&N#J8t5HXZdZ-ebddzU`@Mrqx zjNGWu!;IUDZ%-S}uLtycT{)3g_$YTZcVK<5Lc6|yJhx~U2M@Pj{Ow_|?@TL8fV9r; zkw!K~6TH(|-mI9#(~+TDCD{{K`RC`7W4fY>x50>#LQQVwlHi#=*Jg93vs1@huI7SL zyB__YN)_zitPzxq-bqionMNCdS@W7``zqvlMn_u6(@aC%WQa2u7WFI>?SG*sc*QY{ z$6P-Ds0QNVKAK;7%3Y_|-rT(6EaV3PaEUsgV(BRaSQ>)M6NN;|$9ZsIaLS`v*;2mt478u?nc? zxZO&#mvWN6&CGQxD?is8zJMovyb)=ZWVgtYS)op$@cU(}kK$tHQ2^-HC|`&|wlBIF z71JbxawK(?1tUh7swGFj3<`xakfsx`p+U~i1CwFqy#&Ux+aYt5q_aYRv<8Y2vJv{d z^(^m5SS!z2AIg=(gfl?%i~Z}JO#y#(?fSO!pyI{$U??-nZzk9PJVK#k;O5p)s^hC= z80#&jGeYR!2)QCx_>$==%i7Uymoe`wnykW|Ilf+OqBk7^dClW!YPV#$axkc>(xz(D zekY33(zpSP(U~~4j1MiaKeZinYYpreese`16EX$1R;~Ry`Ro za3WsK=$Ktaj0aA>*DMk$;XXm)Jsk!b+3&%VINR%8@HSy!`A1|W7` z_Cf3=R;hX6W@t(tWSijNa_VuTgYw$Sv*S_|F^)#`>mD>wh3WBS5r;p^mcd#8)rw%kE!0%gL9+s!lVOkU7i2h;oksxkJb6PB66 zUj!Eq&>|NbN>Ta+Clml;0O@;l^`41cce0m}T$@3fgLEc558O$q2s`BN2)6x&w4QPG zTZ44YJ6~aQyYw%`h3^@3>UKmg#p8#S6j~6aOU|cy{-uhn8f840MVn)oad5W53Xj3O z>b%M3*7%A{B4W8qOw*oxa!le=$VKYd)@U;4jT+Q1{{EsZZ1JRfuI&c|@jN4x45zq1 zg!uBz2Zr*BG{!sx=NyF~0@R6z|3q=xqbk2bw4}ZmjNRw3y4aJ~1lVRwI<)F?j2}qh zt!pmyzB-MkOhx+ESa-PZZNb{YgKuibe*^qpOw_o?mU9UAR` zAQ|Dl0q>E~^NWx}gLua~&0IzQl=Yf?(J_G;Z_&L_Hd6rbwWMMvUgrF)>?CmM?@O%@ zCPukRN!X6_BzNu|w$yy5v`}elW$$>%ZTsHE^q7ISF_dPtRW(rhqo=`r*zNr6FXvP4 z<2Shxp>Nm{yEDatvIWdEs6w>Mf%@g0m9QRvtZAV|Gd=U(utdUSM}_fK&PYjrvst&% zLf3I>@aS~$`(hGh-`813Iy|-b0T-VwdY6<-yt;;GYm02tob~4Q%L+N>hI`s}GD0ky zrWbs~--Rkq4z(>hH5GDgf=^&rq}xfcw>Nw%it`R)vX^~1*Hd#uX7tc+vCiYIn6iG7Z-mstoE5zOZo<9o5Y1_RP^p57Y-S?96+ET)IN? zJPajz{>&o4JJ7Wlvn5>{Ja(W|O#Z&68BO#XQIZ}ndgxH+NMp2r#d*1 z>$;^Vcxd?#vGk_a+5EEh<$^m402#GV626NI2=?uDb&i){hbi3j!^l#;mh>c`ZuUHO zGCl)a!*VKLDVf>!QRO>k^md#FB9W9U%rfu)U{1ZdQ&-ygNdK||uF9F6=wD}z&U#~q z_Ukhfxtybg?cRK7Y1^fmbcNoiY#tWc?-@`RkvJ{*A*=?*?{CyzBnA?&m+@mOHegP7 z@Isw&-v+>@OvdAdc6|R~Y@OG)?1c++2kin9nm{L15Y}4@yG7k*GDdy2+ z>~9V2t47wKnWO$icfelzLyN=pOqb>(IukuqGq7ZZ;xxQTb9YCUl(=f5jZ|DbNWP0r6NbgcJ=QeG=N^&0hiGAFo%kWSvy+=`cw?6y! z87S!@W={RoU_v#sGJvT1JiO+U2nWCIJYo&Xr?1rP904)#j)3^9=+k5LK0N8owCYX% zYV%~|^sFtwqFhJI$UgB8@Y?;;-r7OH?3JFI+VxkMpf{Uw+aX^L$h(e}C6kFgk!MS0 z%RZxSKa(>E%{Tr_vaiFw9E?#95UvA=xlo@wOQLFx7sZ?J$6a0-2)FF@bfi;U_#f4^ zJwhFj{jr&GWxHk>E{by>zgWmm{)8vc7?Ko#SINXB@;r zq@?98CQh67&DWBNYL)}6RmwEic5hzLNsHK$r0wdFIt8j-4`hwldEaw}ghFb1Ny-Wt z?9>URWerY%{OEJdvJ>o)AQD@r<$>KQqQe4j#te=9S4)5rhf{pQeEygoqq?}(e!TMjR)iRq z_|s!u+n4sCF){u6jz2;Wo zFm`cn+mU__48E1&sc{766mo$oP8&d2%Ui-?h}LRH(1O7vd~@rt8@rd+ZK|aMn`3L= zlDR)Z!+KzCJIGY?n=6?h&LZrvf4j#~XiY6KLX4Vio1vt_P8a{nC2d~9lrEE;-0I#n8cbIF;xl_%{G3f_jJ zG1y-2+YK2YWuBvAoJW1lci5-p8x@qvz%$cD9qLIBM~e`ld12TO1Z?g2`I6Q4o_6OC zVw)l-Rn&z97zTS8PrORa7|7XD&K_|qi)h040 zs$8~{XR-yUrEN=x9cMM+)h==fHyqTO8L(0KD)}7=jewv7G@57h)~gb89`c=QTP`by z$9x4fhfa`Nku_3=PUCwmiL-*>!`|%sNq@O{ca*FC(g*^<0bjY1K+Sg~DxSXT;`LjV ztn<8}+Cd_mYOT-*&7lBuG?5UR=(~i<8C#{ttYoguvi}=uR6x{-%)XFcCGf8|8*~YB z0HLjP-ssRkL8N^-rCa1hE=VH)l{?O^&VaR%uhpne4K!zSrpBtO-482hNqjx6$QZwrC0DX* z{&~Ldv{0q>V+^Wm*Vc}gOXdktu}Tg8$7LX@dDoS>h9`vaTF8JsWZ`&6PA1QnOvb!l zOG_kL?3Wf$BsueRF!JE}1y3lzvi^JI-z}<>Gs*ZSZqhD8BZwUf4QohlQ}BuI+mL(4 z5ZqG_K_+w581zdE@5H<4YG)W>r_rwkJef@Zy$xw^_RFecTrkkNXp|qdIPuoIHKWAr z$uayQ<$2dbMTlzRHnSA&O)^}M{Odr}FwEAJ+r#3*c+THbz@lg=VFC92EqcX$A9OOC zKK^$U|AKrmVVtxpKu%O^d-M64WJ!?OHa%t6VC13af5lD0wcwIGKA*El_ueUgH)Uw2hT9CG}xxV6^06?qtdP_qPnDJ9BUJlfgiP`{6a)0eJ_Tk}i6 zJ<{677(=5?#D>+F8%#GmI8g>1A5|6@jf-r_hTo?>XYNk(Nl||%W;T?`U10mfsk!dF zTP{-aO`c084Cc=7l$C16vLR#hF^9W>W&BB+4tV%g5GtVXr^N~#Rmaz9k5Jo!_STqD z((9+96IOf&(v#VZGuxt91gAjRd#)h|d}Bl1P($qq^7C#3!li8w{{V8v6Z(@z%ijHvU|2AZ>+d7#2VVGm%*^)RY<90s<5FeZ_qH6 zLD<>d0Ccp?_dQN^BcDF9;VJF1NS#D|Tg$-8o{A~g(Som@?sT-!w-3RRdnb3VdrU^x z=Jo{kCRIk4tf=R`Tt=lvmss}tn$l~_=Sqv#;2z4OV)^z{)GL=%eo2AmvUOvBuvCwTzyKhA zFeG)5ZeqC9 zWk19~>f3(XM^kja*X9)B&N@vvXY^G}DU85p&7@{&lJOqFx7!cw@N;Atg(~|Y&$N3o zfT9}UUN$eW8-8wq6YG?@r|_({!sN-RWppq{$hVXR0_?Yi(4@(Qi~S{DTeH1_6K|m| zim&bdL_uchp%PKn18k0$hf++ovry#orH~_BFm|MiQ$aD&at)!Fmq$d3&83KQ!H8D* zWsGte?F@Ug(5?<=q60OWMSuGzW4);k&>hGvmvSoss)qe=*Y^s5p~xR2(PRw^_B@A2}nkrwmIyCuZG(|DZlvVOZ98>GcrX zgJddt)E-!RF#B|f8U2;c@!kWUxzVcMyXAQ1`@7Q8{s50HMD4H81DP44JJ6?RvF(<8 zu>7mG`B8sgN4Fre(Pg;7Hc};lm={H^Fd1Xe3jMi~1!ylfyHB!`vD5#R7w^gS_tZlz ze|;qm@d|*+UqAIHqMRPO=?}E{*|VCy2xx8QJ0Tdq-*Y>2vS<2A8%>ijOcduA?yT_7 z&hT|1D4K`*AS-_qW>sgp@l4)ml^XA=oP)se(wE3>7In1VxD5H&iW>aTY|F|~} zsW&PVZH0EJLH#~6V=UulGvGAVXdyB1j%=>v%*GF;%`9i9B}n>^#sE;Rd+Ig98@n69 z(kh+(udxgMyoqd^ffML5o2|Cu6+82tIQ17_p+__vTSRk&0s8m7psr=|Y978euQhQi z?Ab}TN=u$lx0CwjvC~aQhm3Nn8b>n{Fn#Ay5)yAha(1yI{(f=x22C6?DiO<4vc)a5 zKKECQngwPD{97r<$5eUzyLH@(BY6J)f=(zmo?r&~w%XW^t4qHfAS>obCTmfb>>u;e zFlX#+{BBf&OczL<8v5dz&z?^tZ_v-_{HB+uhM0c)-|zvE!rBu9F;#D&%%20{qmk-| zsiQ)pspp!nIBtnJM}13;5BDyO=sLSC$X?kJa|BafGq79}4HuELAEh|zFSL~POPbgL z>rH>c#>i2BdkJEz_oX znbYAI>dYf z2I!XeHms++5f|z)yHRZQHK#crsF<*b)2=`HIREn_j|~E0l(({s4!ZAMGsxMJ9XWf8 zqH?bGc1%p+k6!lmY+Q)8_va|@3OSWjD%{Gb)Ie0*I11ahbltJ)Pf}cNSI=|Ro@xe$ z3&3Q>ki}wMvSmI$IUBZV3~(-wRl20vm&O|LM=PCOn$3&L(k|X+5v+qUa%vJnPY_hd-wNON&9-xU>;isy|+S(TU+gBp&ec2Cp~ zl~1VGym#bNhr;Cf{wi$3cbU_q3x{3TbH*eKhnG~qFeK@u?WR=3WRU`GPAG`xu7HH6 z3CT1cNI?`zOGASAMfYze9tg?5KZmQl~_3ELWPvH)NI)CiB_$oFr1byny6DE2rNI_ zRoYw_Y7~C|w-#jX;=8eCQFArBE{cw8@satvlgTG}iB>Jw;oS71%~}%iFqxPUGU*U1 zY-|19x`;sYoQ|1s+rR6y2gR=*?3o%6=ME0&tYNaUZL;T#?9$s7;@;y0R<;)NgWCNgug`RA?D^kH3gB0uOH{~aZr8$yG`e_E27I5@1XU_nu-jjpW=aCxe#kZbG}6|QU@qPTR!q8BpZ+~C zx}C$KB+(H9S{1OD5>dGll^(bmE1B<3Xp^Q`bD&z&?P1P#R2_L`RNA%&=jc;oyCtVC zun_W9-3e6RAFk~=V&0>zICSxv{L_AeN!)2sRTIma(k$dPI3I48{IuUD9qpD(=Y7f1 z0sZ7^UiA22au9Kp{v9Dsu`>1Jc98hexN>;Ux`4GIK2eX@4oM%c>eV#EoNV& zmjSbZp^?0t_RJi3V@*%=9s8iDxY#?#au2!YaMTTWOQKg;4tW>v)Tfk$SYLLZF}slB zltck5)SnS>nPvoQ*XUEMe#-y@(``N_`F%CF_pbx!zeCp>=<^$&dMPb+rN)(IwiU`!xCL*V5u6I!Nu)!_jJKG ze3CNN>FnUef{0Z>Wwe_QW?6igtR;Giwu%X*^6qIlwptUSVF8nJm6`=Y(iL9;+)e}4 zTZY%(&nxU zqbHh5v<)u~%{mx7hbu%B?sWDEHUV`@s-+b7Q*y^7NB!!Ngs* z_i`KeoOm%*VlimEo4+q)`5eUo*H2>~JyCBQVjCf!D|^fzuDQpuu)ops(90pn>pSFa z;BM2oOsDII471ch>!hyjp^p#l(x1wAf>vLp4XR*NveJ7#oC*xP;CZ#-v4v8< z#Tkq^0Hj%I?}UT_VAe39L}kTPSJ`HeY8+}X-7hUMT$fu|YuM|&nsy-*VOZM^P2VQu z1e3QVVY;VT8!j31%$zLpioiWb`vl_fqpb{FBrcFFOro4C=j{BO8lt z=t{)|)+>T!=2I5H;HgvoorpM(w);~j-^}F={eTHYEsQKfk%?p#_x71C9}%S3r6g>@ z;n8f-1o`C9X|*nbA(=$g@^ICRb#i#?$+g?=Qs}XGR$#dOf`@M9UYxGWzNqUt_s6>E zk`p!7aRJ7(>g8^^ZJQ9QfnYI5xopkh3d!_dGWP7-$pN}7u4k;z7O zvGa4)ca;Ub9{)!5`-(@G8->l95NS5`cw%Y-cY@bm&yG;Q+3cZGJdx?~vxg zOY9tE?;844OIp`o`R@14jl-d;$I{WHF4*!&G=K63+`c*oV_W*1T)F-ZyNbd zv$K3B$Jmx3w#)vEdBxmnyX8Z{(I|@!dP$rAN7Q$KHPNhX69PmG5R_Mn2%)H0sG@WT zf{KWMh)Rdhn>6V)L7Iv*Q9wE(O{(-xkS<72dJjc9NvH`B$iKYjobSJ`&9$4I&FnKz zx$kFYvoqXY(}p*`UMlpqSClC>5y?<`u4r6R^R{jN_1~9XRgWj+ZIeDmmxbc;U+pPf zj<`bCD>=E4fdAVY?#bL-I$PLwsTGz$wby?fTYuiD(IdPr2jt%JM|D8pFe3k!Bk72RvN!k^yN9z@N*C+AjMCwtw; zJ+?n)69~(g2>NT zAJ2xY)MuV4ygpISSC=mR)R{YE@uDe@#}@_do98{Hzg~#5J?HCJ(3oPu`_HW=zw4il z|Jk`@a6I%bz{dE;t#+AZMA?`?Y1cbG;G)cG=O;$e`NbL=b-Hs=OMhg`Ad0%B*|zbp z;$QvE@@wZE-K84i0xYZDhM4_I8qK+asufC%j}|vZHS-2n|DHcu+h_zCmi66*CKNli z-g^B~LVNJ_UlV1R)`p(9$30?QP;>Q#+mFt*mV1imFU?*fcUN$Ply?+pr}~HdWu$H) z>(1XIkGRywyoIqS*fR6PzuE4Z6?PI#Pigi=^({>FxOhePFekV?^rP$5dBl>iQ~oG& zbJF3ZgLu=GGYLXm5Z&}w)1uj4dOA1lpYd`C>pgr?cIoqK>$a%ytW48IgrdHUeDnJPqUmm`lzPv)G z|FG`DJN8lSmAgALAtMjo->>FY)&4od$5rvBBrfWs@43sx(h?U-Wt#pO*NBU}76B_p zq3f@|wI!q(dU-qrqcG+d3$Ok1=kFAlebX8K2_p9HxVL>9Cnh#jEu2;1EftTw7g^Ub zdwJbrYXi~a*CwE*iZ?`P6=hOf=z5>m1kYIK>@09>LtZ>tH+=Kb1Qu7k&cBV%4(q;j z0QQUMvT@)q~Jf=j}^9IiI6ctWuL$eU;wkop}q;!TeD9J>%US!-V`uUqgla zk!RwLo9^BuJ}A4<>rReB`qIXfSJsV*XhdrhgzIWzetygGY$4aq2!?9i<$o2ndnU`) z%MV|YqbN`AC<G?|fy2$G5tj-d*oUq6$E5CpY zT%3$*D}NF+KS>`CytX6LL~XoF5OCICbTF{VUjK1*R=J-!Zd66JYJ|WGpKvRL8~Owpd|B-SxMBl zd|svKbhbg?7ag@d+dq>ZzN(Iuyphhjt)n9?aJk09Q{`Sa^nwK<>%#N9qrYV|_bb^q zUsknW)Q|NASBU8q1c?21`RTAbVYYRW^s3mn^4jbtYt1-qC*3?(^T3d>@NVyrh*hx} zcy5aaNz^+1Bbr|+T>ZIy z@QMC&&c~RHFQ3A@9ff}0+H)xJ`4X`Ejrh-K_t%2dmP;vZGKtF|-#?C*QqAK~SB%po zUgiCie6WDCm~_-LOTTz!B&G6XZ|%{GyKy)3^Dgke>Ua^_eZfCE-Ry?SV*XF8uBi4W zQdlYXPa)^t+rDOJE<9EGK9fmls{A7QJ$x3+&8Ky7RxBy#ZL#roQEYtZN1@;mDUoN@ zIT3%1W}o;;s$=g2IrM7FCz-{M?#XJV9}FG{&T{PjtX9}M4rbvmO7pQ{F@L-9I@V;& zn%}?7QDtIWTZM%$@J5fhm8K;-?~k>u>xO3>+jEpYXaq7P9}5ZT?Os$}}1@5Y_v=LxDs z<7v2mebgM`v5Bt&k~IajNvqkk>aI|#+$8A-Fel1x4AX}biMxMV z?#I5osq}Eff#Y5i9~^ez(_@=QEa>;5-;6BoXMuA4c+}ISrW7=%o0fKY{mO??^=(|> zclH<3K58G|z=e+|={2bBNUjPEqNPB_?LRSBkG1}!3jV73TEK?|V84yK^_D8TfaH+M z;`=exuePt=>|SDh^?BGP@u4LwP2j;x&y}*P0&PzUwjv&7NM_xdsC&ZYq@HAKi8>QM zGHm{5jU|5Mhq%27+to=!4&Vd7Iyu34Rd02+Z84uctmpY!)|nacx<}sOJi{+vx{O6% zF*63C>&vp7B4$grWf`|*cRo;Seub83Bw?8JAFk9EzwwdU#kJRi%=U?j_lb&C55hOaHPNtHOKd|&p+bHyA3H_jFe}t^1Cd^^W$RDiDX{K0Rj4;&u|iW4y$nu77J~nIRs?LBn2mew3V?%@7yzozpbeStFck_pb(!A&xbXt zzct><#D*$y1n~Q$V-CKwIIrvk)7y1{O__xGkEKN#-w;Ah=vHqUiZlBmpGyFyq+X}u7 zh`OsBB@~Vjjx#R}{ml}qa94=4SIU&B!qt}!pO|dfnH<6i=LKEw#bYfNJgl_^j!7mT z=&R5B<|t>VA7++}=eNZA43_xjw{QkInv4A&Ze9zU&a+JQlnt_MD0fJbMn1mt*A{{W zixuT=v)1@k_0x;yS6AfKcEl>4KfIP%yPEGy<4u#M%pnd7awfiByI}^aeF5HbLmyHEYMu!leUBpsfupQt(tJJrgW1AniU{#vlJ`Nt=E5n|5 zxn=hq(@T2KnPdjriIkzYBFN;kZnC$TsvMdZG~~}@gL^YcZKap|OyNfkfvZ&GZ!gTo zvom7~N;@Y(>Gy(A8k*r|j{@%mah2JAI3^Srl-Z8z9e0NX@{hMXHZeAv7GuwD=H3rL z-VOAm-nf@qMKpt=V3bGKX2zereWlRYJqkHuEH_jC^l%4)K+L~We|GG`cPt#D%AHUC z-HzZC);a9DjcJCa-`oGtdYzVgWIaAvJzy61a{hV&bgm|Lm)mG5>tvq6ffxD^W#!5^ zSJx_pL%k*g6VLH)JLK=4&u||1cxb2k$?Wom1hd=m2SxKY_r?Jvai2?sG}mVJ5wr^q z1~{HH-Bmq1pk=OlC&-c8qVcz>1Vw|jC3LOnc6(%P!!>;R&@FNr-_aU>&{*%eyi0Bd zf*Z@qj)JSyk=TbsyLqGVhhMi`Lfsz;8mkQm#m(aRd!ow3GJ~$J_J&(!nTqZnU}%GF zEge}zlv8Q9Tcqx-R%M0d>oHM3Ja9nWfG$pR`bu|FZYS)ez&`m%jYvFmd>@$k-4L!r zjJfK+G+;Lrnd>JQE{D_>I2u%qKi##drj^;A_lErnRc!cP-)vka#vqm{V-$Wvfk{Dw z?9s~{I^^<)z-jm<0C=X*DE(sRIc*EzGE{N+ge<5DzBd-g8FM7gOH!vMw_Qn(isIpA z^uN8@086|!s&kvNStgHGUrdx!c)MoH`ly9zOtMw7hY&aSc`;F1;YevinrQTJKQTfq zlsbP@HhU)ZV!)T@N|dwRF4IKXcNL$W9Qth%@|tP z7QJ1`jOEnGCx?l%LZfYj@Up9a5Vz8$TWjwCTihP`%v(THQD>Y4NRg@haf=zOaC+*> z)wO1h(R-UhUgeVu@pO3Y4GDpqw=b7J^M8Jm!ibVyJZS2^QJxAzFOOylE2p`7-xHV#P{-c)UzP3v3OtrZ8E+V@muNEm8T}lT4d`7 z-;RQzQ_RAAR0Dg*IWv_29Ye6^t3s~c8YI|drE#Q2UAVSX6z`@MUwoP2yMf8MTvZ78#d#GeE z<7v$vH?BXF_5lt1dwzj5hLY>wHY6A92M#2Lbanjn%7B07x_Rtiv(#mA%xFB|G4pX{ z=_$4KcLhDX=iZ&zAnS}Ava^Ni0xT(V|JRd68y?D60Tbvc-I4CkMLp0{N9?oDf;G+>FOei}NJ2N@V+-{(#K(-M22%crx;z z-QO6Qa*~fYix*^99rI5)3?&}65zpI)R$@zn_CeTbB7?7B*pwaR`(WZ1fiwXmiT;c+ z#;G8c%4qayr-rrg+?#3V|0=oC`Z>~e3WBf(I5$QIcuj~9NcX(erQUl&K3B!%@8Tm4 z?{Sb-a29_?(^eP&zM~nvntxORY2?(W-39fch0uTVyCy8tz{Qw{$lKy2O?^krZ`DCm z7ETwWF{Dn+D{X~F8;>TP!*OAXSl0YJf|qG`a4oeV7iR-jpmSzS_%O3mUQT$^h&B}H zZ+h#%E07gK+j;q$pIg~v7NB~aS;llwpGuQ4kpJ;hB3pZD4?NlrSKb_{sa0uxkpD&+ zyUz3X_;_NGiEP~_`aM`iS{R?dZRDs@FiUSbqtkDBd_6186~6g(gDZ^{c4$oONE`Aq zWNHam8GT)P#eeX6!xQJ|@AsJe8GO8K4aD3YNl{D&mT5UuTWTx( z@YskTk@<}^;nB}YW-GoNecS^q9yDnfCZrcfRf!3%PFdPjk0X`4wYSw*uTNL6BO9}M z>ZTrGMP+!br|Jx#p??NIeKaMTxg#AV&fA9tNl)4HXL?llLc- zgb!CNNm(HioHVT(P3kV_z*#HLupNN2(O#M06*?Ol6O3^tcM@zDu(A@8D|S!i2y+c7 zQ6`KeFw48Tx!hq1YucL0tTBdMAM`pGo%CYHXy1LK@=3#@Zf?i;uqUoe5QP+Vl^BoF zGIH$NL+Y)k%MXZ(_h(IbqVv%5t&-^Rfd(KAjpVs?vOc)eI(jyhT~|i2B*qw~-T!bk zJH4SixGwNXY0OVCIN%8ki|XBMD>UrjUbF&N5axYzH!KMz%#Z-`MGS%K(axEW6>#~9 zzV@j$gc%Oe*2+>eo1kno%fAKxRDvtPY09uN&J}P1Xk2*+QjZ37DGpx&v4aCKw=&&X z=V_*uVX-+sm*w10wCs5TTHgXnCyQ@#7sbLJnBsJBUapW@HU;o$Um^Y98y~Q~7aIV1 zFzfiLe)2^5?qQl0bd0 z6*&~(`bbf3aY`Hj6|P zX%2J+f-7#fYpVtjuer(trQR*?TQZFn!DNNAD|Ge2>5z{Zu+*p@%eKn$1B@P^odp;H<`<<-dD!jz#cPh)Nq_kLi ztm-A{-Gc#t3=l@>fJ+nb2&^V%bHOS|s6iehi7s)ogH17~!%W}E@B%5b7`S{(KXKu^ zXjh@v7YsnunD{PBN){G91LzqKfB^~35psmd=56t&9X57$3#4Aj{b@B13Fjv41}v z1Plvu94e6ihH$+0AJCH6H60?|HDhRkp9q6T?}*EScjB@p-0x-p3GWnm7j#@!@pfhT zULV5epIUH|!ntEQEWKZrc7MCyFBL`PEB3WhxCss`15$C&@xYEcCsmyjxX)PfnHmtH1{Z%Ov<}JMoz}}w4IMT_8@o~8=!BI zE`0$@1wt7?A>Z!XxgDUyl&-+M4pD&aE3E8fiP4eJ{=gfhKw>`Em78q_z{R%51~<+Z z=j;j_fb6#Q+widruslu=UT2$vrYo>5NI`=ta1hfoc!)#AcV63@=@7s_LLA-8qJw+f zU0c#ZwnAp;@j#ExbSx0J;hmH?3p8#3`Z$Pl;Y555Fx|NEd*}emZvXxC7(P*P!nuG9 zdSm}*TZ?LQkaVElT@?aEJBVou9faIgAcN!KUA2hlb-L3&q7q+9%t3ODr-YfwXc&&y z6;WGFvr|oTfc9@a#u>77g6*)aB;8j};C^BQ5P5&vqkgtA4osRhvN_8;*dJ}W5{T>3 zwz!nuE^`{%1KdRSR)Rel1R&)=^O*xWB0aEvb|TLIq4Lo!GRQ<(dH^u?_$xBlMA;18 z@}7bQ{HXf{GLY6pdH?M0e*$V6baG>x4iF8w2xodP94K1F#%zpz^*g8R#kt4O}Q|FoytvidKT}0S)vA?*)5hvaOsY(z^cV zCq=AV006VC(4Jm&QaW%7>;nf^DW?d>S;w$>DyaA?kqu>z0Uk^ZE6fhXy$MM8AK~Tx z19Kb$%)2zeJz3TO%;Sh{g36yV#3o8r5opm!_Ng=d%NI^)!~idj5DXqa8UX)?M<5ib zA20w){tKv@L;xs(J9jH7%L6KeSfL_#P8)`YWkC+nFQIEdqp&Z?ptSqlFaUp@@?n+W zaYQC$A{gkPp4zZkxhdw!|F7^CZ0+A0T`1!aWElW|q`HP}{9CW-Sn&UJW=Z~6>Oflg zQ`L>LoR-LE&c5|ip3TcAammDPh9gc({@3W`vVR-1c{c#ajs8z^F0tmISLI(TVaTcfG&$5}8P2h;xe{Gudi0&`MnwJ9?ym{e0RT>_9R6ne==wy%*fy9C7TQqkY1=9Jq2?25o>%Q5BWETf${9Nsju` zI0KyTDDjx$xE2`C;b)e4;@Q{cX|3HHz30Y5m_?ERw?a_HVEQfyT$9+ph;@t(IxB3q zt6mRyyq`I#brzy{^jrBShr;{ig}^zcM~tH)K9@JV*q-uU{kq?3f^%jAQh7z3 zY2|4J+hncm9rpag-H;63ccyJ##LuQ?91s;mJsjZs-q43@e3&K7hG;$>peS)o5veI{?1KQDn}4Q`~a-4p5wTMP1UlbR5b21g(V}2~0w`o`T;GK=ZQ^f!T~B zYHUR?BB!go&nvbK!T)IRKaQSy|4Z7#N-!_m+dXDH02IDNprt=%0iQUW6GBPQcSQXN zpgG2L=W-&DFLcL(<0SIoA&nSlYn4rs8q!L59(0NcqnD0df)Bv|LAbZ7ihPa$GHEMp zD34t9It8FpkZ=T}{)^@!l>edmDVt2R!jpzsM%ilrWrra0ce+XdY2w++SXxa0D+g}= z4uT8;;Q1fOy0_Ax3fqN#orV7a|4RxR{$m>tYCkm883<_XQy2>OF~2EYdJmH(mV z{^dpbU68@8d7A(A3qXNpD?q*g>ptWcJ!Lop)c-;4OB%}mekV+S@?VAnbj3l0)1i_P+Ze58MxaXTXyWym1Gu8@Dh6}(GNyt}9fI%U8~K!>&r^QUkXYwhkO z@T?tliq!y}*5}=YSqfi73a!tqEQrw>7QBL<`8`QKsJ(E8EE`}vRatA`7SrxK z&(e9na%1Gxi{3oLlka~UM8qnY954L70l@JK`{LB%k?M)*we=TwwZ*o6B?dn#L%q+J2vs^!6Zcal;f|=Bz)hB7d5={h zG9p4=c&+SP+b9o(=chcSLDk3N-uzn*butktqC)7qA0{>l()@n`V5h1v~D@rR8A z%cX(Ud$I$|%Sy!`>V*`OKBnx}d<{|8`ylY4MyO^@zMLQw$i444>Jrd$<#>NzezsJD zDsDvCPL76i$CG$(r7~RbETU{XcoeR`gI*3sDd8^NaTUtYn+o~#P2XJ`)_Zwm2e=%`SDc$UWxZ#I=w<}{I1$5gny!GmX=l=ot{O01^3 z^~JYHY=|U%37y`TpJc_|4VO~;^dzatzWkC`9DPQ}MdJpgHh*oKQugp)vtUiz1IZCH z{&rN=Jow>imj6{XEoa5L9jmUz#vZJ8kmojc{HW&4ZQriNKRv6uOOMCJI}kaj{q>FE zjrk31In0KdYU1xOG^AU!JjAGLtC@z_>nLz}9O$@~TL9NS4p@r;T%ZskVq=(RUzpn@ zu~}gc$xBNfdFhw3x+=NfNA`WN(bxW2(MBuzVEZwtk7Ub^rFhtM^jW#(SW80v9~-;u zBt*)OGXn)%qd&T?w_FvG`6JNBBbCQMKpMoiyZgYM|g+Wb+ z^i_|Fk|Dbq5J&7`*}a55x$@Q`Y3?5%#>Ay! znQaSRUgmD)Wql>g-O_)XQs&ef#@R(f^%@CAR$e#{KH#ruLKWgmMJquZ;0W30PBWm$FduDk8i?=U)YO$y;{kH%%a&}p`ij{buyM=yqIg;DY;#1m7WStQj0QNgw` z+lQ4w^axX!Dz;v+w`0qZLFr-JP>bdkYfthO_SP0l&jV{OSSfOkd|@Qk%sPrp+E5D8 zR5)+S5#xv`%cZEX|3X>(B4g*b!gi#lez4U>dC%W%l!PrQ`ksORP(3(Scpo!AOtv!( zk@wY9iW{BR^-)xc99@pt4i5mi^tqD*DeAm!?!J;I!ZClbTT2vc-Y&hJgsEQ(2iyXO zWm-EVf~%)CYEQhwzKqvq`z;O|(>ad*pKq(R;M* z-Uvrvk9HyhXjPt<%{-SDl~jtOxJV;?$Ig-JV4 zdcg`)x8AKM{BF#(W-4{!>Rs38UGx-TBR8=NmD={;_C(lxRW+`D+>ENZ=UG5+K)+?o&2pv!On%%+0uWOjf_Uf{I`9r10+x8zc z)KA_n%3ogZc+OTczvng`Hg)fn@3e$UXH{P{!$jbEGxHbY!eJYJj;aqznhQCP-;^3F z4fuWO9Q$2;Yf0LPD*97z;^w2xv}yWR9Z^Yt289*uK0wAgF0TE@NAhK@_Q#l@zv znVl>5p66C!(WIorX6L7->0e%KY~NHFsSZ4MSqoyCAk>I!AlCee|BMw>Ot9 z%KLM1i+|R@?KQWD-LKQ1?r32d&EGq%e->F3`r5;Is4HVhef7^--(mjsFVjl$VK(M) z%aiR8q1keylauY{%3ZYdDjMw#sa0=u&$|Ck}>_t?hI6>FmXP>iMe%r!*o<*!NG^; zlhV(!`sn6$0WY(f=xsC9HgQTXa%Y3##`l5@arYxc6nTeJ)VeldPMK;ONPfIt9@s~w zEYh^PNCa4*w|#@>ZZeU$E>p5X7DsaWsL%HRh@FHbmdBx#*|UVbdIj^>H%J$vj$ zC6rlC$;CrC97KxE#-^A5h<}qkS&(2w4hpXkZwxW-m3mhlaj1YUA*rVxLi;j&#$~{X=yjp$@LSp z@JZTh64A|uL>O(4ZOB4W$n|?30VWANy33hI7CSn0E=gZXd1vmD2fZ8N2k$re`g-55 z7O^&lW;qX&d_Phn8pZgRrg`TGq-F+E(4C)~)ivjq#JyU+vkwFh-+2u$UG>VQaNw=v z$|Sq%`s^zjII%=%!?h*;!F#Caq^qP6`y0n2_GdSf`SaB#Fx&Sdk_dl3K5A?EMXV90 z%;TZwme(7u55v68=t>13~WvFN#uiF+K6G zMR|}1(KX^1HtUjb9lc@;pXOz8HO3Ty%wBR@YMY+C8N07LGj&hiM)Vqr@O+dv_{1WA=V0b} zyg6{f!r5?I3j1VQsDz))5l(Fmzh=Hu zwHPFi{TNcx#3rFqCl?oFPqExQ1hGO4Bmzl$bZxd|yVYQ##? zRuQ3@`cQQ?=tSooH6lif*XhL<4lc=MFVk_Z<^!)sg?jn%F0f{jpVw@Ambc{4dg4i^ zm|MQ-0E7;HGPF|xB|j__2-zDA_V%$_SY`RvQ!bzHoaX(cFH7DA-81XPo9PY7 z`Ln*@xzW7N@^g;O`)OZr%+~uO&e9O3E+zJX8h;s&8Iu;J31qbF>jy_+-hn>}<5`~~ zVw>_V?R;mNtw@#W91RR0gp1!HW4f*{w-K)TTx$ER?JVE<_2SXx)&lKl8p$2?Wbb;- zmkwSMU3Kr~Vz`_Y$v-Wbibs}ve~L$`^$}B= z8CS{S+PW(iUM-*Ja<#FFBd&h++OYaW9L2w2DY=cp*FZXQc~?>KIWw9%a#Y)X)UU!~ zgwH-F)1QQxQp-ZM5Cm|u+gv{s+K3rU5PV)zg@21*k(;A_WZj(&%DKR_CFK)pt#)9u z%j1TW;p*A4*6LZPRx}*u=g{Zc%pwfxVM>NTtFT}t=)n-EVM6Q7;!Jr zpl)PlM=SGQ_mn|aOpKJlh`GozYr1p?l=PH-s9VPtoIAu) zMT0+!eB_%Sm;H^&`&$@hh=%7*F?+>7Z*WWw%lYn{%_bsX8|gL;ozjo>kBey=FYP@l zxH)7*Q+luI>Dmp?^Eka{@=pWRJbxUEw-LTMBb&R3=Z2wuSQ?(aT42C_6dirY)_gVR zq?^bU5S4vGoAea>4OE+9Np|r(D=r3>`_{_!TAu#RxxX)S&vg)4ZGrj8Boz9_8Tzu& zE7r>%Yu4c&pT>2BXmW>AQqR?L+%n#<3N~nWeH#zX9d(<-gFK#PNV1UR!q?Mi#knti zNMV+roSW%$EtF*JV-L@hv&J~}vtR~!U__=o2A|vtDAB2(X+8$1&Y<5JQ{*mMmFLb& z)T8~Pm)|H?*f)vYv}*wih=+I z-b!akB+e5|9eomcMQf={Z<@XExy=l8 zP7edmyLzqZVm9dC7-ZB(T%+N$@mn*+)O^K*uY!}F3gzGn2#4V z6(0x29g5ifMQnL(4ltoW;1tzW@gHO>>`|vhVWAV4EcL_ z2ip5iCI4m(cS7s2i1L&4@C&X8rZdTdWoPk(TNINv2Mj{0k)Di@2*@>O7Dw5T1KQLv zjWkJ5QBHOdM?j$7$@|XcO6_z;vd}y(0CW4#DV-6|VZXf(;+?JKC5CneVWjV{(1^bL zdcj3!fz=}YcP$rwkSl$>_Cnb}EpyqBj~udY>oKOF^BjgJ$^i4olBGZaaKWU?H4-eKx)aXWD#idWoQlJeA&ISB&d z*{kR@aivzqX^jTW$bdBSG2&@KV&a%+;-=kVi9B=uRkK4WFI&BSIdd>~h|=GvnK6fY(uK+5+j?q`wmAYIm9i_GC&m}}OgqV9Df{^u``#A{h zokVlgAr$kH#$za9H^kKifXLNVv9`dAZIXY?=$9Uc3$8}kEzw#m<+j|F+{e^-Tq>uAMuO0=oGc<)<{6373D z6TlurnyZK($3fxL&q2vcw8%%(AA%V0FiFb8Lj$BU0Pt#qST<&JAOFKr%oOO%T3k@v z%7a5VCLncA=#Lo4T^caIb_)~9mh(jW@B*?KL%bV{{dg#lna%r18gqOn9F{kT34pMA zTvdeP2@;gM_4G*uNy>9SDe)Kyij$uUG96G2RTCR_L}JQ#M1c0eIh9g^c*Iel_9AsS z4auF!>>-@4&y1@%Nr^70MS`Ms_yl>^ZPbq-zF1c z{29Yi3+G8jE)OQ)-JGH(FD@^|0Ymj36s;v#`AID&2wd2~=SGA~iqL3yKkGjgleNDZ# zZF47+0Dy110+mMxk5m>luj|n$m*(8cb%+ zhkW8x3o;?s2<;n|CAt0r`A^$W(IncQrd<>{vgw)!(*0&Xl6HH|X8L}1^xO{vZ*avK zR{0`>jL?R_kvuyOklZ)-5k*&T@zf+wF{JrOAlepN4|hE(g3v@(C}~^TjBs3AUV>b= z4Tq+*JeCDpJd;LUC@VhT$5{WGr7@nNh}`&oV2=6pYnFb){zM6BwgZb>vkK=s1v861Co-+#!#h1y`*2)HH=od|5oe zecreLaAqYwonrk++r-K?LU@dLr8|E%1u1#?*l z@xm_%=GZ%&`cmmk5{l-viWHodbZQBuf09s=&qN}?JC7vq=2`QKUsoRJOc0!NrlTAE z{p$9VCR2)0G{}a%4Qv<+G4=-ZqyS|#p4sw?czPynJ71`{i$!g|HM2OBOVnAGG3g4L zGgxHPRgAt}=H+UrzbxNARAkz<<&(LZhM4#!lf2O(deuT^pqw`;iV0$L7%WTA+VC|2 zgo#VgMax228}Ie9PRWKl_u3%0(YPyy)jt$FUB6g!pYpPi7G&vVct?U{@Mk(Y#MCWX zZ!SP+4R$;a8W&;o3T+w*eSCrSpIYln_%w7TMuff=@IHrJYx${VAZf!VsMpT2Bt2cO z{x}x|;gg9^;Bn1>ok{=N5ptxWOdJ!rQ!8dehKn?y>q6&pL?kiBoy2zu(-`A^;?D&4 z;JUM{md$?^YD+12zYA#rhfYHdF>?VZjBNAbwj+l z_qsG-#j(Ld5u_j2ew7kapIo?5O%O-Y9vW9@)B^KH@O1{P!|W;G*S5~b63FVkJj{FA z*S2y~9j$VxnrV3nTI7)k{yA zf#~!GW&5%KT#O2~r@Dc~0*4_~?F6bX1Iat5zN@ZXbtk`3%rP90!^j^<$ zr82U9Y}|9jAZq%-OI*qWYa@blC-Quq4(q>NsqyB68> zyupV4EbY%fr6!(=@Rz{3RZP;vWHd1mL&tB@aP*tf*IMm6VD>6zX=~l~FJdZeGU$?0 zrdebp8rWQqHk>g9<4x$94JFL#_&UfNi-$D&?94fd;ohB`ErsTAz_^}Zs_#qB)<7}_tueS~9} z>U6MQL@0n)1^JI;I}C2PU=JhwW=+i?0aVl3)H{;}ed>k2TAs6&$%FvpY$+Dl+0DB2 z8!l12T0|;-_IpD73d(o-!Q9WreM!O7Xo74RL*Eh06g~L_Jcywz2a7mN99(R}@-J2H zAl}Gs2Aq?~O9KY3Dt9ilr+O(xPT8aqK!}9^ZVB5|0^id69nDTE4R8$S2aeemy`p#A zaagyYw@J$~Eh>HPsb+$kvi&ZsJC~Mg-uOoE$hS{zQa}>k@+g(Q>Hds!?ln6cz$t}@ zq=qygF{{~;ZdbtCE9EE1VeJ+2LHOK|dXO%}7gNbw33V+E`Ge_`&A)FlSEOi{e{goW z_>FJaU~rP2j0wbvAr~T1>N>)|bfLfJ&G@%{J(njg&oqXOhUBUYqP|r;rw<79C5T-b zsYdR-t`XI*LGHZf=9v19n}qTj5Xr9-IljiA*0-9vU~tsoR^lbp-j?(wDsJm2-L;!B zBF%M%u_l%HiH%*@xQbW`O}paaAAB_qVv2(}V2)SS7n7_G@8 z$fNDiIIy);!fXOIsqvhi9sbi~Mk>cgd8Zr$u!9uF?sydTNT@^n7A8I zY}+z(zX`G7q@QRY-RN9fIzftV*4_&&A!If8YU2%CJdaEEmP=dQ0@uUAhti~sal$_8 zC9x|chK0p>qWXG+{c^7N%fpV`mY0V|xvg1Fs^eKd2J#|;q=zILgUHcyrOYT4Ic|kXUU{0L;gNyxgq@u$9L!5!X^{5r3+}0*?d~|tf`NiJ}ci?Gr+K~f3qOQxG?Lc+P za{3CM3(rEbA)&vwbpfknyno&$^*F$Hev%E5O#a)x|067{@NCNs1wA{(qs|JLm}tsI zsxd+~F#f5Y6lFu`k;!o8$=9J_W~!G*TMV}Nk45JGDhmY4J*Us%p z?#b_c^?Ps(%t3!rY?x}3cY#{5g&6(3u(78`Zq13D4A$0PPC+EcWX zdWAfCF~3VLF{?jufqIr=_SVlNj9Qqc3p}niUp8F6y)3uvvFx|}csY%nSFL0acg0fX@PYU#Qu^- z*G!|Sj(Y~tRPHV61B#mbao2Bx1lf~JdbST2I$6MJZ@ENo-MoBqgVF5DmR=;Ps@+Uv z%l}GHMkq<0vNvxgwl%6j(M`j?I@a>U|2=ey-_4V)pZWKraX5ITMe;I*i4mdu1N)Hz zY&9A|@#mGUulCN1X;8}B5qk3(LUYUN6lgmtxV=Sr{{I1pKzF|%oYL+7P5J$v{Qf|G zf0oky{_~XX*Po|!KmStvzf9?VKBeJ{tGFN1I^6>KeM@?#i+yBB;9?I|NY{>U;Gb<{{hMO0m=9Cg8#hWKQH(%NI4J6?~kRNpUUqelI{`7 z{}#8|D%%cqmu7qf`3f#j|u*9Dd!3KeNoE!hy1=I>0XljUl#w%;(tZ_uSmYH zNWM;!#yd?K?=)$ALz6BiEx(5}>2eO0-@_%{;Y~XKdE%cZ{v*YIq~v>~j~4vV zf?vSp9IOgW^Ly!cyZlb_uTr zc(=;$?R)9pgXZYp!{zr{`Mq9#Z=IvR_cr;xeU7gG?Q`^Z-YNb&#ebLh@0z2(@2)xe z`|cL}-GaYc@b^hM_sj2t^82X#J|@4BJ_*bMHXRiJ|V6HCbAo)FHu1O(FA@BuQqJY_d$W}DLHWH!(%mBY-zxrF#ebXlZU?)$k8{SN<@m2TcPx5i(;17NaMmn&692!)|5Ny1>0GhoDCe0a%h`Wm+j9K> zms+!=r}@KeJ;>_`=ZUtb@c#tj9GQ9sah_RnXKL&6r#R0Cmfx59!}9x6XDoUE|EB`C z(m8L%!>LcLxG(jU6(>56t$51WYh?}pJ;=Yu`N68wP~KC{pI4peoOR+;&IKo)-88u1 z+J-^Ynds+}8Qga)TGu?d;3;Qt!Ld$P z$H{PyH+~rP`*7Pg8sFdbjmCSr9%($L`;AQ}^t`d@)SmA2IlWIfFZXUvzudbmJ%3#` zJ-7gQt$V`x$l#?--x-{by7V+>hTquq{^708b(^<3o3|Y0{A9})=L{~$&wclT&*1mp z_*ZiW7wnJ!1Mz?G-0yFDJ^l}y`?GCF;Q!xqKHR3}ez>a zoZbWRzyI7b79EKH{pWrT=|6{jo<#VQ2!9H{PvQ4z{63A}XYu>&wqK&WU*Z2b{J((z zzs>pnw!h>5pL2e;?O*u+CCd91{-2w(b@>bUe{Rm>+g`x`b92t=eF6W^%{gPy3;2I- z&gYQ+bI9jOgg=S!r||m}exJtg)A)TBzt3)4JgacpQ%>cy8vd8fs+{&fs&d*2{H}B! zKkcMhD^B0gQheKnmZc;2rRFc}X?}8KzVpYCgZKOAS@Y4)UvK`O+&b>hH@G$YuWEjS z+ul6kb~nGry)Sh;;ZACA-ad9;>K$YAokzynn};XPMt{Dy`HV%UIm-+8VT>K?EZKgn zb4_ujb3<{yGdwZh$xI&Q4B>yxk~=UC=Q}r+(&{T}7XIl@W($5ZYI$P^e!KABt*&dl zOC5lH-~reH9-!`1e@cBu{kGwL#Q7}#GtPCi@y+y?^R=S8R&Cr+9$%C%7FB1q)ZuQd z6^rfFYNaq*tGeoBx7tz37E0ct_EM=_%~lKLlBYJ7tKn!vaFoV-%9Y7%wco8yl=DGY zUukD~yIUE|RamGYEZsm^pxWJ}|2o|5FU)p8|>*I6!AE7@E% zs74UB0g;P^a~QkH-BBx4T&sM16_T`1O%-RlchnHEIx~R6!r6CZJ$HC!%8e)A?4drB zQ^i8AP%X{`_>~vysEu%D7wA=)u}3(CveLc6)i%Y^k~~ zTgn%$TnB3v+n23QY;wokid)KA=yq?ae`l^e7j7THR@`h9$E{i}7TroTq(AFb6R_pH zTcmc12B3GVg=}$4!QB-N8mdiIT+gGR?nV?+B zCsjl@%aB`ibD_RpSDh?&7u`v>RP~WwIN0}X$rfu?VVkn&lq*ASti5MS+_Z&KjR&Qk zVx8s5Nw_(5om<2h^t5N9QZAKio~~a4>Z~@6L?+!kQOmy4SQ*0v{Zq;ofgE=$$`0$O zjbUWaltJ4eefKo?fK?F*@Pat)rMwj_NV*droYk4++^K3Pa6@*cT&pG}+u-hWi-`dR z)H<6S#2-S`At|&Ui0rr>L@{aFTC_wyZmckFCk&ILNI-H~6yn7Y37LR=CFL+sNy1{1 zcy2;FGT!R1O>U8!Jh`2MP(#LouwhWzQsErRY$973F0-HJYa|Mz+VeZJpdMD+fJkpAfJS$?;l@kliffk6@HB|Ea5(r>pW-RA;w7~CPyxi% z4YESd4OO$b?Za4z-OV%|)$jzmG~bSzcvY-peo_>W*i=1*B8t#6RlBWeMzc9DG4xN6 zq4sZbJq!=&JUjZ<377kbSQQJ!{bBhrT@zx_B(@@=ZXLBkG4IzCB)_D)-o?DGx+RZk zXKz<0M^L@R@@Tf$Rme&+cxJTp=`>VP)rWPEC$quQY{T%AqRiCb5)EzFQ%}4J)fNd2E(R*rn^*|6hhHm%9Ux3n&pRr0{6}WRvj7? zrbIL6#4lq}e0@H(2v>ShPj24*O(hBl8azFZhI+TLH z6`wGK|00e49NIJ#qtEt5D1oxWIE1>cru1>(U#{#75? zOfQ(LGGR7gH?hsSZ9tyX{@dAM zqG*QAkN^r67A}YoA`&`=CQ&8|wqR~{(vG1qY7@^ zP(Cl0opKGeq^%mQXc8D^9rOeU<3Ra}Mec7IH3ip;q-viWEd=2+ac*i0vhjIrKN-=) zu0kb(rT!ZNXB|cBWg&va=SL%QRb|mi3aa}R{t6Mn^E9ITO4VqRo*HID7}cAtjH1^% zX(LL*j40r%L^18Adh@Z|YK43RC7fLH7lyr-RDt#|(YSj162+Fsm!C{570>WknCxm| z0j2STuIP__kL-M+qb?S2qq}QEp%jfLYZ49jNXXCxCV4^)2*p!ms8HPLR*Hr336`D| za+;Y$=M3l#%+QpZ!-CUOrpX)4-Jkoyrw52gOxnW7hqRuzebJuO=!E7RF66dHhg!l% zZ^>2)L@gs|;ZMR?X4{fx_acc7)|EJjNF5EY(^+)0n#GXjN-ji`J}!%9jb4T~Qk&6A zo}Bf`9`@rzoa%&cDDQGBIb@j}JW#4LZ%u^3Y@WHqa;0z%vCGAFi~{BiO;B>WP3}}N z*1?fL-y!4Gs}s9iZCjQcG+Zf6Zk@nP9Ga?I*k*$DTL6@PPwmHB2V%GD2iFO~Z+sG( zP$Cg~>NU;WStE}2MqtOlQ%G2+w-Y3=HdzW>*wGdyi7fG^QOBcIZXGZ1?WKHAxlC&( z5(Js(z`%b>txP;MXF-F@5&(Ni3FA`{=@EazzExdxqaCgFC(mVmDVS71A ziDqlXN`TEzAo9Ww305_6=^^HwKD`g^I!(b$!pYH}EoCW5uUqW|4_~XerW!(Bd)<;S zEwnq^V#ZE}=l zFg#$mc{FS035#ZNYGzbxu3dsD35jUYJQ~5AoR{5ICwXizWB*+)x+byh6DEyTF~lEo zchp!!t}Cv(+|e3+iKJw&xcg|RqgV76s$yhO5iD=+bY_FVg3mX5Gm`bQ$K*Xz%1#z? zRss&CwaZAY^;VVUI0*)bZ3pe>F6B+jhQ0VqjGHR61e2HvQjXqk5DVyUUoD)D#LG(* z8SWG0Ued$N8$dB*#qur@NQa_D!~Bl)3+I_dV0omB^~vZ&EGi%0&w$X=vX# zh!L!LhpMcP20M%qog6|~O=9zY1V4~^GL8k!O3rJjoSmv4($*Hwit$Smi|8unYP5a^ zfxImw;TxvxDK)nio<{+TAr7k_Ii<`HSvumVNI$jLs^y+y&6^0P)7wmpuQ1xII#!`Q z7&fDzA-$DyZAyAcZ^De^()We)+CZyQ49lIBoM2P7lrK+Wve`v}XTZib9#;f25iHex zQ+c#dva{e_q>Uir=&?jyDY2 zRw(J?0QQ^XPc`fptGxvJ=!CA!LWV#}WY#2a5igyEoa&1Tzp+wV73eHxJui}bWtdomVgBHRs!&ahBtrFB>t>$_C0ME-#IZybeYV&_XS|WdjPG2e#Y~<` z6gTySL?BktXaiK4D?FGjkO0N13j(cj*@q^qnjqbd^_pFGzn0R4%A-~cmWo9z-okJn z(WEDI46nR8_)G$F?e>w84p0CRh!osnUL_@@g5pI)GT(Ey@eIw`Kj-Cp$ ztGMcL#|tHi1`bnP80Otr(dfKTGtP9LP@Iv~R}EIMcL8hFF{4+osceaxUSz3u@;*A$ zMp_Uj>?ei-jRxd~Y>063iZ-Q%&vYnO@T#C*v_mUTV(E7C!D{BadTZH=oq0EYk8N(0Os!G6i106{T>{~IM_u36v_e(Ms3A1Ve~!cs`@=o-aay)cST+CrGE*-9yl;T8*{day(n4N9M{4TB3{{=O}6 zE)AT^^hQ%L4?|@r-4UD_AV0^_#kr_3?aESGK zq$47o5bl6*<3}1k(&*zDL+##1mxvL2c$1+<^`RMhX|P=21M#Vv@66F*2>0L+osjAS zTAJ-z*wS9gv%pqyC{YGc*i)hcg-$MOfsBvYNHk)!j718&BTt;em72^(cTA`gIhbQ0 zQMzUq*p;D>c*k&Hyf-KposM(YVihlNX7q0?A;;F|7MgMPqKJ&`ix+H1&E{xMdOm^6 zg;k_{md)bXy|A|!IVO$xqZ&Y-m7Rt3l8~98n0Tv3W5;5|veOH~Qe`woNQhRcdbHxv znyDQd+|szL|CX|r7xrcXcdS?|ni(~bj3Ow1Bt@b{ahY(sI^%2)5hCSA^RN24X1RLm zT%z#iCt*L9|2&-~x!N1o2xN3e8H6V5E4zh|ksJhz865HtR6^cp3&yqRykxX&XXzwu zvaC0$V16qzmOtWUCSstH4{79J>qlV{O^5Q~4`JDBZC)w8lrJdBg zIH60ymG`o~ONBiH6&)Zrae#Lj6f{`&3O=h9#`tmkolfBM!vdOQ zd6`UeaTXFiNW4>bwu&wFu5yKzg}~K4&;zI?)3oqVI%>y_U}dxious)-bZ5a6O-R9l zpcP1J!zk{S&ZH*b0i{(R=*Yy)OYbn=)P+4#k)iE{DL$+6=&VW&y6$$$nAIrQkqI?f z!gkD*T_-4+W{3MBsK3>kvF7#FUWm92jP;eUcAcpQ^mk*n zKVxFXyUU6e3-t51^Wr_FVRb#*lQFJXMtQw_8fl-x-bxeW0;p0|&S=I&@v<0ES}Dq* zV=k%)oee3ga8|wq(^F@MPe_p-; z4;ueFy*Mh6gJ>SYsGHJkk9>H*P$l8CyFJzhgpHgId2tk1!)h(rqJ|rI6Q&v6x1e$0 z^yT3Y!S5x|-Lz(j*oOHCJ3L5^hb?lBN}- z&1IS@-b|79u-ifoU$rU<*I$@IOLdV|QOqX>OENyC+*H)+!>ajG#i&Q!gw! z^~_FOtL2-WxcF%AL{mnK>RstQpH0t%3yKq`J@CaDzmz!H3RmB%Yfv+h>u4TP551kD zgyRX@Y;;ldE`OkiRdq&06LkYAvEgv(50*3`}GZVuA}K8yvcu$7eVP5T;E ze9ts-fDi$R*7ueRXUbM6uqc*|_L9*|R?Io6XI&%kuMf26^Zr?ze;hZ%tHZDaAPOJ9 z$!|}YR1vh)C_teUMo~*K>Da^+*PNdhX~=Zduw&;lLaR<&XbHtg5;cWD#TaqGCwTlR z2FKfJ>js7HZQ$Y>%B0ycH4}7Trd~%U4oAO7;-T?oPS|nP8B;-Z>I|FMkO_^BgdVn9 zk~$kDg;lA&BqWP^-CgmRF=Qs1Hr^i5G_e@5;$x*0MLgw^OOzQ0`4GEgVS=ex{I4cEm>#Oh5oS6_>dq|Y!b^ejoldPGT+V)uDr zVWc16e=m(@`OE~dvHy_?r&0QglLGM3@dY|)FWoBfZSU4B*sM(;pLYAaaNy&tL)RvCzeaKXNFc`Evpt%`o86&yjesr^H_y^R z&#=o(Wa3wMc^9oW#70Jt6c*OKu4v{P;e(-~cvnZ%M?Ns#O_49F)A{(act{<|o8Oqx zM)TW9wr+-8VKj=2Rz_(kNRP^-5F%^_Phu_bHlnJ~pPi=tg4M&Hx<+O0utApp!WUH*U9Sf-4N%e+8FKwg7L?e; z18>B4>3CFHc)uilQpbBS|57+*ra6B*36QTL7ZYT*Fm8{Jy9 zf+b9EDD=@%$@d3~zV>&LLYf!$vc#}9s%4ZM82BF<9JCl?QBoZC{>P^{*W|Tt5*;*~xs4dHKuKGmPrc&Nn$Xj>Ol(o$!g;&;K;|(?+ zzsZ_ysRQdH*1j#@nr`8=_a*Cd26w`MN&dFH&1 zzRo|)^-o1rLi(Xy*gKSW>0{L(jXpQ@z50rz@$tD~pew-VhQ3#y8~R>pl3~}sYG&@y znctBtpA5>@h;IQXe>RR#5N#QvH*Yr-O55GM>~&2n>hz+k%^r9nOZ8JK33UUE;kklz zY#l`|-YBL4)NsKz!RDd-^UXfb=v(lfjAsVvft1T8oE2;Mpi}$J_L;pPnw~EK^`)Og zF!{7J(34~O$@@4A>jVuoOVe#pIHloYxXO|0`c<{7X;qP{$2Ho;q%*HEyy3Fj*NIlzJyV8R> zPucZnE8E*W?H?{j>~!?i3m^uo1MEgynINU5H4J;c$Fg62~`Ev zu*(bO8{9OvdQvc6tU0{I=J4Xp;YFLn)6Fpz)I(Eh`uG@98X$(xTQv`o$FY(=9xzY} zef&VlZkJ5xTNCw?!XKU>>kG9)!gkYYk_5GpIHM8n5UszhD*A^zEIUOK5jvXT^@o=! zuU>#Hn=_ICH_!zoCW-Wj5Os4k7YP0>+(<5hh$fW1O*E~bSyBTMZWm$u^~r!$WfLie z3=S$H)&;zJ0W5zrOlM;jVs8#lxP}>` zJ+#W{iDGpY<+&##7>kmOSuEmIS>I5GVQTnpEHSB6sfx;i*O$XjjcAV`d~HzA;@X&X zrZv|-$J5&YmJI_gj)_hO2*m*-RG!kqN8u)_9W|Rm zTB1w+BZ=r}@QtVF6W%zDj81WV)TjK#bjYRa7I0C)Uck{}LrNOK*fP-xx(*#PdNYm25P_60u$QSpc4U0M1DhN+(d1cf zv)ua;y(mIcEfVD^!hv_Sgm_(LIbPHE@9@iUx=VT1OjVmJ1tmrGWG4$nqcvB`Pf@t3 z1yfV8l9Lf+@=|H46&Kb>R-wAwsXqi6hDsW=<5Yt=`r?>JXFM~xU#ryrx{3}LJul&17z7>d)Mo#x6gvGbw` z-6B$H?zHGGacVLAmC@fNtDMSj8%#$-V5-_IsQ})$kZ8{(#^%c_8=V=>; zMtr7qNJ4oL%VFfgJh%x_*}zL^`4m zbKn=lD&a^y#VnhT3S&dJ{j4A+@%EQl+NDF;F}GJwWRJuzBv8un{Y;}b64B8fDbfHk z%$qW6Sa}!O)fy4Cd;IEEMc+=B9mU9`?K3w_f*YlajK)fPX-09sV-V!ayS&bB<1)V+ zhY?|WiKHWJ(|`pWw)SaQ@sy&Fz9lP%VAoqu#WGNnq!ihh?N(wts=7&O{*!4eHR2Tl z^H=yry2@lcIitK`iHa+GxHxOe$ufJ0X5S;t&_&oc>5H&y*G8mkMqi!p%JSecr-V|M zQ0-Y?lbgu?3~x^YJruIY7OA~TR1>Y&)hwB%+$F=p7}{cCB3W(NUYP1APqLQ*vmIk& zbV*8c^~9f43R${=z=lrydysz$vF8w>YLPdQV?C-%NBDr zx@!>)6J3RR>Ij@?l3IyhU=myJSJtjr3GSgHnGRE=nk>=AO=>J#Hgin+N|Ns1dq>)}ja zplxQT33r+eC+Y17d~8Tc`_TAcRrNw@8^-gLk5(Jp@oa8p(^!rwp{-ES@!2{o*gOT> zy+JT-Ebq`!?emyLo7{1XP|I>Mt6UqE()~@8$BkNs@u4Bkjt#z&(wKqsfqSpA_YUJ>;*SEpsA9(4l{W4#- zZ_gTQV|w4oT&LNxYq6E@6Y&W}3rrlSfY&4bE#pUzl@MekDa}sa2t#}^h^8V1T|WJ0 zl4b4)N)&%6lPj}dzQ{Z9X~h^;hVYe0>?^hbl6N-2Ej%ym)n#CB&j|*`{2S)Ro`?vg z_Z)@W9E&rX+R`a3Z)8w~ZO|@Ck_%+~53PGY)&IbHSNiHmo%i@536ennGvb0{zcXTO zZZ+_$wA^cMrf3s+V!_HYL!sjO+LVD$PX--R=7M;7^%W@Nmm8mc%7m7XmVv4J_K5HYM1B=Qf=C{Tp=_JfF?C^A)7IHDY|cMb#c_YoQVT@-AL}_drMW@0|FOgf>kgc!`ZzZ=@vI{xLy=h+_Gg@&SLOi=Qr_7JBLs36DD6k8)?w0KcOCY~zc!nBnluB;m`HdKOE$FK~; z1omL+nt>TESF=SePO;s5K4Y1;3Y@G_vm}aWiz1d%Pm9S*BQFVz2ZpX4SyzMVTWZq# zE4^V#+W8dA51rXYKGh@nO*VJbPN-wn1e)P>PQ z(FtImH&Ck%jCEAXyFAx7SkKnx=C#|SEwAoVj%Wj8_WORdkUM8hgpLSrSY-@jZgS^44{+n=#K z35I=wh+QsCIDQ_%cC#@VUM54YBj~j6Fi#5#~O0%SnpuN zKF|mbGORT@R);|T;2DuZe1wr2E{M%!A;)%zhO?vkbWC;DysD_o>jw`wzjeV4S$X}y z3!E7pnj|ACC#_JDnWVjcrX>amt%Aa#7V{_^gYu zUf63i!ssAZ?n8TVR3MgPN+uT(y+o`f6lo_5Nd7UNS1+JXE9}Zc;#gg*{Z52G z)s6Zc1%?ICq4#p+cqM3xqzk8ZBh-^JTHjt*x)J)`#Ep0O`{IIDfF)*$KeoUf_5ns-NPpttyZ1mCw#4^ILQ6~u@^!nA~C-%26zArFC z<;8r_6GEf9T0Z-1G z19xzI=eM{QM+LDW;tDiS#9Us)YhI_)syn2xr*A;gnihVK)YfSuMRxn)Jzs5>G)rQ5 zvJyR9Cc7J4#ej7qamjGGi`22C_N;*jRx$Q5Y!@Vk%>?5oK4<*llc1!ZeEgR*3idP? z_aJFaDAOMR3EN(O7KBH1WC$mY(&$Kv42@Wug@=Uce`BzaA1IQ?1mx&2xccjvi{aW_ zfY1+Oz&-59^MWSZkuIM&`PK)D){}C%dZu5JUTD`h+>!#!6}O}?(Y|s6AC^m zWIn;iS{k+1M<*dg!?C=}?{Lp(IEHY3JYCPE*s%~wv)*;5d|M*}CCkQ6a)?ajh>}{| zs9A5M$Gikw^lds@CoUipa%aBRzh1yPIssN(#FAjZQA^iA4A^iA4A@uk{A@uk{A^iA4A^iA) zzE)W_=BKc-(k?P&z-A~i#Qi}Pvi0Jd|H&5h^B7%jt}vM`+5r}C#ZFSAGe&bu#o+l5 z|M|4QU^2Ix@1;vqbX<$>(&=ef`%4{#va#=hu}~yd+w=1f+a0=JLd_6;lH6zBc&*g$ zk$MTZaJ)zqS?q)8b+`eJ5MS0KMGcINku_*B37FM1lxU(x=u?tn#21QEuH@MeQ^{u; zv(o`L++VPC#Rep5d1}PA{T=oiWAniJmclK!2`0Io$uFp3tag57{EC=FBNK&u-YrQt z65mk_UgD7n8Q3gZXGfkPUNeFr`c111JqN}-58L&TJAfPf7iB%Z;u*&VZ(W8}ce&1{ z%3c%^(2Y=(5XS6by4<4ZzXU#u!?!a?Kv^b**vX?uBqkxma5o1^04nl9oPi|vJK@bxUP;{sx$*}$NALNmnWQVC5JZl=I&8@=U3X37Jj0A|aGDwO02 zn+aN1C$6cZhI7GJ*Lec0RYCTIv+Crsgxix3vRc)EC?axTWBwoUgm9PO8TbNc( z{=*-#_V&}YM-W+3VeA6EpHKz+y%yilCO;Yy+%*6VAE-*ETuXVN5J*46;C1PDtD7%r*YE^tM~i z+DG}mk!!7fd~LxK+c|^ud}Tf!s+)%lYPVN%6UeE36eN)5n8>5@7BisJsG>hr*|ff~ z`DI%bGiI*zY8B1FbjoCQT1wR!b4rcy*&P3Q12u-djem)QJXTu9WwjrRF=~;Ge2#Ki zRA8kcsfBrc&6H-=@<5N)3JGqIL~U4Y2Q8yewt*&Al!B^?V?CKN$_C}LKQPfoQ8omW zsWXy`mw?kpbXM+O5+Y*dOPkgjC~{Y@z@bvDO&QIHq##R8%)SXTP@;!*^%Cj5dKAN- z`0eCH5flSMLRz}y?@y9&F;iiCv{#p82v1v!sAuev^kKAZBroLCT(HXqtis$*92<*k zjuB$f?SP2EHB7@?wnF@??xL_a(X5-WDT475G4;%|)ej5o%*h-|976TNtaM$$y5c2b zt+>JT^^%ZQOg-zpD8h>2&p9sv7m4RjxhPKf*AUtA5^z?2`c%qr*fFG;#D*LRw-G^& z`(wTi1@m4@gqRUM?qIEWHBizCQ75)(?Cm*tJlIGW0|;XzweGQKxS*^G$s-`z>eGPlwU)0g6=gUso7^;b_x61JV@f#gx9#iI>6{c66 z!CgmVZcz;Jn6EO?Nsu5NMds*s(VOPt@0jr=3RYJtf3=7s+e`Va*+Nww@em5_=N1)H z=qH;bSc^4i%N~hlD(9QNj%MTAOf)vL^jNZ%CHs3rwF$n3Gc_fVXd+6TM4K}l#LveI zmq442A{zl0o(s(0z}QwY`qXJ88+7@dFvP-jm1%V`QzpnaTH&FIa*dwR3pYA9hus13 z4A{g(nbzZieien@-ZJwjAwG%F@&mj$@tCd~LtFOO>i(wD7$>_Ou1_$x*~`x+7>`9> z%v1?hj5s@?1auRhR6Zo3Cn)-D(n0WjMW0D}RjBqIl_b&`*k+8Ln zG8C^8MVN>LL9EYFBs7iBPbA4EEUqC@%8$i5#rOpN5&v zdW>P5{flvVA%-r>xJ8Lwlo5;ZTM@=;k37>J_@5B(W9{nLLMHF|EYoS>N)4B(>k`;T z39v|}q13Lv5Xok5%~C<{F#798(qilxJ1fyP>YlEW(tN0C%p*qnmTywMVq-e7^0HiU z_gc#Ng6=NmBO3d|pan%ERN_<1b}=JT%8RRqtUj7$uxjFaRDwQ6cIBYl%or2b&)ejy z^9iS) zQ{)+e7&24GKt(1RGZrJ36eOJ_tFi-K z&hkh`oH|+LUy9g`kyk8F1!w(q*<0t37&J14lxCMw37+nzuiRYGf(ZKM;o$2Jcp;xC z+OmCSJv@zP1o?r4_2$1=d^K zkU2-hp`pwq%raM98$)9bw!k@ClH zpleJb5Va6i486teF74o?T`vE2us|eZr%AZtVPzP~Ov`e3*J&AV4P!DPZ{j7%Ao4D1 zw+(?x66yI>EPpY3&WvtbZ5uQsZ!z)?o>*EV1s~^&@dBUG4jL{G6~R1ofMaysQir@) z>+La=rK@tlXFVAhK~XI3qM%zWFE0wUV$rV=e^L;&UYOOHy8pc>g2W&GQzmQ`UTY`x zl{nm&B{840A<~#bnzf;0r)n5qp0eU<1GKVn9u$l9S_h&hR-)Jk4WTmrwyec+Y^vm; z^d~VnbL*tdZmux0Q{>wI-C*s^=+MNSc+%mnWHwr!cJuOH@^FPWSQXi)_LX>>yHk`6 zg*^-Aa0sE93yJR89y^4u)_Ah}Fj`zx7}hIIZ@qc}oYc>h6nnI@dwPmY^83nzb!Lc( zURUWbR9bvTW`Ao?i|A)1)?A+r>N_t%w}ml0y!_YDwJQ^fk}&BL9~KYit89GIsetFbAZ9#>(ew_aEP$CH$0S0Rltt)7tE-fdvo31#i}gHG4KUz&hsstE+7LaJZ1$?upBs8`H^*eksOx$wkJ{ z71*7;Yn%$x z`?S6d!m@7ZNxj*0eOIQAO6@MsiPYlKH47c&1(Mg_6-|6i2yhh3~9U(MHN81lkBJRUYdk_{z#TbG;z2 zG|qQab0R$`l0}pX8%QaH?T;4qongJZ*KNf)YNxevW|C>%uBY;}yI{R29KP1UbfY}w z-|C3JO+S&H(MqW$?9#ExasA3$PV*f}udWwZuR~j#)vPtXGiU<+#kQaIU8oZJ$(wS8 zQ;1nEimaXJ_cj7c38*SYVjIJys)|iriHGKPcV<_)l2>56bG}idf_Y-a)td;dSQ2RI zQ#hZ>=r_|TPwYGBWgB+;;p_mBW7QYBY*MQR%{FBvW+--g-m^8Nybbw?^MuIUgvL4@HH;;8sE6lHAK71plTxDd#*g{;#JnIU=|yZhWou|Qa#{a@a9K9=v_Oc- zCp^API=YNw+!gx;dG=VwN{gY#yi{M!omq3y zjlD2G8hS3a5PoW&K9ir8uUfClm(3WJ(q&=N?aX6XD?0kMGQDKggL_pzpGMX)y0NaW z$yS4#=fRz%TKM{{Pqlcs%j3sdbZCZYo9|lcyO!~sS7U~bhhDcXSjXv@qDVw9Iu}^J zo3-wsvJS40&~~EA{J^UH(&Z?h43_m1EqVVIW8OSU&f}DiIWhfdkuC6T>sih*$RAC2-`Jw6z0&0~aC@xpN z24av6y<;{Rdc!Pum~F~_n2qMQxeBqf;Gtpi#w+95<0_)ZD#m_-ehHa8+$eh8H(7H8 z_JDqA8Zt&K2EF#vu1S&R1IU`Bo+=zWmz~Py3dCpdlTkbsNR@A9$Sv|TRG|lz?Dv%X z=ahJG>a&Mho2r3R&_vouuatRz$|GSktAVnh%8E+%L2Ez*jUmLYm#R^?XbSs)? zXB#m5PFZ!j>M!t~VNXM>KCeldM-M*}>4_B_GPcOK3dcew35+q%oPPnE^;7*@zhY@1 zw61G2u0qAVzyN`b9AgTv=L-q)Nbf=sf9f0fh~6a))&=I3+w{*;{lnc*u1*lq)-o!7 z)l6HH4fqVef*s!Sby%sZ;%p45q^n*tD0eM>!QM8Ek zrUUzSW-Icn4z5Rl$eo4u26wde=jeS0^VnQZrh%jOH4;6d4Mna7%3UlW@|f@&=_}nb z(JO(*6Gi0XO3Qe?C>NtZU%zZp51^orvi1?LeN3&pBXnG>`87~oBjb)~Ff$7RcGIX_ znN^HVf6Y;Aqzt-*jA1$`1l>~5vZkb-gu zJs9dN_DzMXMtPd3Zmy1u;$ut?2QNNVY^i@aECIDoB82@ieAJFWI6CT! zR!0Nn;$38{k)>$6L#~v4#uPq8mq>v;M?1 zA;Oy!3{IjnlN2yD!yDR!Aicl^0i7F$_?(j79<;FK$t~coM(rvajUZ1#(9?dH^u`cf zg(0?xc_(@#5ZpMvy;7s4j-=dZo*)%lNf^(DO3^sEA7ad}aRbnOm1%ZaSxEnLQ&bD1 z1u#WcgLIp%lGPB##iqX!@Wu{=F-#!$mc%n!PNsFhuFwdxvh-H$)Q?y1!$eBP@fbjK{lR%E|7K(&Cjeoab$!!Ixo+gHGamjeomuw8L3cZ z1u2@fpcEoeCfy2`1h|I9)8|lw^kO!1|74SCD<-Xea5&bkZAu@#vou;R&SC_RXmz4e zE|qJZZpyYL`m#2iq^$#kQq+fPmUEz_^`6G%vFIF@jd*#>EgMw5wQMENnJ;4zLPGRa z)W8V|R?-!6P#n!A1_MX?dDG>;qR2KP%!5MmCa7VZS=UFeo8~!CZ8BG{9YXWv*$WzZ za+p=(Po#T#{;8$D@U9OzIZw-axBR7_-^2VQ=4_Fo{9JME&h3h-a z#`&~JyKM5}y&1g$Zyd%_3o5sAx#H(n%`YlDTsAEwN@9w)RAk<0oQAfy!6gpMcMMca zfMsJ^o~t&m)}qpET1l%$&>g`dPhpZ&8DhnAkEp z>xyamX7GV0WHg=T*wJ5VzfQila_52k2m=p_-5O7`OYihhU zMaqyBz7wfMo&$6x(zPDT$wtrMme)~>BvZ~{u9U143Q?9;kb2P^eT@e zGl@o-Z6hOE29{Y{92pS-ohJKzc_5dMj8rEI7)DdpSFc?`13v@yx|kOcB%zkZW6@H$ zYGj1iR}ky9lOrR1OQ1NjA_!O+3Ro2coEQpN{r|C1OoM37#jS{W9e?CljV97M|MT_G z=#gE9#MemHy^Y|EG*-`HCjBT$lBHTe|ERs2IV1j1rAnry1ba^ht58 zgdKfePKEi+`^}88$i|8F0#>TZYpe3=dO56mZRxY}$rvy*=9R@ZB^(#16~8>d`nVoH z>trSgN}xlj0^J&TE#=Va4sHT%>2F%K68B)GKo9ivkp?5>%w$Txq~opK-O+tw$I`C$ zu7&NZmUb>&zI;{3!uI8DCoWvMx^qd}s#RUfJ36|~RrBZTbHpXnE0-);vb1g0!nPPL z2OOF9V_jx)=-UnDDl1wCbg|E)ijq>HCbYhMA=qro6+Hf+K3{!o&=&Fz8BOLs56fO* zTwk%FqHSIzJau_?#>dvm2xq*)D2IyHr#^8M<~_if>+Akf7zE*?vHr>{DtcMW=V{qd zKCd9P)a*@AO{DZY%4Ub?dXpL%(Tjb%7B?4|L!w>$nq`sR7;RgP-Vl~B(>Dcf?vJU?h?s`e#e$KPF!}}pH;p{DUBDM(v=)o zD%rfoW#PnE$!59g3^;5ypuzj6*mZq7wMOun7%if#Oc@Le|NS;*|J#ezIw4!=RRTAR zv-rpM61{#&SUrDwN$ZOlLPOPb4f;g2S=(hPRk4rM!dN~|(|g2qWkcu6RMV12M*6^F zR{46~RN0gMx75>j1x^yGAX155ROu>{r5oLimS>qxDzT6|Yph4SoSO)p`M!)DDL~lK zw7S$}na)I{#@afu(U~`f#D_`gLKLq;(Lu~b{w-?Idj9)KhWHRMu)JgY$>@(MNRuxt zc#{P-htf$TS6K7XxSnx(KQtuLJvCU&R!Qh5hSrUjcP++b&SpAXD9(_&B`rOAEc$nD zA`by;4uP%>6*VgjYWetAe!uNpa*h@yvwzsQEPuio99J=NZSjV(voxY zdXz0y6HwFxSz6BgkoMq^S68ZI2A|B0tk-L9n9Y$?S~`*|W-Dg+=*kkgw~K`r#HK*1 zt_BGt&IOow2n^u~?)kF0$yVqGZPQP8A;>8{^qgV>6f-=$?r&>g_Sm1{7>Jwhbh+ zZXf|XK(dH|G}hVi?sfn*;07FQ0=O4$z`ecy_y6bIM^%ZUoNPBRSU&DO@8^I1^S{oy ze9nr$mdRS>QQ>xver1ffLjL?NT%P`$y*?%QQQWZeRHiJsHP@KetYUdiGl*Hdi4Dn@ zXG}>5nP6^`8B5yOpfkFly@!1bBRYJ+*SL(YNkIjBV_W8QTe7At^SUiLw=HfF2wp%i z_6gI%kzuciBO^ZdXt2E_W4gg;EPo9+Bxg?VG(()7jC+&W?JWb%VH%!G4eC>ia$F>+6`WuVcR19jlw& zu`!YDn+qW7zh1%!Y?aRyYX0E#g7+mgEqTxfKEUe))NR@nAc%A?&7PWcZ!+ADff%h{ z)f1x)JRZVEArLcC=F??(FjsmPV8f9aW>ziz4>fR(?H1}`+{NB zyw2$Zjs(`O8RE(}W>)8T&o%=pP4t7PG&CqUlgVA4_lv*edOY4bHB+i@$YbJ<3)7bG zFleVZO-&1x?S9AHALt9v8iL>_oMj%ps>;5)Ot`Nn020qwKrHD&?XxTj)010T;i%an ze@GVJOy$p6(px@o$=?t)v(F#m)L-SK2I)%}+^a~u&yos^FX{<;L2;l@(1#cfD@&9q zsxFBRC9pd$W=fvqnJ5Vkdz2O0A_&pn4De$iqsRh$x&t2YKyKrWvE1%6WsL3Qj@1(t zTo3Af8%la71QNs`KB=i2W`=B*$Sjt>;Hyny4COHbN6jZ9P~rsE=|$!r!Dim!lNH#D zXj9290AcfH!s0U`2PJxfDF>J)YQn&XptAuH^t@&hT)nlN%5V>KxStX5`e^JWJdwIw zIMZCAd<2K3w)t>?^!(0g4ylzLq#9HC9i$p}k!P7dPw>O`QR7hT{RnP`$Di~B!)7gYPxAM$$+6W6vwX%dl=7gh^p9Oq`uzKceH2%Fxr%rcH0 z3YkX78@oXiWu*w?LA6p8D?%u1`08ee{oNa!xtJsC8LTbXv+Vb1>P|oh+9iEMh1V8+^IFDtQ<=FGso@$n zS;m>|6HII$eQ0MBGPivxJJhdaw=ZRKXQj-WO;62U$t}~X5#lH6jT-rD9?UHt-R7b? zZN##C=R`YQ)MIxpYNrcseEXv2dHwECW6gI>Y5mwx^AhXz*gMqH?x(PKQtKqrp;G}Fg@Vaorhu_{-)-dR3gW=4LiL&O# z>+tp=j~)SI?juNuH~(D@x2q~Qtegn4&8>{nFF<(bUAgDKP?3@8=ys7i#pq1gK_5_t zgSiHA`AB&0-bKKkON}8)ZVsED7dC<%esbSah@F?CLr1s2kc%6>L!31_$w~yj_EXQg z*Fa&X<&&{K1)&kiHrsQ~=F5Dv2~58$_&sXwuo3D5m-t-Btm)6@Ezbvxa|3C|g5HUs zcU)a6<&72lqTHvUZ{8IbOCL&k5pGYmEC&y?L^rV)RpdA}#nh6TAW zB{%0?t?j#{hQj5N$vWOi0!3PSekl(VZ4vP5F>IhQj4gL?s67g)p57Z)#z}cC`vI2Fq%dCSd+Aeu2`J=)XX}Ir>jiu8b;E z%CyQ-jwND75L4ltLvBu#iLfO~n^q-uWw;*vFDmuaDauV;CWU6z6?IytK25QWbq>=1 zC5pL1q03ZHfon@s?iVO`j@n@QVomM5+yS+}X?xY_6ZBl894Mj0p7-&hxe1e!1*y> zDz?m{NUjdk3$$HzF43EhBy)(W{`;wh!Z8H^(<|gd;rn!l_G$2Zo{G-13sX7AX|Lg& zD(8JsjWCdyroE^}*}tMeYDq5v4CDdMzsl3T;tr(b8sj0f{`qg)KGUANt$$SNk06a| z8(_djIu%Q6@KAfP&;Xn(3TN>uI&Vdz2MtmWPw`lo{L-!>P0dvX?ggrUnRA=odHu1* z?mn*-rvC@eQOpw0O-U~xe;d)KMbn>z0Ei!WDwJy#;L*0g;D}LCQE7#W%FL<=MnUbr z$ay>znPD_kHpr=oj$@Db|nH0xyDj7lkhAepYCqt>`h3@~PLI z`+RUm{>VPe;K(Ijva*!Q3Vri0tR)Q@d3Rx}M`Xb@U+xA8qF)|#EilR!WUC^_)G>PY z;~D-6{U0UYS2*k_Klh<^Bh%YJj;YP`lOd@iFmI7Gp=A}>k5Suqn)2uLmW45EKJV(0 zMtI6_%>w-u&LiU|^~-qWc->Gv51!_6!5rsxJ_CXNZIWAie|_4zbwOi+vFRt*m(`bP z(`_7&eF`!Ae5=&-ejkThk(bmnm0nhG+A95job7Yiq9|>Go{pT8h$J$HD`IQvb?^~D{J434m(kod%%}_ zzp@@Ur_S)2zQC<`P9uBM2Hpq;Pw_@Ab8Xhp3eR;xr}N>V&I^GUHFM`0%(hk0#0+{A zEG3A?)f4rxzzq~FU60{@x+gJZ6?*e33&{?5vt0;_FGmLqqiT6BtkOKC)V$W6)pfqZAL)Ea$Gpr?{RK zy@#l?Lvo8NoFTH*7)nI=Od$LWnQLHdbrSfBG}dwO;deMlYP1EYwQcwXsDeWLyt8Ttm$GPc84|e2Wu$n*_2iSk6Xur zwaf%koK`3Ast3XH>w6F^dxt&PAFN@O>nQR3tn%70dun}cmvqV#I^C>J_xWne`*vj1 zc)Qw8*QMLGwy{$_3}tALjAnW~n#jXxME~qFJBiu#=Ulo;@c%oM9c4=B}OxrPS2-3~=L9=^LA-pEj1=3eg9D(gsNPgZx3kIJ8DEPn?*dgShN z1$uR2s*X0RXX0fC1&zGOOt?48L;S1msV_kbct)Br^I+ZcT1*k73aO;?jbm3&Io?g{ z)FXpxkOe$uC2p4Ax^Ep9dClb{^sK38I=~Bj&RP$iV$4wH zkuub8!4;5s?a|}^u%9wDbkKG+`ovMZGDT7#e8;!zXYmogfM=e|GAZ&6dHuD>7^pFs zv2z+TUEnl=lZ3AsaIuiU*I2x}kr#rXNcup0Xf&-3g72C!JVeRY$KYBNAz832;YF78j^)SX;Hiig z>)po`ZpP&a3#Mh&|M?^{{2u9(gb7ic<7p8Qjj0w*IngAYsayt12JtK zSEie4-}Ys@=@Q>i{_=>?s&07{ar1rDk7=**nz+JKU_`yQr>;HuiwtLm`Dar{QJ0OO zx1OA;ThoS{D{;r9q_ldPIEph(AW!%oBWh*LapZOwS|lnW=c&i*02g)kLS5W;_{M9Y zS--(`qpIJ(#6*k{CI$z$IdlsNm*Ih1)f4q;!K**0>hPdjB!oU}Ot9O|w${)qnkY8W8M` zfMQx*bZ2o&uh5EbybsjPNMkA{U#tJ+^NmO|Wz#J8TqIjNX`Gk(&J9J5U`w~p1B43d zUiMOT-|azH-8ZGq6TqG#9^^5q<037US#l#x#Xymqr*Ji9)^ASLV->Hg=>P^%J=26+ zW-0U>@tIQM3{enXNrv93%ePN@X{4JahA_lTX~mV`GS#2gJVQx|R9s3s<5B`@q*1YT zCO{9Kr&RN5hB-U50kVr#UiKn&*V4HAD_Z$>t%+KTsGm}$Px~CNi52FyrEhbZ zGCWTy0`=~1-b297lrFC*?H=1{N{>2I_czaTN@H4exOx0(<>y6bDYdA)Dvb12sN6;F z!5rtA<&nuTbz0=nR-LD5=BKE%OGHLYE7g61sJsgdC-7eclyuG#99|^Io2C-TpZFU4 zPt)^J%1OD}E>eEDC^iO&J&VwZ8D6daop-g4u3Ki=T>v>h;K8Ivr`JJcTgi=4owD=J z8GXcKvwDm0s{%dpsa}Vc;Sou*w7Tpo$4b;ws6q}2{Vo3Bx(DUk$Y&3+UMa6<4GKz+ zHdYCt7ksNE0d@Eb{*X>!gEPE#c{Vx(3p~bt)w#eBVsv~eakUPTRhviPsm>q|qPqQk z)FrfKT*?Q!F_E&U`vDE7XvQybTLy^|0(KHuxu~qM`glLg3{t8Soc=8Pr6*R0KaEP% zL!Rmk)}i`>{$L%}{lJ}PDegSA0cF(1KYUgNbsPJX>D|8DkmiPuu%h51XeJ*J(q%h& zjM{gRNzt693A0UiGvW|>o6BV&74TD;jd?MfMwhjwNi2adO_BBFT$y*-!*x-SoT-i# zO)Tdrl?o5BMk#0p;Md(WD+>k;cbkW`V7>L4AQ!()+*xO|pws$rMWQ~{PRj8!Qo5YZ zpiEE2OkHZfAH$k5O>9tm9mK`+fpm@Y%;Ry`KZ+jho^MiTK-$!c9c`KO`F9bT<-whn z$n~FxucU-LN1ip8uFCQLQPCqW*TSViw=YHUVRydnWGt1qwX zDD$Y6c&)i}`b6`Q2x>y=ME86yrt z+=}cWmkPh^nu7SY+MX4jWNBB0`%6n|Y_^H2p|M|L(X`A0LF;r-0ok1F&1u5obW_q! z+b{(dw6Q3gQ^o+P#LRfvp#JkglZT9}QWk#N&pV5;!>YUVn;Ky};VDE+?x4|;m_?wa zp6P(V$0E0FSu(w0fY<=%uJz-Q4^I<1@qVoDX^piW8V)VeQ}y6W#UgoO8!C zqgh;@$NTEV@;K(rlshJk8(BRe=-V9IW;An5i1@MQb^FJ9M`d=3 zu+_kj$}}t2tbVV=tgi>gG|FrOX3U#y&V*y0*{+6yG6q2&iGLSmpWeRg9FMj@_#H~> z37Qefn5tuDHJqp$Q3xBFsc*zGR*N1db_y>6XnEMfaI0E@QRbXMtnZf}yJ~~;4=KZb zO*3vaLd?%u-rk3lC(!i5{VA!%57ev54(OF7LJB~O6$5)P19qeH3a|SWg35#Rs}jav zHX$7q8YMTrQ+(rf{zJxp1R^29F-0cMLj%Vu*}3wGyW8JiWiA@!3&5XJ3Ib>p^iF(qmJl;jp6f*eCmBsZmAK3`-yYvgjh@ka&!T37 zgwiN;+5(s2hZiW`c1F?#DFQKFv)ViYZ>OYTvvTT*MIULn-Kuhp4QWFglXkSzVO=ApP4d$&|eNP1`kKmr*skoOlksdTJ zHCWMKrrzD7!g8z2Mr#l>hpsn}y>p4pm@&2AqwzfRvPOX=!A+vRFQ6J5jjh#mGxbbf z!}RS=5%|wBuqkCi*8V)FVg`3F%2?4Rb%q|iL>TRqnk3hwECf*p8&eshx=fSw*8NyD zi+X;qx-+z(;aENQ>L>T_(dgk^h_x5^{t==QpHY|9af;i+#<__5J@p{%IS&(M zYV|zKsUD&fUnc*9ll7oD7w^OLmXISHvP#csE?L~C*zdVfqqWa( z?Uin@_rj*f%-O@YUpj?A38lIcKsZ0cma=P9-!bZ+xBM>?A?wAdXX??MAdDqm0-|C! zY10fqVhL*G<~c3FXtbH8Hgwk2`;9x-(mJ_WccYw4 zMITgbwcdS{OZCt!g+;zWOGDjbV*E&%Vh@^wN(cF%(m}QTK_%7sbxM1dpmUy5Tp{-S zVWqN-+5`W5`(=&wu#!=?JCYS7L2&@;c93QW9zV$)wD!f4_giCmR>x@-Jb1+9T%y5V zFH9(5y57>IS*wK+$f%%L#LrHhW!=jRwHDHD=wQCiQgYQjLnC^g*4nIc!wBUG5eyy9 zIcO9+L@tk%Cuu{QVafTFdV(Sr66r0?kN)H*VE!$XuV6tfQhe zW31`x_B4pD7A1O)F{$cB4gMBkZDT#Fwyb6&sg90-t^Yo+B{RxcDGTx7Ke?o0W}b~` z3jGi!TJ?J&OPU!FiN9+#dOpa|7=81gCOr+iFvPfLk=NuZuf;XDj4~6MXxBky^`(_J zY7Z%|{$uJ(1iSQqUoeHKQR0ai>1lRc(IQg+7z+kf_!(ktFKL!;R*Q?uE_OWS!;-=- znDyr#=$kOP{d>vn^XXiXXKBP$?90q>KFqE~akYI}Lj<`yzRY6}CRu#u+za`_F)D?R zWX4`pfIM1*kr(-C+~^ral#uNCJuN4q5(s}c=o1duQBY_?OWpsx~MgS zeyC`)PoCGiu(7ZUrfw9zdu7iDa;tkh@xOmwRojq@B~@aGdMu1gSs0J%e|e0DDOl}6 z`j_ya<>r*T-2~GMi4!z&D6613gvae>wVcIBQG!Raq>CA?KQQu_AoqpAyP`?5Am`<8 zmsS0reixnd&Nc3=dt$MkWk{$$UAEJP|DV5o!=WYkJo1s|hg{NpdqMp?06eeiSzKv}xgTU34M5dt|3a&mb3wwF*2_|KaDG(f5khQ4@MJS&6O`c^IV1Wi z+oV}$!40m!XiAOD=ya8aMO}aVKrix%J1z3Ynkm=mV6NYy#bajs@=&1M3L*LkS(iZ* z4|Pv)TREk~I37kBJGp^D(7!=Z>T*!FE5wu`7tJUJYm|0n8M^!u`Ai*Rrv6=P)~4W5 z1b>dkTOo{1@7cN*Y)2*y1q`i50=`jwaKg`!BiFn#Mp~4++e>fkhgF;JsA$_sm1Cto zjbF@V0b)<_W=CvFo6oeb?UW|#iQ$Z%7lyatfJ31H3Yck(7Fp7-YWwR&@9k!`aByLnwA_iRy)K`zrnwLsb z*So~x!=mO7=O}Dmxc$zB0HRS3c!Jp5U4f$#LF-=PSh@!^HD&AxiT21hqj7`Q9Wve` z$dv^o$iWlR8?}Zk(o-72`YC1NECUp1BjtA|^9ka*AFQW9w@JI-q-}1)=1Uo{WU8mD zw#m1zo|iF5s1WS;U~?qfjP@lMcwV>{foh{heObMvB-~qKtF9SJmg@%(VD1C)(tD`h zgay$dtp0AV23mHv)*-E0TULG>Lhn?oQ3+z{2b8hdlMFvu9!D>4JyI^})ly>QXx6L9 z=Kx!4?&iMiqIcJ#?@5@Vn6$S~=|9o$9n~-@J7d1V+f?yUCDIblW1}J{TUz$-*T;OkQ*miu+eJOe+uO_LIMBCTf(Lf@=e2xqK|_3XQ&o3Ev!`KuUEjD&_Ig95vBbV*j(Z53@;a zrbPtb!P-4aNOXebIuKK}YbUtLr z=?<)E!p`f69Pr9$mZtGyuc5jVAk7bXdDBx*@~yb5#GK$<_6?>;7W_Ac)YDEuMn`Zr z(hoM>SG;^dD|#zoAW(H#OZn-&MnTAbiW-?~R{q{EH^_oj-X6H5UxHsPjD)fV}JpbE|R%ei1 zR+fqxJ%{QrF6cW{!tY}vmY(_$XhcZD-Bs z?HCU$bEVQ%M#!r^L7HDyQ=gZ+ec6A}+{#^*0wTcxgz)QW4KR|D7^;_lyV7r;qv)y* z{ReD>1wd+M=N|OezP)Xzx-{eN*5&7v%+Da|I#DYZRG`XPsCi+5Uk0`ZxyB#^x zu(M#7m{I;yFsIzq-hu~!H94O+QGaM)M#Dn^r^RY8Z#FW!MKIyEIQ=X>x1~ZG$ zu;kLFpcwp89u=D+YUd2~MMdCJ;SO@KKXy(_QdIT(&4e!^FElE619N_n%mKCC)v5x^ ze(i_gDu8NPe5SA&C|jafr|)#DYJCks^}7$s_8Y=B=Ub)z z(p|Y~_HOI^9JBDu-PUmzvyr*mvhR9UUOZJt>Oa(gXZ$2gvs;Qp+GT{T&8373yqAL1-*WkKDKxpmO2rvpuP{M$oHWAh9NUw^#V8oO9$ z5oq{Bp%$90Z1sS5kCw=@O?f`@eZO#>-p(crxe$;CowWJj6w|YF%9s;1J9FThsXkL?h9>_4eSu{7(n|_{Ebq?#;h@&&yBzP}whiy!F5Sr$1i%?_xd4S}N47lKpMu+7n8y zf1KPHkM<<@TglDq5}O=Jj@UiPvy`mcYVS!tY4s#78PC`Kp3AO>O2|+Nd-VHwq$ioT zoN!uMEoqA#PN>xh4=5*+4p~l!0z!xhg<3-t8j6rR+24|;hJ{YgLrFdfir*gv80w z+mn2mo*Z_a{t{i5r3=)rR#Zuexeb(WHDy!Nx>0j`x+VEMyC^h9p~=k@c_K72n<>t> znS!VKYD|SfiRyRhj|MW7q7k)QS}B$ulzsr|@vOcYYE4n^t%#za__ZY?E(Cc#0E^V2u*b=)vCfF$4Sv_+30=s*Yv1$apTu-zy+|p;gE}g^@fB}o0HX_ zIPKIb>0_e$F?E2R=ncJS3R0;QIWW~-sV+=;s4GPnf))|p_@~LVll?JjU-e&wlKpmE zDdTKuMTr9_5z9@rM6lE_{-2`9GMei*Fh(|4{Hav@DZmy}5Yp~&t5SX9w!$d&Q!e$> zP-_^=Kg99LWP3%LHXz9{K zV~N$e(BN7-x4zci4oCw^rv~-A9%@iOCp+KwwhmjJIrSqFH}k}>My4at!e-Y=Q>P4l}7j7zipd|c;E zZlt1|a03_{Dc3)iV#eFjv>8_a4Pm?5xWG=0$MCp};c*+oc9s@!jMqF|3|lp>8A!oJ zxve@HJwI*_D9=lnSt4l!k*xZLm2%s*d2d|TVVu=J#I7EN^Xryl&`#~7i*{-!xeaeh zgWm-HVM0LKd|mp=UV1vM!xn8`PFuPKEk$FU4%dwYw(f%y7YD)^MCi=`H!00}gK8ee zfU$FZIMimwgj%kVVC^Ip-J9_NuS)}7mj-l~227WDblxOn$iT%-wn5RL_Sz)<$uvy@ zI42nziGt`00el`uCmgpIamL^5G$V#UJz`#9ZN(eL6>qqY%cgx?W*&Q=?$G9S)3X)R zY$|NPEo{Im!OZAL%uMKrz~_jDPwXhk5$V2;#svNmr$<&t+Qv?|!B2Y)ep*8h((z7J zd)gtq3z(z|LY?W50J9@63Uv@itK6}5>m1Xar@0wYmFdpYLT6l$G1)*9avZyh!&`Qu zHgC!Z0lTFcG`cjfr2#|^ja!;G=|2(xqBp}7y>${eLkx;=aG;XL@&aR5R0){aj5NtX zduIp_2SF~NpuJoq4MM1cA?9ffRsugKDIm!peVwCta%c=CsRJ^@aYFE>Bsi4PMdD4Z z)IiBoz-W!i>!&G@!38vSVV&!-R*Bk6yhqkvveS4nRYz~^hqadg!ha&o{u626pJ03m zB5L0uvQyp+edNIK;YIi=%x^+8E#gSU(-G|gHiNS-)yBz^)wh6%I53scMNdf4iR#-i zj!0I&ZwoRbdMpH*gTlBi7+iKoFzF6Wz2i`kH1H`Gd{P{j;wgI4GVn@U#vr53w9VTv zsIy^<7u0UmK5PkEslG*oqFH8V4CYMs8q5TO(n&|eEq!U%QKn;@qhr`|Ly6kg#gnsh zI27?Bc3bVkp%xvr+e!?FTm6x{L(XtG;zsWdMNLP5z|*oc|E!&nCyy23Q0kNGA%1}3 z$RRyN=LG+rVN#@5&}uJF4innk2kteyq}|+@=&(@H(q7%Z*svj~rJZiG+lD;~8_4z@ zS!(attzDMt+pSt!`??h)qaT7@!SpkeBYP0GP=mMO2Bmw1a7Ze}d{zqn6H?+|*zin) zsy)&&Kye+de&(^0OY!_nCH|O+zaJBlj@ZN-5Y_{8U=ax%BG==;tBd}aWa*_R5p^ zr77f)iaF;mq;tPutZ<9ifsm=)3B|Q1?t}yl-f{#f{Td}w68ei1dlLs`9w#0r4%ED! z3ZW_M_tMgS|Di6c#T3YZ{l5dgb-?ysLKgH)R)0xNBjlc<84vUB^w-PEfXhy3qY#TByidb#P9Vo;80oyoZkrG{Kg>+ynewgL7?t5!09&( z6TfK}dBPinG5S*7H1NikvU$`}_xQp9t0tTnNZQ4TcTB8*kANIc8_$Gc>&(s;i4jMi zavbI=h@$Fuh^-H$i14UIq6%oa79mDN2!{w!{IrNtH2z50mEtjlgLzWz4#jmeW#~|r zTN5#m3gkJnF*K0J!mrZ*t(pbl(e%+@zClvUv{s|bFbgI`DR zs}lSwg1^JT-$Af!`0L=SYB9w90muCT;=U_!-vzm2+v%=Qh}*f_KbUx~-wXk3-j4){ z^*`kVFLTVx{&*^_n>Z2X6}y#i6Wvzwc}F&WgYGl|&tfztz`GSQ3ve)kH3Bz7(!rA; zurLvlG>H%s?JMR^tpM1_8lqj+!~-o-`2zq{zfW8sL_@U>{!1_&$)30yY0vtVLx z9jcvtT_&_!vL|ZyQaytqBgD;CFelb(oWj6`}H{%=UuJLEsH{rdqt2YGK4tJ7H-N zlDLS14>?S<>r}uT9A&1ng|P>MI#o*_By6>=KdlGrWq zG>M29edjxb4`=~kbQD1I!) zX(rFUFW~om@F>0X=wp>opQu^hlE}9-(iXO6f^{h=!jk|f2)sH~L_4Jd+L}Cns@?Sw zlj=*#tXx912K;>~F#Xl<5`q`*>HBsRWG{6OdojJcShvy#O+bj%J>O?UGR_rYcL z(xXq*KX2*1gIZ4BiEwLT4Y=S#Y+?hhT={sL%YWC7$Cby6gBSWxM9UxYRyZCRwuohg zOki`Ic_wC8JR*LZsq#`YNrEJZJhm0f466LV*M%WuMUdK3W z4!4ar&fd83wzIe0cstnJ5!c>C?X2()wX-G#bKS%MfhOu_#w7(QiVE3GO?8t)7VYLy z^XBzjo3=sX*QRMM;jg~d4oY1LsJ_|>%Iqag3%OhEG-@YSa~hyDZBWngn9?JD9Lh;8 z1XV2kmKS7=} zQfZhJO7K-%X{t#mM1oPuwU@PrY1=l^H-OkA2R;rMC(`8k2zHp~MO(W$PjvjDyS?-6 z8XI~?1*zM%M(H+|0H$f)5&e-J6`XDJO1mOpdj)#S24Hec7&4sWN*IE9=2F1MQAW*Z}COt2ZXy3 zysv&D`|2m`5f$R*r%X4WkyUyo2{92D03M7=WGvMeVS>{#bvT0Q#DiUlUX-T#Du(bw z^yd>iKILKjkoW0N_{ky6<8SWb-R=|F?LOg+?h~NoE(cpeEkS>w5c9)uh>G)V-l{=o z+7Pt!jJ?Zn`!2P@NePQi>jZ>#2uqQuYlg#j(VicLS|b+0u@!2Who=6f=9@3H4c;`tGKUKh{n+^7#^Wqp7;h@GWrgKEIG z?GB-+oSsDO>sF){1KbyJSh@<@s*m~~Gcm|HN)ZiB6~mXUtk~%#3l?hmPRQ59yEh`dTj8Pk1Kcz&i!srN$k=*+LkSx;Z}Qc zi&fs$UkRc1D}eHr&7izxw+YL)Wm76_RX^BGqzDf|vX++;R+G<*<9Ub_gnEHw4rTS} z?Jl3huF66OqvHhwN0ouX!c$jC?LlL<+M(vD#VBVV6R_m&!-}Wq0Yo!FxA~Ed+uN6l z$p1u0xb)+=pb#Ka;8ME{X*^-r)^TpZaUoo;>)gpLp?kK*(eouR==mUvqFX7t#_I0HfyClb?EhE^@c2Kap{`YV2iZ|^Q$!ja$B=5$ZgGPNZXn< zkVZkeKszRjj4F*8gDO}sZM^^lwDkfbpsg2}7{;>1Dxx?Tcd5|t37b{>p}gMzvZdbb zrEoPH>Nrs-6tA6KEmZO=g&YOMPA^}{mGYI`yhX{rsdki1**i*hd}pOKPiEC8`-gwN zqte=2c9g7T2bIoQ>hjE5xsqENI#H>V@^h<|+=28`Ia@3h@^c5$U(1!s`Qq}i(V^j? ziJ{>G=_x8^wUj%yoLjAwGKB-_3#)U5eD;al+HCQ;-14!**<5yVV*c=4E_3+sk;$A= zw{1zV!96nORzoPpt}fJ;wDh28<2b3bqsk$avl?q!USloMR*`tJ0O>pAi1sA6@Ydnc zK=5wW5{D6=NP}Zh%Y@Q`x*m=a^%f<-{jMElpx*ieTa!n;{OA^44MsHW^LI~=#{wrJQ6={RJ$L9s1SH~(%G)dK36R$4*mOayK1ues59a~jIH zTM5;_l#WJpCQwTpqYKmNfi-@`UHOkfrT5BO?q%~DTXyPR9wD}jqs^aplq;7riv&ZhV)Mr~if_hL*m3o^ ztXP)XQ>>NhaPEtCIa2?62TegOL>p-@ArR=fTWL~y`%WSG^zu<>uV zMEOZMz7+MM= z5>tAE{(l0vsotQ$O{FmN>l4_+q=NMc7#(8poj5^Tf0D+m57ZOpS&Ht^?{>TqQ#-3e z;`(jtcL?v6cqrxAu2Ew&WSiyK-y3bwE)%V1w4XusV;WdCYYx-)*mMh zdjMcSpTD9}f|*ZX+Gxw0|80TVFoC2E`5oaagTdI2Qn5wF-^pKlmlfWvy0BPxt9aZs z0sLY#Y@GG)HlHbCo6i!l&1Zwy<}*R`48qqxY4aH%YBRGgz};)&hS8zTib=v{aq2v4 z86#NjoUUd=qgP9F05f$&U-gG<X}4z>bCi zO?|02fq|}~ox-ZGC2L)17`Q8%h*oAHoX$FioFtXN|R>ZLZ*Y6`KEjA+FE zP`Iz#YKykev)iJFO*yvyR7?jIbeW-;TWlL6F^NR7Klg=dEgL$bQzv_&Qv(Jk48Y=S zhtNs4a$=sDA$4gZ6=E1R(wl_FrcDfCXb;mP$ByA>)Rf{c!dI{^#cc)c1iXq;tsIn^h{j}>1+8y zAw8E%mvT$RtGW4femQ;aOmQ(iF_b==DLqFa#kq2^kgMdWa)i z;2}Z`iW{+cye%3sP8()vtgv$!U>KI7j1V@je<2zL{$yb4OXFo@Q zlEYY9N_?^ohn=)!vwO6)G9f+N?ySp}YTgA2vg1gpv9&HV&Mzu-{dvzKncT!E#4+na zrErDGt#_pp8rUGeuD(eiN!?>a@wCBuPrF!>fw#{w;ld?6ZF*IEIuvtV8ffgnXgp*x z`w9t^W8MzPoj#{8d^DPJ&^hREsXw&1``|i`wQmQS(ig_kz{4#h?wuIWz`b&xLED_m zp%7muqG7Buv*l5DyyFKCM%zPvV_ttDXqi`vV-JI)ps1}g$*sxyg#Lfu=;2tzNHh^l z4LAgO`fykStO&*6E}nDBJ#EseE^z>dq*HJi(4-cE#%Ov&mjs%jH#0AwUk*h zP8(Nl+^9j^hV|1#0zdVd6%T9_VSE)M#8Hbtq8LR@wFsySKd#fQCIEyW7HI%{lWY># zANLM%#N+NR(&1IjKDSo#4Nx}%(dNxgU&0vC$k(pqmX#vfJC(3hJA6|vV*}hz>;!Q! z2%iQcq|`1;b;5hDSn*O4^^KIK2#V9G89%1L`79JmOPLCBOVMyDIi1`q%xH+|mG7Lf z)MJ;*x%6X&;#{V1GM`yoE|x3#Y#CMLUZ|wAg-p3jdt&32LMiPb1RG*&Y3(P(?k1##uB!hUO`+lj=>JUaYOatj;CUcD{X#Y;yLQgF4y2zs zQ_N-x`EO_D3b}y=;uUlIFQ|d}{8I77PWwN<}rp?${jZ3-8mE!!}S9~%zx4QU`S@AVXl~D2N z<%QxuMZHgDO3VKg13g_T6-)mV6`#sfGKGK4ifNhF{#+zj^zK%6kG7C!`A+SU1VO`C zef102U&V=|xF#j!-0!i_|B{>p);dWR1=?Mpx7aQ)_>0GrIpV%!;+jGgoc9+Xv8%t3Kbz0#(yr1SjU{Wh zY#R^$@5RyQkXAFsvAN!Y1;5QApxP~e2Wq!W2Wq$K+U*4}Eq7~Q)b@oTbFZ%h#1Uy1 zK*~$UiTYAWFEFlyXrJTe;wYHSOh)xD`T2gEH#Bhr4)M;Opglh%HeOqBAOej3y*Tb4 zhFs0zhX?_17@z1oV*MyM93~$Te8%>l7_~54VufwUWFaGj#X=a8+c3k~`@9EFwyPEh zIBD$P>S_he*V>ozhuH|TnW73gT_O00516skIc8^9O2w62sj`+{+IHQiGs}b{D%-HV z#F9a`Whbh?feQYY1SG3aB(DE;@_9%*=*^17T8H@Q&9?-s|1w$q6#`b1TR#URtv@S& zQGH-QRGWXJ&lR2a&PttT)#u;vV0@Ftnd*49E!sk!|WOyg2dgLo_xj%nW!$InOfAA^ zVInlof8W(pe}utxeF;2Z#22M$roefJP%@HSKgJT>WUVDeyb1+Vxt$PaMojZ*y`&?_ z5mcDmz_EqC#6|?eIs!Kg5Rw})#1iA*2B|WE9JQPXw`d!Y(J}gChK5mG!eLoNKR}`% z!bi%@Mem7r628SK;5Wsh0gB-&M8H9VkjBD|Y}2QEnX}WUEb!N&JHfT~-bcf_(ZjbX zyul-m;t3wn5Z;&uLn2($4w%&97Zxov+6g6fUE2(#>X>km)R%@(%){?;TG_+)bJ#|Isyku+Oa!U44XyAg;P0}_E zjJYRPQqj=u%h;p$pKZ(1!@}obsCPD>huJt`>d~$*p=UJPb+TOYCn>#z8Ei=Q9y z^JD0i9NU~$iR%f(scMC1a(%pAlMd_SH~@#0G~VV5+0_*aHAv1Na^hIR&~gxm%`JP( zIg~C~{l-DZ!E2|4SG8rKe$YeMX#E39u0!Ej|A26OVy&Z1Q%#Ar#G33;A9B%&c$&9$ zj9fC>5yB5)#|Q;cAgh6Kw#PNvX z(FW0GJFLmuZ2PEeQA&dk!YBOYy$2_W*+QXMibSrMct^`xcFFr$g!3+`y0 z$*dJuD;IOi^SM&4bXW2gf<}xXhOKc9SO;!cNgBeQ#=}9Lb63=AjMuwO?OqXJ>LWlK z&l@uUw%_3Qo+uOF?>K?{R05@TGt-71j5iT{t}~Tliv+gBr-Gm#jX0^~G;M`@2`Y(h zauOS>nkqsuT2V#LKF8rF5hiU>%rX7+g~M&SPl#-#xlGf5(d%Iv3!0pTd?6=uvs@{& zaEt(J<6eEF@V`j_DXJEY*?nW8?{Uoa+wkbaM5<6b`$s*U|nW|xWQ$}eGB<->v23ab1oS0 zt#WaBFt?m7&gZ1auTsFY_G3T`#cR1zmT;_i&v;&(xC-Om9U#CrZIo7A_8}YeXC*T) zLv zbqFsp%-Z-jywClh6_8}+4w`i-o~4JGtkB#fsWXCBjzUQW&PO3TlGdF zyDezKD1ofIjW=Z7(VN#DXfb{}Ulg^l&4o}r^5~>M_`2zXdaaZNpu3k3!$0JyCOtk`d*` zEtYa^+`8XV-9E@G>vwBG7rxt4y%O|PzH;SpLIt_fiRJlI#Ug_|nm$#&THh2ofcQ4= z5Wm(nf2?c%xQ*x%dJ$-DsxMjU3xVpXu&H8Ub!oXZ%P$$^6RVY?>~~-C7I$5xn=Mgu z=2G^8mI!NSz8EEhxY^=pgdg%zX!|Yo#X#*S*0sEiWsJ+MWBub@#-fBsP0Xo{W0#m= znW-pVVf@6k1c2fniSDu;Wa#z6Od%`}0NIMi=DiM|2<3YNBS!U2v;zUq#&tw7eZR-F zW{)wl*#kST^*tdCCghB9o}=`4FU>IZar~JPG+=xkLcm+EQ@9INn9yE0$H`I;Ik9RRM;q(>#O+?X${tbjNetob zV?m)M?b@q_`SfzJ0-+=g!JUZS$1HV1s|k5>pr;!0$Z4-X+Z98Ey=R4Z+_OSFUjI%; z<+>c`{3nIT0V7wN46)TL^Ftf22?_RROoC0D)irJ`wZ>hoGtP&Oo6wdxahFlCXX*Wl zrH-IiGpj_m5T>G8rdb-;W_moEBpQ@smYPKNi@EaZQtobZ$D{603~1{uvD<=C67H0t z|9Z2n-e}A_3yU=jhln;|k;>P~5QQk++xnFG#?N}9Z88Q9uDa>P`9>`Z-5eKlDd%_L_{9%h@m38B>X;O5keK!dU?FvI9hL;!?Y@&w$x0$s`)^A zhF6AfS>3&AttF~0!*MYd8*7s{%BLiIt2bzo|2tN3!fb!GIGZUg<|^fY>hD0hUiE!< z>-oTMs~r5grDp%XPDRP6D80eSm6EPX?^xcWmh z9R`lX_*cPMxTFR`|DZeu5g;jKs z!ic3R=Lk{{K=L!|#IVaUg?!(YN@eAtg9n#s_l1xJfId_#Egrm9K6unphj}APpFWvB zmVWW{{L5)xz{g(X7Ycbf{k2SCHCI0NqP&NuAaZ(H4u-s8*=#;(v-zamt`A7ChY2z} z4(3?w$-t<@6C3Zd&dMgjkgoxQ(1{4$P=21;ZAZ?RnB`@6vFYkQJQkJ@hhX4b{gGXdEvw$yynkQT90gVQpQ;7 zELhC>-_lsh6m~90sejwT^vQN8wZ#$Fju`NTL@_c;u@LwbTMT$ptx>)#E&>{jJYm|C zQ<`kqxYZYpCf2_L1GtS_p_Bc+M}%@Xq*z&@22F858qTCvg~fPC)#O;aPW%* z

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

H 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℘j%tYKc_hsgxA~Pdu*RH+lp?2)dT&wTwj%@+TPCI28A76drl)vvaLH&t> zpxq)7fcDw@Ehl4Bo0TE1UNLn@Kol4hm8~}&iB;RikxbFc z@z$W4P{9~I@=SKT1Wn3@&E%SJu~R}?%kB-)7%W6-kCQMGwG|h_sLfGf=19%9{&TY|-Nn`0c9Wiy!mj z!#HwLbAPL_%C-9)#sJukDT-cJSG?6_IKP#MewR0TKp0l#7hl-O+oF(m@QdgPGZ{Wb8M{hmNx!UQX-E-ftGtu^q0rsP_R=b_u7Z5DrF0Q zLx#a7gUFVRl7*@BgbT%Q)ER9MwQ4t%QqOsl5}Y~=_Z3P6(#_4wQzEmDZ>v1@QvH(K zNrlIkTKYaF()Abp@tdJOgrSTJlv@9Q|&_4=rbKU~+$v=L9(8woyS zlQTL8e}-wFVH#?3d&*s_oXhR(1G-?>zUumZCVxBBEp8vLSWDZqIF&p)`?)8ghzV5`%C!N0``Brer z7jexU6 zjos-?JnNSXJbd`{tyz%Q(Xs8J-*)3#rF-xswz4CH_)-34X?g4&(MJmIYz6d}JW^jQ zIeJT>S{`D>_qhXl1%v5*T>8}`3A&*a*%@-*wivHI?5UwNLGlw=iRzDW0#+Zm| z?6KH<|7pb+2=kElnBw)L%a*o9)dRzAp1nKgT>!VSv<7}#7bNnwjJ^wOg$pF9E?|&F zX^g%pbIXb_LveQhL8v-d*d_|vBOQt1CD>KU9Kl9IFH4(cefEYa`0p-mc3Cs=!1V)E z8Mp^u-f7pSz-r!ziFI32Pxe{2oOl;U?6>}f4*PYzWG@3IsUs;Q01Qsi+{lsNJWkF_ zJ%c4t_Nb`Q#4%eI{+he9qxTXWnavNF!;D594;5Y_ z;)sr0*z+G>PyI+wkom+$`bUUSYzw2ugz5cZ$`5;nJ*^LX2(y0;om?hmyJ)L1CJX%( z>M-3Xi+y*<2ijTr9KS__GLiCTq=yGu6lKd>AINt1S3YA{6a_G%ICD=P`9q3RIS&>{ z>ac%wJo#x96v){*&yEO&UlyH+|G1h?ku$V2s{JL>Hbq;<%594^O1oe33lvz-NQ|O5 z+1-F2tM(XD9fJ%Wqu7TG$8L{{y8rYj6h%!;>PxJ!dB~GUX67H)JM>HN4gLWAM7Q1P zY_IzFAb>(gaVmZfO;AbMmwxa!t5tV)aes=jVaf4(}wL9E{oEi~i} z56Zi3VtxJ?^l6v(B$(`Qss|bA>+}5B?IrkMc2|y!L{$VKhy_ z>Rx2ifS!_yV(HGwK~>XinB>ItW&DVJx?(@)kN?#l#eC&I@>|H3bZ6DtLG8a*CF>Z6 z=_N&8FcV);>owX#w{WC9`%N-k$nfXL0;yPbyrT+AoL;*wwWiyE*BrgACu&!3`c&32 z9W21Ht(Gxv{_Ps?q})iaqra_;X*VX|=$tcKr)tu=X6BNYcv@PD1)6jt^>NJpUPc+G zXXi?vrp&6dZHfZKPtWg#{)prsEt-s@O8dG;>~r$~m)vqd^IqtMY+3s-#hK_ug+lCd zf5hQF`dEfiZgdK{LdNpCrI>)yIyF!W@^7E(->S0CC9%~fGNdZ=oH$aJ7n@dk#^Dry z^*77yC2U5QDd(L(VQty5HA*uaov4V)Ke!WEtq{-o?U=vGFx(YwOLBL=)Lb0}-q@V^ z#5O?uL$;=+?OzQxj1dn@{3T++^P4gx90cf-Xj(|t%XifHo-va6PmsT{dAUR4t8{{1 zmHsKrI>R&_)Bq1$BGfc`wW%U!gh{*}R+IBe^{E+kQ5qu+`nwd(Z+_=2DN8P*`j z?8(Oz9ybnRWFPw&Y`S9`YCQ}*gLdX0(`psi%9oblbr-5UCg8PZpl#+6yZx!)dtSyW zXh|t*!~(GADN>_>6dB9Hc2{S9uxvQ_@DkE|OoejZm^X!g^+1FSE4@eU&?ou#M0go~ zKbA)xc9~cjwlO|>*t8-zz7Vu^+eQdjoPcZFy7F-^IBYvx<(g`naCP9i+#Y7uwU{7t zx-p0ib~evVfp#T7xp1soM81X#XLe#o>E=M;qpiJ4%y#>YnyYrZAA(hWsM_Cp=1ZY> z+lpnCTYag^b!R}UZrc4ALrUSR;^*aHB3QYajEn2VyZ-9koBq$c zweuf1tbw=(`L5)Hpa>B4n6Yep_^G3h1N!QW@lz+`#EZdJuBLj#pq^=U2EdRWKe>yC z&9trCQpP~NJ7=rDc-^5}HCJ1yk@oP&&iIvg20Z@cc2)dSw*bW~f5;o6xCNU4Dg#$k zoh&0W0&`PwQkDL(-+ZAUmOq{-&FyqHJWN62EOcs4*5Pk0e|QX zkmG%cPO=9lizCvGXs!*)OB(ACRdWyZ(c$pm3-e17YPR1<3ii~$_xcOk{B3IXIJeW- z;_J$Nq%lzsjlRpqlHC{#8!oeFrrKT-&rg@I^o)7m*Ob2{ou1tXN%?2VFUM`-O=Nml3L0+2a8^dLBF zx|k>;ANk|c@I#?8aM9P6vDkLXo_**OPC-4ZujK={PIpSW((ztt?E2lqqbrS?hR?=MhJ#%)5G3EzJRM zGq^l9v2vq->khh|RrzvLW-~TSEs8&(<`*=YlY4%~tiSp2c!d&4WO%Q_7c8*gZ~nOi zwd4L%SkIo)fpNHPr*!2@HTg1VeN5cJWqUg}ifu#20s%7NyJ6Gts&5hfgD|BZqHN&T z=!P-xrb0%7BqnuJr)k4r&bljU#Reu`jEQsW@JsWE|I}2o-<=pe2*hsY66WSrydUPd zU_uIlRK=shrqlcjuIVtFO?hKK>5c) zV&hiRrbMb}BeCLT&TYu^^pu5HGnn?v|KJl`F9^c2)RQIfo2Eb(ajqC>0|$_otbi7A z?ht4L3y_zvz!q^X831-VXihWf2={R?t&jg+tAMm_R$L%mKVl-%foPc#_g+!Vkr%52 z4_YT4yp9|QeeQs4$8HF%bF4Ov;eo25)Z@Dy#Un}e&yMN_MD(e<#s}1CDoZRE^>V5( z<0~9+nT{JKUXQ`rv^Hxueo)FjImN#U06E|YP(Y7kn7@Z43nI9d6#DR<%z9tCm}Qz} zA2YK?uq$Ta!6c(blZk4In&9#7sQ7Nw9nqh2{^i-S`r|DIByDE}}iVh({>2T78* zNy5^lGJjSEFIg;&8f*8C@ZaH2l2|$w);5a~mTuX*pEGH!*dQX7E*nj(9bTH)tjbZ7 zOyblD6;|!g7B>usP_gPB=&%{yf(5IRZ1EIItX-Y_e+(XAEZwFY7O%2}%cF#aOJ>ph zU;N((Q(|p@68?AiLmEq`%+lpK!qTPl{FNq!6&pm%(&eLpwar8mn^!+!+DVj7tIDDk z+Ubtr5F%DR03G(1r)1u$Bugxv8f#lA|38Ka2urswm&L1Z?kp{F?#xNFSeuU|mQJ0e z>sa`|!*6LU-8u`GsR&D#(2I}SR2D2yaSNBx29_>Y4Xj?F#3?9II_+wU7AWUihCPT_ zwLo;3Y)^^eWeL{UIt7-lR=)ojR}hviBW}wlsKWW$-|l$SD6w`w2`t@03zy6Ag8ziy z=`3AB^JgoFi)T{HubWhsEKqTCXOo7OE}IQ3Ub#f+sZly@s`D18Cp(4%h*-5i^cZZ9 z31ZcWR#>`~7B1Sp|1p~o7B0tb3umrE#hYS6#nita<|BcnOKJYB4PNlSLwZY>(xQ1= z;$p=!Y7U^IaS>M%9RS=k7&iU*P~~30`#9)*@v|dwFcwc03@??0(|L#Ur}2T}hfrs~ zhH)<)mW}%^oJS?D+gxSA9o|ZbNH5`kp9Bv<2p!S@TdW{-Fagm*dj|j=Bp^3v0O?@^ zrhpEf5ITqe>R|)hz9xax?(daL~qdblX`9@uHO#W1LC1Q?g1qxyQ zM?41}7GqqvSj=H4;-N<&)_6(PzfLL~F7G4WMk+gN(VbM6d;BTC*@*wTHctnCZ*myn zz{6mS1OFYXL#~7FUlV4bRvnDZBrxa7*>xRP^hbtaa>^s7-LG8#v2)AyH zNALYN6=%JQ3qMyc(=2EsA8+#2+a-T#2sxA3$Vx46+>n?(k%b#(9Xy@IHdd9%jC+QJ zii68xxk6bZS1PTq*8>lWGcTMECJ$XK?lhFpgG{{)lNm+cH2+2cv)>ltx9Wa9&TEVL z!E5W$aN}|?@zC>bc+b<|$OG>mgU1avXWqx}*j({A^V1*n^BN%_8+~3Xk%56Xj4a{QEoDLgfJES%lz_tf05iK z<^OiJv`R*;*zy$&-LkQ>lWUw})=Nckw52L>UQGpLd0b5eX!-w>cjqr={=4Q{ucc&A z*88PI(AK;Emp6qPzrzHi*`Tw({%a6Mn|qrKI+H-P#VDYyc1(ZQPj%6f`@dgSCsy&Y zhgIzSu~m%S`V6C1Gv5C+(f@ApA9EMA|6x51LicC2#0j9(D0%;76nQqOq17lf8(c%0 z3Qlqx|0m$oD*hL6g=1$c|Gxl7{R%Zo|fh$b{-TV)5e{23H;7b1&aH+q* zZT^1`oC=yntu23h6lk+Odxf)+sW@^m)ohx;v1VDz58)W5+8b?!z`=uNjr$qH8c;Tm zRLb+{M`GwQ=4FG=reUj`vdxcH1p!97^9Gpl@pcMl%x);a%Hv^aTrsQpWN)*%VMiJiJ%tmf@Fqcf*^uuDucGuifeo6f+_A?Av>^mRIEeeG&CqfE^J&sc*W@IWTJ6raH9~7IAgy#oJ|SWOeoxU;3?4RyZ28s_;2ct%Zkm*6Ia zIF0RDcHB)dQ(|(PYNvag6YE9D5#~ZXxY0FP8CP1_6Y? zLPI<~)aro3$b!R@`mzPbM|DsSMc_3=D}67b(JZ_?A@q3Mf7n3da6L+h6x5UcyBzfk?+NY@izW`XWG0&kTc=$SLlEt`jB0G*swZ zB=GO%?ZE9X-0$4vz~zs)ON!S1wP{ddw*LO9fJw|&CI)=QX6D``#pJQ`ayX2 zC2q{l%N5ti0=Mx)ZPC_<71z)Ld2vH+QP)l=Y_bRR;)hB`Zt+CkX zvCH@`S1PR@!W{vV+ij24qx;SHz26L*bJE#==}}D1cuK=osn89v=DK^mhvH^%|!c1YC)axmS-ffX{MFjq${PvWfphos9!~b&8rJU{hZA zIm6Cxr=)CGi5VI)i%nuIO=8}tMPB!#8dS=Dj7k96#IOUVxaE1&L|f8{Ze-_4vWxR* z6=zqXruFLXY@+G|Nbh&AN8bd z5UOSXf$q>V zc*SNf0C)wV5^pwq16Qo+aSwof?6+QQfO5H)p@95r>SY0F3&G&Xn(D%t*CJ%>7H#`h z{U`ZJJxC7D#5vbA1ACY!X%ar!SaXf|n~pmxwxk~%2|pww@+8Eaf$EVJZb|dHviYHZ z)`2ZYm&+KIObDD{I`sYkt-YZcs#sDcD^?GG!Zcmy1$B;aBAi*cisr9V!LYW{zi^|b zN96RAB5V!OuDaJEMTLZ$cjbjF^?U(X2cj!#3h59v;kdH153=T$`8!XPArFR$-52U_F%p_Lc+MP(1#UkzHj#G;$jU71cMf~p1gxw6Qw61%jEd_5>@-y14LimSf1>PbK8o0sm`2E?nGWDReD0d`c02^Q0o@lfwtp@dW>Mm=oBU6ROsWI~lbas5cu1$ot>} zlNY}T-^ma7%4yK3m#>6-n~P0y8Bc~CLGodu%5*WJX5U+TUBx99ztdkhaeA&(#Qgxm z&!4nk?h@8!645Am9vg3jm(%@TL(22&de!k`89Ms|GfDdIz-H?Bso*F2H+6HXG+Z)b z&Gl_=D?`UW-k%R%2hDIrm(oMAN`Iz9pQJ8@1Cn5J1!>QP&3h}eRAiieC#F0=O=mv|k};E2r($GhHjD*KW}ldPW>AYP`*joz3&y`Qrh9#D~|e)D>u2@Hh$1?E9M&MDYIaI;IO;XYAGl44Zm}@NRV!RNRoPgl(ApbRa&|c z7LGgNY9nw)V|u_IWQl zAFFrh)b5Z8c4eMMR#C?O1iac=;)49^H)*nZZWApxeWYo&$CQI4@&)EoAHp&K)9zyU z-~@Vb0KMwA)gcYqnjnwlf`uh=(+6yh2(zN<8!_IOZRwrKxX}--9CfzKRSMX%6pmVEkWf4EK zM?)IhM9=d01q;#gzK$PaRwcxYS}3bpD2rNHTqU%gKN*gQRZYZVrJ2nTwWMy^=DFVs zZ`Gnz*u4>jd6*-)mO}fJMKzCuje|>`aM^B_al)s=CBC0ixJdP7Ww_9`pXB(fa>PP< zpk+Q+6Rh>cPtrg4Wb|~6W9)USBpHqQHdz;!4tL}{gi(B&Ub9D*p&?Wmrfd@sUlI4hVb)QEu>XZ(xYuvBV!>cEJh~ERZope;Cxm(@2iqgMxSS80=N>> z028l~9HS70iM@Xa&TzlrL*;X1JLY{kz?YOx=j#r;4oL4C-ECX&{lr!F%InY4ALLmY zH}dgI&~MK1ij*I2l#W|CNSV!COLf~2|C?I@2XBRoeJ9qRvpNQIczCu*?FnetyyEaf zNX5`b&>8A!J^5rq<$vo*FrK+odp@73w!@}zVP@N=6b~%%+YpepG-Wdln%34mW=aem z4ory^tQ%RA`-clQRME?L@cBoAvfEzrsLS193DF@*8MS$Gu-jWFjcoh_mhAIzd1jS+ zNebkHc94!MS}Vo9DNElLppwUui|CANM3!F33>4y}D|FN9lX&D`0;S^ApLwrK1N zq~3g>{-n9lbhNuiTtLXbBtI2lTpjkl1^5Ij{o2l-Hf~#qi zE-$fFx?9n39YM-G(Pv!k9~hO7KCEx3r`gaZSoiAQG^qT?99?MRkvB{bpLz87sJ1P;D-7uwPW^-8SW=H>W(D9% zA5Xf_1EwtrnFL?LQfQ2fToh)W#Oc?Jj6nj1hr>$-^AXO~s$g{Efta~U&2Mce$wX`k z8)vlYD^5x=tI_eM6Ukfzj#z|k5pL{Jomll6S(ec>A4AI@km2N0Cf{~VBXh+$HWd~v z^H0sS{^ZFQBl-EKF~ybxNV8p!X%D-|<}Wai5Baq zw)-d>s%yRMvG1{(=Z(HoCgb|4mJcxF&##SKX1}+NHg#L20;6kW?}@L5k@+#P;Vejx2V&V<9q4dy9yTuCmHpckeY9Ta{Jk z%v(>gjAwtGRs6dri!{R5+0njOnv1ekbQUj3Go%Wv>xMEa5bi}X77n`6Ef=5NK`f)L z7w5&2v4G1OM=W?XwybN7wz`f?Fjkvph~&6tE)6m(uSb26KGa1oBFg813GnNtj8yy3 z(xEe?Q3Y~m*De4^YcLx@Z5WANUz@R!HQSr=rd;_X|B&liwCnsKU(TtjYu!*jna(Si zcEP4F(oM9cxH2KFEip;3lXJGV@Gs*;W=q|Y^Gw^bnNl(Jich7)p}C2+Y&B?GYhdJ_ zB?6n&kaf#udK`+f+-1h_UC)6m zk(r%jjV|xpVW?ucHI|Z@e{BIi>`rFXvwR$9Hls0I5dn{Ro#V`g6Fw03-1XGj51E~h z(dJE?_?RBg;sgbaFlgq!v>R@CU~)C$WDd$5h;`^4RV`6b z7F2w1xQ92KwYS)Z=`bPdW>T8P=WIvJ*_m=E$sk7ekLoo-=+5lO563TqO%`IzVw1v& z!qG9faR`2AE;8!OL20}b?kO14aQQ}Hdp<0E&riDt6{h^gN+|3|a%ONu$;HBJkiR*W zF{0W;KVPXj*m6Ovs%E+*oNVmM_~Q(|?8_2vP<&6@blw)&$3sP*o|y(;yLJ;_cn1P4 zX-H@z7{xK>%Hu!dJL%)%iX~s}UFKb#WWhc`&yPu`1qh znOh2?=4FtPZ@em4q%2#gEIVbSn_9pf@~jYmm!v=ou!^*x9Ox+pKpW5o@~jk~mxQ1g z026Y8>Q@)g3Z*~{$O^SU4akdHz<&6Yj8!(@9b-B$STKaK_r}31aT@9C$E@mbsv!K8 zDpb2xG5$`W3eQqV)=bQkPZ?imRN9b+WG4sK0wGQ-{HJx4Q2%@V%d{pwq(Mih=uYh9 zv&>l{f%H&Ts)Y0p$3~V!HKgV~O|5cplCHP4ISpcuLX2#fSaFOS=WA@Aji0dysrZaB z!j##Rix`0s+Y@6+`|?Nz%^uJ%pD+&0kxSs#R7lQ^xZKGqP)~`O?cb*=5G%!U!Xwi&Bp$pMTJVmk+}V`_Xo!BbRI$En z9Kv<(l@1T(E#i*Aj-=$W{HcZPXD|1R=Qr5!@V$wx5&}xY==aQ2SYR2$5gBWeC^H=j z15Jxt>lGWj7H<#7;hU-O#yZ{~ER<_z@J`j_6u)}%OK58++u49$mEg~XOQ)!>q^KDM zUOc2@<{)vQdX799tXj;7dt$C)pqxmjg$DUW^}${i1ZrV`m}aCvvS#^1SdSa8h_;)$ zqC9l+3=Y4Wpj4&{*mSMob+LHMJmtZ+!F0hqC$TXBVvFU9O$iL`BGqf+xsc;DyLhlk z{jqal_9o;!J4M9tLJql7x+gi|XhdAyKVL@tb`;WVC_4_5H*Oh=No4Kq!n9UdlFrB7 zH9y2rkC^IPjVabYma5(Ew|V%q@qY?%YxYe)lH%HtiD)6~^NG{{0-lp`0Eq?gl|E2X z4I88Qqiam=MwW(TDUsqyLoRE0Nw~P#p$)In*lgpVKCNY`Aekx%35C zB(gkim<2u2VP7-qai5uu7N=R4;#1<*XlyEyY)Iat5uw^T_Q8eD*g0@QhXdamF=$tw zo3Z^$!n-Do>jD~aJc7gzN7u-n5;SZP%~RpRN_SkRzX|8k1N*$YRVaWhwSKh#8mG$P zucGNFPdM+_3nnGGp~N|* zhK%rFLACiuD?|7BZG4h%`Fgh4`>md^7Oldq7viE~mGZ$rs);4_!GtyiDSW*}XHHPj ztH+)elqQpU2X})A(~eyc&{;3w^<7U89zmh1ayw{|eR%0u%r5ZP@wsS%{K5ao7O~HG z?hiby6u(9eqc7_(DNmj<%LU>(%o1@MW{o(aOfMcji)ZMM28N8N0LdzijlcM09nEzZ^P(i#bq2r6X5jOwR z>ZJnqj3^=EFW-FMG^KY{O;8t5XX>$`&zX{sg~G%ltYLd!*ea7sQeS{`scl-f==25@ zuY1B%01iy(cpnWug@9g}urQD}BFi*>i@)F;0w#!;K97$dK0<5Nh_Re9nPE0lr% zfQJy30!{x-N+N#KF#*#nG1{*`7ZGuHH^6}Pb}@)Lr%AR%5<&POIXQ;Sjs60E}qfS zz}?*O)$Z1+vzCm7t$7t+KIv&>sGSn4QmxyhqLQ*3+6M6bajvPC3Q+##1~jL=Q6z=OmI8a3j_M-0%>M`|^V%z&IGl;NF%p zXCJvE@3B=_ro%Y3uDOJF_;u=OFJy9rD}PEoV05LP9C*iolM!J#)DX%p2p1vkMwa)c$3s%tKq8BLz)mSL$)V%`0MGXoJwlkeZP3(pe1D0_d^dUYqs@+G}+ zhLZywP61UWW`L!hXXG$2Td>h_n{pXo)yKTShf@;)$I~%hW>KE!A9e8>LpejwMHDpE zGE?Kp3>%ic=g+g}2{BfObH$T5sz`xS55ZuVaxD<>K#2r9Xts!uF)ki65xmxuDb6eI z{}c$?7qOkiR>V}HMVoY{XM7SNW&X8Drsi16bBdZ|3JE#JZ)HB1EZgorcE-O*PHWau zt;?w&F}a4dsJGYHciqgDRr#b+bTqALVsWSELlExm5cdEa4FyE^0=ypz_~;2p8VYDv z6*v|0FenOfrwpJ6Kr|0S=H?wRurCHC%~o{}Uf2CI*~n)rN1H_-9oN{&mh zJoxLN7d+WKY|z_xLz4PQ!if_53@b|B#)Oiq!SI_y(fHIb9fs#mD>ke87GY%g7K4lF ze};|88dzTTz%>^VZS&tY;xXdz?^yR>QHv8NpS-uQsXkPcLWk#>jBq@ZByecP@k8h< zFzvwc)_F6<@`eh_BRBTUW|;}>PJD(#UG}3Q3qgT_ibYjCn1P@&n8ED4=~RJk|7}?I zmY=&0pEDqfXTij?Ncl=vLA@q>u^*E8!r+c`EU)&3lpCaOjXt-9Yb-0u65!h4P;&=I zf{d3G#g3QRBt=>2Te(oHe5sy)j!`rQu^MVRx02xw{I=DH*21<8fCFwN%+-d7UL~LC z6YxDGRpHqFQCt)Mrg@*>7s2Vi3 zk(iUnSJX0T=wnh@&i*1#6tA`G50Ky;+13lc26Xul9YDHqEv_v6$KTx|+Vd?ORsI6{ ziJHSyWn0hoxB_8WN4E))QK%flm&yrf>l;fjtSv64382_Z4 z2A&6OrrPyIuL&+T#_~k=sOt6C7a~c^{tkrug2HOqg^Vu%D+)7>Uu{AzNCE~2k20+= zb+P*^FQI-nMb@v&DrV92GN%y0Tw)*-%ApM8mw>}ua$p^50Djrav-1nEY4#Ruj$*>L z_47<5)u3qFFbPN|Dc}zjgC@|7Vt_M=K@^Y-Jn z*CCl=xBql}vG<>Ih!1NsCCZVgkBN9X)IA@_4go;AgaByNJt4>r2|&7} zfKDg|b)XBB0y&@)$^jn83UvTK3^A#&UR>RV;0k%K?fu@MQ$c`UonfujGAN@vT-i=K zQ-+hOPJ0cM)-sK)To#f!8o}ZQz&=p?)abSRd54Y0idDRy;~v+}I?HwkJR^vYpw#rH zfZl{YZDdDtnIyJV6vlA*0JM7bk{x6)M23m;fdyAv@%AqhnLofMaalB;;&$39%%>M= zi-;x8tP+vu=gMj;T!0grWUg;3m_I@(-dSC5o^I$4QBt4PP)(P!6iT9drtUkOq74Y0 z{YCVgAE2eqx;!FU~6C0gb7Xd`=_W+Icc+(=bgDe-%)v+Q|5;_ zwr=3R93iu~Z=IB#0PB-m$Y_z%%RRXS6io&wr<%l34 zdNscpLhyi920s_JXBAI7WGGj2)B7@ zPpWnGl9H{&*xyekBF=o3VQ1ZNK3u-2>vcRl`d=EL)@<$uh(t-YKPQ=pXWv-(gYC9V z?5X(Qx!a!fV{52o)m_Rrb$cQa{x$r`Hde)D&|RLB;Mg8$fw<*YxX|P44M;JqDT?_h zMHg7oloEV~D7;7h!z@1;u}#{EhcXfZ&5w1ZPG*!Iz1Fb(T#Kc3Po&AT2ZL^7 zKuy6CAxY_>-y6D+8qqzsXtXZ1y)$XxsBSQwQnWg-*rhoh8BTi|n{h?<^cj~P!=1Pf zmn|3!BJXAZBNf_-tm{i?#)M?XHQgJTm*XA1=L!E_ZO4OTGj7b9*32{3Cpv>GdS}lb zu~(>3%AtOW4l>OK{@oPeSx+WDWGE;7UI1Ulh$LpG+zWuU)cY3ehdHPUb6Q! zoh?1rr_vv(X3>W`NQFqY&+qqDB-H;q%(eof{K( zI-DIR9{Y(=6L6>T7+!pzWlkw~P1xCa*^$7i7y1CbOw889Y3Lr)Y`YH9hNKMrC-CJH z2&#=s0Pq@d3c9BYIu@{Fw2A+(ubF6ji)GI*hHH$cmKVzF51l26MW&sg_Ib(up6rK# zS7jw4cio@fx`w(zdnt?WKYu1QBVIYqkWV#Jv?w>s4?v5)NUJvJ6R#aAf$oNldc$>r zF|BdT3#gI9d;t=~S2E#X(}~S)w*7W_IRd{=QLN`cYHxQix{ZYC#}dZgw~63i7d zuep{02~trj$YBBW?nVIHB%NxzMpBdY7@ z9tt@N?XjEUJx7313pWhFl8^M*PovVMltRb!vTt4>9j-;A&x@!&7)>sLI?K?en0k>& zalB7bZx+YRqyV%87t9nF49DM`|(!S~nq*oFF4@I)+*g!PkEALtjfn-TWZl zO%jomrBc*U9)nG#xNlW264}^6w?bxz=u}>vp}FukRt&`;cinN{mph{&8FXc8M3*&P z2N}I+)7+dX-LbQFx2S);z@ z!u}%lG5bjdYq6|e(31z@xAta@8kN0Usi}PwszC#&PAQ<8WX}q;Lkp-*F~FL{AQFfsF@V}3-=O4OY#Z3T3Kod+ z6AII>R?4BaWnX}e=K0Fq_>jjlv(3N8qSM?kV~>+n@%1Eg0hCI3c-}$cng0M1p#)RJ za*R!0S-Xq~PY}`hkRhmx*X)l@LmcV}xb(hD2AOZtQH1)xXK{1ZpZ7$iL=GU~khQO9 zlJXRa2(lNB!07qeD5$R-18Q!@89yuH!r+pvV4TTr4v5GpK8=7fU=(tMG6Q*_WXKE| z#V+2go%g@X*TwUQ+!>UB`)_OqD`luq+{M8*+#)eg0mBUi#tE4aQ4vJhA`U%YAk#4t zW6?Z4Ayh>5rwEN7{RGa|>;!4|{=(OVZtR;naH96-1UF4JW?3qOpbjWNvj>4W=@A>) zL`LXpkeeCdty3-r+=v%h($Qc%>4{FLfvNas+pxtC5AD8~z9P_y0MQ9UkVo@``z zs?V#mK>@xIlz4k^Xox4NeMn9$Qv??3fcE73;|x9>LFUm)iq&nobVX4B%6D$g7cI@mH{jDco@H<`N(S!8AxwS}zz~=G`B~ z0l*(bq(Ju!<5pKeVs5t%C6o9Su*pOj>L;oC_-b~u{eqW3ofu3MVxV|aPUHn0{X&k| zZ1X?w;P)BcSae~tC;0ip#TqrA);;|3?wo&3cSnS@zUl#`H`AdKudTMI%GRSD>toiS zLlfHqt+AYmUUUXQBRj63MGK}7fGl2Qc$maqY!EqenOkP#o2~zO0(q1rTwYx&DqaK*!u;glcX&xhvWkkj>E8)MzlV^I=tP2MsrRH5Lq27W3mBy*up}r z{D>>;7>~Hz2LQ!^?;kx9PqgA4IsU24AN0i{^(tEyiFhy{o&KQ#q^BB)M!G`>{TB`L z3HYiEaTo3*sDeoGub%2#-}JMea$uKa@Ah}^&cAYvJs9C7J|g^4Mua6nxe-jY5zMsB zkFtl4bSDq`uN8^!pXR#LTRu%O}74wG`)I%0X zPd#9jbPpEPLl|gBC4ilD5Ayjhxz^Xot;*f47VLMj)d_#A9HdBMyf@052Q|vuzdVX0 zCUNqa9Dz({`#NEJrkq%&J6cr)zq7f!Hj3Gx_G9yW5dFAy{?fDKNo>$#kEUg(o?<6& zakVKXPz^G`so&q_J2aM|zLBYXZ@`W8{_6;ziWUE8P^)6u7XjGirx(dK)3yH~4-%27 zcWm)LkBM*Iu9oyJZ|7{2=Mb^8-Ajc}tMu zz$ck~r?Jv_R_fl-()c$i{HBg46|%I(_pr_q!`Fftl{$1mso&m`1EBZ@XUPCx)q5p6 zy%5}QA=)N|6ig-&^Dc0YX}cg`EzFO}!`B{OwBg5DUt2KoT>XJn&?vAYi6EZD&SUsy{o0S zAC2qEQq!YZZ@~TtJM(nQ<7Um-M4%z6Mu*j~VjCUU_CX}uZ>{-WNe6#ZxHo{A(+4~X z=lBv()PNYmru|aSP8>PIHgFguyM9OksmWj?tX@|iTxlg4t#E6sV!s=(u4w0NSzD>k zeWmxvS0|O-A{rmi4+`KJjTxT;R2`;o`BZ^2MmhbU1y=TnlrIKMIc(0?tx+w_n- zIO;r)evs8aviItR<6KpV^cD?OE`D^A^l%2dw5jq9$s~w6)|21f=|tmIOc=E7DNH_t z&TW|yM(xemh<54kk2uZ4GdYe}1%N}nIZdd{DQ}n=XuqQ`TNNyD@*{oP<>L~zbn@ZQ*tajkrQU+jk2jyM3w)S#My6% z8oEFZ)CozI_mH}!f9aHTfvst~M)Iule*v06WxuJ_->J%Nuy4cz%3{Q(Xi zo#W`?7ryv68IiKf%@MYyutjPBp~JD7*3wTa5C6$&rxF@4Gr3Z%(tCi3%-33n_JEa zvQT*u<9|13>>Qpn4vo782cpGgyp%Atgj3EGM$(rcCDU=ZCBwtcZ^5i0M&@$epgv76 z0U1wBX!15|_U{mBxWqS*ayl}`!1pP__aVYJI288QR3tky;5-i>=kY=63@{Ew179|xy$e69at-JrlH zfM$TLq_RT7yu2?-DHDNIA|QKXKC-tS0{fMX1Fg9C(iq#pxfX^n-M!y?X@|Y9$G00F z(^JAsMuccjhpnWtud~X4l*nChlDP(H?}=~AWz1%n9+)?%L~=)@Gm zVIpdIVq9^+8snGY0$R78T0;1Hiapuvws4J_6}`h&Mem?#H3ihUNkQ&U!Y0b}4igg;%rldXF8wJHP&I2=;{763$FS5|%RyY_*j5XKA7|QLGhi77QyA}Q0=<6wfGjP%l(T&A7%cKX33J*Wt04BFM}RMN+n}x1UlNaP+DT{ zN;DNaYm+2&3y`REk2{xO0d79lld0$L!p;5@x9+w1-~dxZ%~<#8bFq~pvN77*v%!o4 zo%l{HNOU!OGnTN*@z-*?p2}wCZ_gSoUdqk}(S*Y#*wA#la zsGUmpU*nvc&(DP`9Xp=e=Tg#itnsjj=?-<(luA6D(wBzqd*GWFYwQ)Z+{e8zST8A* zD*Z8RiIm?=B-W^jwJrEnRA`-0*Zka1>m_vPpa$;t8`OKQ7;1{kjzOYP57$K{4Nt|g znaYW_4i3Z7qLx#FRw%X{BrxrMJYU;*5W6>3UfBN)*UF(tactPrGalX}x?#ULRq1u7 zo~rc(e*S%4e~cBG-Qv9F!PyUjCU$ttbkUtkVew!f?w#X;hg;eXD(!EfXC>pg0a&wM zEPAh+w;+Cy@1n$|B+%sE9Sh~Va-8(BMIeR0u^=Df&K?rovfX& z`%#*(H1)dJw<^@ILVaiz zK6C*-1Q5gR%Ye#zD#mKWxCk)-Vz_-dV!W?ntU-)A!~lrl_9Aq{Zot^e5_gj<#uQW5 zRvC3^o==g(Oj24&+;fO>62^0U zJSW><=e_A|Z(QKh59@ifW|oG{#gc~QG(diOMnn)NLG<6``6)~=ocTfN`>xlWOgM?t z%ZScE`M59e=GoAf9)rEicSz$YIHa*cuNzPI%BBHPJynlKJ(5kPa>Kalao`C1m#Pb<=K3zPYh37NH^F%zKEuJUic@mycfc;C^Uo)sZUBnZ}34uja z?6(lqcwq@PLDhyV0jX99%yNS$UHwcv>UBUQcL`Lwb9jL?gX@5XtP)@`uKr{Z`y4OS z{xi#sh~8ul29;lmYQ6$Q^MN9owIG_yKr{d`+`bYqR;n255aV*h0EprCVv12eMSKu9 z=L15d-U;%ySSZ1e2f=IgI)I#&2%IWnAnn+Nv=D1!#KRRV;s|wMq8pQ5oOn`!*QgK zJ)#sY*o~y69!O7O-^x*)AT5a>@oWCGL;lLkTmd0-(H)F9Dtrpe@z(fQ zDAgw(Y^oSUMJo=Z#-=j56=Lxz9LSP<8vM%m@2hgw}VN!N(*o~Nx1PS1f zp;KiMZmJp#(WY>FiVC-MPU40h8#Q*;4lc8tEe0F7CyAPr29fz1Y2%@22|{?sC6scvL^-&2<=Q z=cgn$MR@DvGR;n4cznDB+r+#?rRs1TaTDFbgsg`6Qdx0NzJ}X_>v;DAZM7-n7l>JW@ z7qf?&Y4teNY^NT3o9)$OH?xC!Y-e^n>8(DbegD zkl_uIWBLZH&f}sb8tL~l7=7sj0-NO1pjQ^=Nq6Nw+(D9-b4x%?02t1-u%={i#=yUr zplhSVjd$s@Ie+$@uDSUl4o?iz%LX*BrV(Qiw`eJR!u&+lK2)Zv(ks^ls z_8hGLWpCNOP%cD#-sFgip2-NoG1a6?pVh&H=O1vMBxpEN9)(fKel?zVu^OwY^hVC1 zHf5NCeB}h7DFWoA$EEaaN)P#1VPlBMc+UD`H})hgrEyMy7- ziO-!L17;1|f#%^Xrz~rFC=}uaG@zP|Um6b%!-QhL1p7{g*TwWc-@^h!q`8zh^kdCe zzcfZzOCF-jec}e9%Y?LCozVB-(G+`HGxQ?ye8O%mBYe#t(HgQv^1MBR$)Y3gqg|}m z!3HVj!?Q){2)2Buq4V`Pwqy?T;TUhkrTY`7#XQO%d5sXK6fR7vq1htpY$|`Oje3U1R5>GvnHs}>Esia|4dFJ>T3!@Dk2g^52BwV@ ziJP$5CgI}Yj{Qmh#Ce1B)$Tdxn`F)d^EoHj42g91n=Dr_d-XwLR!FGvNBekkT&Bck z5n&(u35ev_FTxKFVox}x9$sUY$34VrW1babq-57@f!DBhN#h;QAPJq<#$R?W@wQQv zcRHP-AHCd&>B*bG*JKFYh!aK9zTltA;PVW=)6?(hX+LesU(Uq*`e~E+l+S!fm3H`x z-KOQiBB9Rf-eyvQ=koi*#{ApE>WwGKS=hc7iy7Gpo~@6U83I0OhJ7;|S7c|tF5uhd zyRlu=a;KdyeIG2(Awt?pJBj_gh9BjL{My*D$`2xl^`hGIjMqePT@u)XX?q3pLnA;k z?K^DplniAFI1X(4mi->VtrEk&CCK}P+$wIEPjF6UuZVMz9d+2#fNM4Jn%|%Avq%|B z!(!)XAFFEWkWseXj5g?Wty{cLlf$-NmBLvOHdhZs9No zc^viqXK}U+ufljgF1iwGCDpG?Sdvl2yNtUtfBo~+fMfh|G6gy&49xY0@ zTg8oA6!QaSi7pyj7mcmwgZ$-hT*H7I6;qh+=yaa6Jxwck$lC2f4W%j44Ul`0Y|HgU?a&YcuzayAOYsMS)Jwe`pcAZiM zw*tp|p$Y=TaQkZF{H*`QvdIu@e^HT_#q*JJd#m++V|?DH;SjCzEK$Bsb^9aAJ>4hf z9(aLT=AIGL0JU-VwF@u}a1FL-r-t7QHUYut6C`09+R>_ii*ih4wUIc=79M`}I#dZU z64tsoioxh%pL2Kr3w_-`K;0i)lQ^a5<0-9UKe4wtbjcHxtSZnQFi7NP_k@?YEx$gA z>rL>AY|;meS_0_9Qe@QUJt_M`KH1u=9A)wwOJJ}?+rjhAop~W9Sf15+TW(&>A>?Iy zDwwzE;TBsQ)LbLBZv8v=UFhbenl6nk5wl_d6t>FVH1<0`XFMxK_(U=KKl!4LkWYzHVDG1`$*n5;(nHRujm~YfC}XmX%H@lOWxwq>;|5z_RTET zf5iSrB8$!xl%HqhM`28;=TBj8jes`F%X0@zUfol z-X{CZr?Mnl4d1G`{F!r~au2KLP+r$~r}{Q&V2`G}HH^G}xAO&MDvnsMF&UE48#cEH z*en7*X%X;=2-wsjV3P>g(jowm4CA4@mk^!g?xWV4`v<*TY*rdF#6w2jSzTw>QbTN3 z%bM%oRP?BfhSu{^qzh9(s6;&h4Xg|T&^cR^I<3y?;y-wAM~4?cu%UrtnZ8eoJyIsg zx^!P4)a@QL66C(7C<{L46)#TFyXZ9k2pCDbJxK+;vBNt2s54s5XZE?5!7P;3a?A`s#0PD zDgK{(3A>1HVKZ0R(#&=>%)UZ;{LqT@d?O4pqwk^9;v8K-Z>aI!uQ@g5o zZ?30mezK%Q_?;?U6n1taP^LN9!=tuJ=i|`%kn@NEwH*^d3=2392gP+<)=f zbUsWcZGREreI7msSw5{{yv8XF!n~l{C4^v2Cvi7Yg=gA`#XB578A(J;=R|r+L~^Gy zCcfwK{H&74l=~NJbMdmc?ZTo}Tvp7=kaH5pj^=1wjl@#%Y?Z|axa)SJ7}ClkJT*p- zTrNJNLIgRF(tH0mbvsEfL$P;qDj68EfbLkE&Y#AFC40bOQ)fO;VgfzzQ4psYybgE& zM5!~ukVj#hP7mBgVDPKyB=AUB&aW{{#J$&tgZXu~&o{;rr8O44iY+hYF?XW2N91<% zu7OM_BZ*}=KZ(KxEtIv5gxCxu8MYi86rTv`WnspZ)V2MnKuZ%L%8FMHGr_%TDZ6m0 z=+IMyU0AX7j`GaFm&IA$K_NOuqS^MA^V=YMbF+h6fKSR6ry2?LS4nG$blRMaxu&Y( zybU_0_2{R0HWA1tufXqnWGPHdfqHz(((92-H!ShxieeV2b*D=)j8s;WISNyAkD(cH zz^|UJM=w)n0V7}Nmap=d9xj$}md)*|&2b>-iLTeM4Ds~wg3tW52I9&{`)82OEQ=pZ-{0q|JG;M$dO%7u!(;i;o=nE; z<=m4mQhS&U08zOYd++_2)c9zWL3pfeZy!?3E7A_YjYn1cxMI1-(UEFgsQU)m$uQmh zCvqZskIY#}OgoSjk(fnlOHnl-0z_?aTHDDkf*0=Pi5PXd0_YN8D1adW0R;$1Ku`gK5@0HTDFK!O zSP~FYfRF@)6(B4D5e0}yKvV&u5)e~>m;}TXAT9yL3cwE?a@~VUF8P5nP2QRQlwwau z#-1f_$bG9O6t}i-RXm#}m5BGOlAA|i`lbPsC6Hq{QB+j z+zEQeG_@z(V&YG4=4FtmdlZp#ZWp$3Q$hkZ1qR9yLqsBlO$?86RE+9|Y1uz!;mQh$ zZhC4lyr!JvnacPGCl0skeDB?hWd^MrN$6HQEJ7B|~p2Y!RkYr=os4>b(UcYC z<j`0 z>{B#kHwD<4{orD;MLeEI;@QNS5PMj$IDO;Ed2%{FVE+l-AwZ$oBSd(5zzE$w(EB1u zXv4jin7fTqT9p~$Igxt;-RMNP%vzz`vnnTFL2Emx;=@~*!Q+5VSfGX==UajDv3S-! z9?JFVo|u>55u2&Z z)!hl5RG$dc6zc*1Ms326e-8DDchJwD>2TBG)wLQYMT@!)Yg0GRrmvX!F z*DU!p-R=uylj1Im=3?3{D9%g&3-HkGfuOj*is!+2{u_UDG!l;zce!_9(8OWC!cId{ zslACZ`z0XG-(klsuXag)6?S7YC17BN|KRfe6J}JRx1*77H`93u?;TC?z!oOA@?v>v zgGiE>2hF0&9!2E=IsXBDWEszs88rvUBMH;jyd=n~@_@TSY3H*daXvt{Je&yJj#GXA zMLDJ;O2G{;nc9E736C@0F^9dV?6ag{==4IvP>B+7_(2o4v<^!4EZCRDK9i~I<)Aph zkPVf2)0RCGADG)ZoIdCji*3>O5InV*z129D+M_$zS|H(Es&Fn9Qkp%ZSjeOT2a1tU zF%nXaD^mb|IA6E(+K@;tl$N=g@YM4e)N(S*q{<;FDhmAv&PB_a-?&Om63itPm7rHx zcIy~+Ud5PbT0Ka`3aNuvXTy{rPqtWDaI%FukJXvu)AuX2o`tmga3ih28$nm8|0t#G~o zJtL>v7vVl#yxUK(`%%rIIGzOo&Z|6YSj>x|>i}3pfF)Dy1|G8ksU7TQFUHb>x?+{B zeJvJ&xQz^E0G1u-<(yGQ-L<^`$GhBS$N)>H>p==jrjDl}p6CgA4rxcSa>IF@*{FNyLOIH2@&_8$RjFF4lGV1K0_-ONT@|3Ktj7^@^OMEC zdZbQvh2Y5kt@Wz?(Xa7EA6;;U!2TFz*Gf{Z!Z2&!#R~DmgmJC`QSL7Gc5%5a|9FRN z(d!BsMYY1XS{9+F0`!ysTLEkd=%oO?Bp{;z841WLKvn{36re_`n>Wes*CU{b{XDTI za|O3w7wok8yCRtO;ZIr{kduh_LxXw?lZXH@90%WG4Ki{gvB7zpLK}Lk1P>s=J4gT! z!!d=Lt?6jEzgbu?3RyG)@$Q`1=L)%TR%N>VON?liy&QbM%5cp~ykwz72+2au(js_v zyo(7?cQA#w7vbSV7~$b`*jYhgQr!u+3tfG=c;bX%=RGJ9k?fI)h}aPO;v%f2G2Hv| zSw$1k6zM7Nvn~~dF7*L&yp;2aLZMnIg188j5wo608!HkKvBO`1Dq^`iDeF+!Ze*9Q z*)Y?1jwy2g(Vm7|eW|ynX*>}}QR3-DkoO;@N3kPmVYK2zF`^acqZP|NN(**ZYCJ%; zl(Py&FUcm#O6=7^;ailh2SpHI4V2#vr2LjNrAB(n?+2Mt6NTzR%yk54?g@ z{Ga(W3DUaO0iR;Mu3G?8<{z@7i~HcE;FZYNv~L3UT&nhcKr~DU<4;Efvatf%U` zi#`}&PpuDNGf0iit!L5E*}yvAppf$svrp$%PdhM-^jK<0e9Llf=l^%2!)-*%ZVKj= zz8C#UpYP1fQf<_j{F=Et=)RI|=|E=~wx-q7jGAuWfEs9@yQPR%c-r^StKUgQ7j>xW z6DX!~PvJZb6tMAtsO6q`nd(e9)SaW_I6_XbG}KNclE=+ke*Yb=FS#v`^l_=u!o8Fl zK0vEFQ9D4|{Or%fcu_Y%ak~MM{S8!rfz5`6NBzSq+dcm#X;AJEw*foEZNv_7Wd*~) z$4qV_&PRx|u4SB0d~r7JA1T>GMWlKm3YAs0-`4 zAoe>M$!!V&Lr>X%;9G7hM6zeaGkSsjj2x|gTR2*cQWZH$*6hIwaIgd%q5%BRUwq%* z24sfmMtN>K47ej?{DLnYua1vpFs4p)G~CE!O2@FNL0LIIADfFl*)NMT!S#Du<* zB8KU8E)M4`cdpar9Jk4K!c{z%z(@B|d0#;{y9TE|EP_oMNkUELA(+(p3>`DXx%6nV z7E_$u4xWuM0s=||{Lf;a;3E1L*6FY2{&fK#4tga-w1Qq#H;32!oR6a`?U&HUMpDmt zrt7t-sIcc{ER$1B2~rp((9DAq$<`}V8!njIti(&re& zdg>xl!|;HL@9csK?tFof%DjzaK2=z=9mJyz%px5z2W905%N<*+Lw38*JPgG=1W@j zHf=EK_5=|%;OGHfkIvDK6+pu=0?PPI;=9N*z@E2##XL|z+o7?{k&t!W+tTgFncnRe zih1vg=Ri^=CT9O(T9O-;rQ+EWtdKDFSV9@~PuB~$>qb4RZTNP(qbbg^6ytU{5wJ|V zm|*T#R6#L0yYFeb{qGT&!~hEba7%$ac~aZi^`h}<^5mVFX((1gv!{y zsVGYEE=N4W;;r0j%Os%Iw2&Z>5^0R~SOujUA&gGohq;}CFXq0K_qFo=k-UE^6iT$u z3xv}K@Z=_*kxMmMqRh+lHH~=wR z#Ocs*jEeKN7Y87Qi#Qz{j#Y8q@!|l)a1mz#`XE-1VY!lp3w?S`*<%{=R|oFMmsaj?iXtN#}>d4I8w#U5{4Q02M14RIhW zlaGn?^gvNpDf+IT|LcX$!qWM7%B?5KwQeqruzauIw@uV=%$5AMT-$s&^7 zuX!qe6h5xcaKePDn_h(T79(aMR<(;5t9o&}N+1W^epFb;hV!D**lMEgLliG}3Oks# zQuk>mid)LL2Nh9&0=ES69G-876MXF;5PmUVyua?Lez{H;>bV$&)lUrMJGi-`0aT1)sR-45`H^K`&YVe zX+5oO?87HB5^7!tjj969mDVH(cyo^Sl zxbF??%R)A#%f=cHHH5=MDw^$RTI}@TD;B#yup^Pte~qY2|0DfcEYv2H*&-2u_U$*l>D4 z`s?jZA)3e$O|V)xTsYp8+odJEXIX$Bl+H^!D?2cy?L>*R5s0-HY`@B(7u8QehZ2ud z@mTc_3d=o&9ml70UyGM0Kd5xB3GARV0G0ji3JySYJ6Xazgm)C*4vTKt9=D*Kmc4VP zs+5_scg|9PSwh*iJC#5VC}H;)elZ;G+A0WSo)6MwzK+Vqk@?P60Df4i*Ubp1y(oK9 zn%vPSD_|nTu*=Z%G6u;R7pS_C^Ao(6W36ZaoRf;X!+Tb?Q=649X|`Fp#MPpI?%P*_ zGedP?mlI%6T_QJOEw88$o2^a*CeD7`KvBsr83(5uDzFX>RJD^7F_>8+HI;hR?%liR zyXA|iv)dG-x-ljq$<2m^mXP1SBbgQM9q{4!iN-4`NiRiPdxQ-XY7W%x@)E36taAG= zF2tK7q~&(4SX#n3b94#x^$6wfc=(B`FBxoW-Ny5m64fLR0@$XM5sCQ`DHHdU%sL%y z?Bw}VrlO4{CN>qx7ufRb1YNXF(#KNADxbsnC@TIwd|jVd&pi)MRo)RtEB{WNZNYpVw({#52Fg$`)gGA`PN0N0 zRV-DNPZDd_5?<_A;D>HF11J&J4SC9^oDFQ@haL`#bwkkKu{QWKE;q_oTa-}^pm@7( zmw`~1C}M)ECm;j#bZc07%(}66EENg4w=XW-z)Psf*k^>7n&%g+Huh3kwKr=!$v$EL z(63k!f7TRt@BBj0ZvWA0ZEI9J;zX^tu*XNW3oqeq0ogW%5qAgs`*y_$B+Dn8SoD?R zt5jbR+gCVi?xnF)w?#U;seboXyx3H7-c5sr~ zGI!xsUQZLt%u+Z&=mlm$%x6Ld7h%AGieQ2)P{94TTcD=gUFKy#umDE?tjIj%^b){G zcBWnjRt`6KGhSxY9aN+R;D5&%CIXIG!rs2{;!E|j12ye@xk|V{X98vNArawX_-k+F zA&s@A(rLH@#U3$$@Xzz3I_<<)#S{uo-&LGiK9t+FY8b2a4P%p~?RQRoJQ9P9XQfnQ zn>y#sAf{b67se+b+)x*k+U{s&FIoT)!+BU0k?ZEL)THwg;EUMWB<(jCzvolFpL5&w z!e~$_?rPc|XWXaR3(>g-;_^|sBiQ9$uSd?7?5y?3)oL=2RCvHFr))-|c4da9^9-C< z>=;{hgaBa2)E;IKC3kVZp5s}JA|je8_V_+a43@F5uRDnO7KyLidm9?%b>8mxvOEFn1#2 z8wLgvFw+B)qEI48mPV~%hX3XQE;pmD1Zc#s)f*2Wf)E9eqHtp`(u99;wcog0Xbbmq zJ7qggR^@qJuU>gxhw^@r=XD7;bWH)T%QQm@W%n(v=w=Xio9HDWnBn6=CUdt|WcX@r z|I-9M$4WN`BbUIO(4mq@>lF#s`*gy2bpO)Zvqcz^EFqsOt0-i2d%LC0j!0*oWqxNKi$#2yL|ADA{{6Jxrwd!WU($zbJ$LH|#m9|? z24%oI0#si^C@cVo;dTd9?_fQ3%?S`rk5Ya9C|{pHR`%`%ARWU#Sk}(Ps&+0GJyuQv zVO<*hgumkT@E7WJ^T93`_+?0j%!m9oT)fyvgH85x|AsackV9CY^`K0|Vy@G>1%GB%dn(E)b05!lED_O>K7_)hR`q+NH{AwT)eXc?~ z<}4-WUZdUKv&fUPG4cI1?9NB=&U!}u0-kZI$EVHmdVIi4ae+*;$voPdJ(yvB+2fjx-;st(F(ilqJYF#B%JEy$ zVSh2wFSt~REfZ81o8ZH0gWh0Z6k3!YK*d>v6Y<#2o?OC{*i*#Yv;wiF?h1wZ6|yR> zRDdfbV6g%$mVm1i;3^5YS^=(>fNK=s8VOjU080YWf6>se{n9tgx2Lm=s_XhZ6u~}^ zUh6OC!sJR=-oW5oaPGBe^Zm3?ue?vP zC&~oA(^G+yJs2Tnrl@>>1OYM5-AYxR>uj<+g4&qiT4BMd!`2ML=w^9$--_ zzZG63xc*#UN13G?dx`?L-?-@0^MuUVP}ondR}_4`BsTL*y1%EPCAUrZ^CNvjmh>HaKa;KDgRjj83S-fw(4-%}R!J-( zANl2*F(L~c+%UX$t^7GEGSVq_37v*U%dwhrN`M9mo(>3?$g&5 zB4OW(&!469#*ogh(T}-SQX=u?dAO)9`5@>WqogGW9xd_3z?r52-OIRxtEt3bS zW&tBy+7Ws*0(ZBUb=*$Z_0Dj?m% z#44)n=!E4|o4llT4C=@#T%^YAJ>GD00LN=FdvEXFM45`%_U)8s$T<;RGaF9GmDZ0m z#u8SIm5^(#&DyxIV2jn=3$S&ReI=6Mv=<*U$hg119y14&`>2Gzhf6bh5yVFTdXe8MF2J=hzYm>+o} zQf+bJSgP0E=GOu^i+pUSNcT_6NC||652HZNu(kH1JUOGieX}Pg+}xI&aI54Zw<~JA z-7oeoCV5!d5cGKqm8fI*r5rKWh>b;eL+(08%3TYE+;uVg!`uR#MS8Z_HJQgk@|pm> z?lpxV;Rzt3<6O4cos)+xX!9JGr;sAQ$)ezA9yL;z37LPL$E_rs$S99XJ-^BN437 zxTp-|TJ7Y%zURCwUpD<8^kFTd3iaTULIFD|?dtTkMD93Acb5ygyG+RYmk4?PQYr5r z@5%d@FkP}Do&SQ_{0m;EzfX1g`&!W;@Ah?iWot3?z4ZCJ{eAvtu*vA+PU@In6Z=`9 zrT$US`!%osca!@ddRRZGuzt{ob=SPIE6D3CgTz}^1%>q+;5oYh>UWH+-$g;io=lNS zcIXpIr50}ADRl3`@eDpJIHQilsf4TF2pkXD&D{80}v1OvZe05 zqjK93(Vctn+&lLI)!c%I{R2w}JIgXM^@@|kc_sGmK$9JK3rvP%6Aus0xL{AAFyUg? z2nUL~M<~ky#5x{D*1Gdd3D)eI^#JQuJ)jl|X%zy%yN@!^`&J7ap4|fu4EJ2r?~8~< z(*dmtYK_)Tdw}Ex?5s9&qyi}8C;FMrmV83uIf2;HD7Dg!)gNdn$k!Snx&$v z|BUxuU9s7p{~3#0X5MH|LAKRX*YudWmagv8)_E7bR^wZ1?5V5yE6qP~+M;D%MSc72 zx3!aBN1o@rf6Tl$$IO5G`1x-iH~*bu=P$FTHBxTfrhV9T+IqV7HdWv8mIHkHyuQ zuIZa*-M)Hvi{Gf+o4)+FH_N|Qi~O^*8#~R|)N#fq9cFB%t36-za8SdV9lO46ng59M z-pcGb|DNZ(-z@*kxvM(N_@w>JE$wE0nx45;T$Rqow^wg(nK}K2pZ8WTrl^+r6TwuU z^TDdZ{OxmBx0|^oHFImltZfyuwwKd2bK5=7ZfZ4i`W zIhQz}_nQ03C)>aDB5c_5`D^cOEX;oy^$S9^S^oCfZ_;;L=HK1@kT5TGb{0Fk60>*w zW%)KQluB{hPd|KR#V3XNFQ=}DDw_OWLH-kwf43>Cn&sckT~F0Qn8#;-apmJ5`?GrB z#gCJ-w!gfh0C)i9KaKKV-CF)@TFoCdGke!@*KPV1$8yTwiVt^maJSH>|L6IaIXkP) z-?Hh`T|W3X2VMSgsq^{w%)gcT>F%yi&f5CBm$&#csefow@$6mHDAY8qgl+*-cYJ^0+Z`~I}HcIF3ah?iG4zJwI9}{72$_kN=QCL($y@Yco#z;3y}=dst9z}Rm+LNdigJ3^V$Bh zmbHxL7qR$S&DSc*RtQ%uB_F!_Os4c$y>Z>1ok*Kz(oc}{VP!-8pC96r%dtTFw=V6xo5B)ta{tSHU zOHHf9x1pzu)Wm9UPfzLlA1(5KfB%->%5|S!{lLoO=C9~8Wf^G}t?E<%o7do3?;Uo* zI~U!t;>`~}X&duzzWMf=2Uqr+zM>`TX#2|KFJek-&DC&$Ra&?tcG^FTZXT zc^a*ppT75lFwdi>*lC*=^H_gbzSkG0UiV(BMOb|Q55(M7qkyMki>umqH4E~}q6+f; zO0n?X51JuQ>Q&!q`${%qi1cdPhwvJ4^^li;=#)Ser=TESDfSV8{xjZR-dNBVF8lch z->=SnnEP-R<_PavS9k$PT0k>N;D?oB!9DN$@jvYRH}|>P3ow^xD}=k{uMb;XGRP~A zXqT3y*q0(4anU<|{A(w@-U`B#-^)yTM_j!oEwd*r>p5w8&q?oAPkOh`x|RpsoQf_>=pkL=D*#l z&f@(py?=Ec^E{p(Rqpxnm1TXmX=|T)X^$os@Aulf8~=0o3oD$@5C@}K8<)Qz^MBEb zCGFpc|Cqhuf64u8Jj?}po!R0iu1?_%FPFtq*e#Pg1vAzdDL*`lg>h`_Vok zFYs^4RNKa1=!VDb1O7hD6`nIUx0lxz-z9+^W^A5%+nRkxUf|ER)5d+o-_xLvo4>5> zoG*T0ZKpiu66bd6O2c$4FJWDwYv9~<+joB1cD60>-^AluK@r--zp)pq-i^_^;+(ut)rrNeY!uN%jT* zX2?slogF-BBCq7EZNGbY^AAH_;y+DH3+72^kNB&~rzA)34gdMTzYuwe^UhM=b>V$` z;r2T|Z;K=O@%MW1p76K7AO7oGATMzKyhL527H#^XO*!GE6U{EF~zjyz-jMVu~Y*WJ&5(smB#-m|`9=GJAa+KT4Kzvn*SFNkL!@h`0W z&r2loU&dyCdDb1xXR(|8o_=+6YSz|@8CzEFdGbZzPnu4TY3ux4bWiyA^x=Qh-tpg1 z?nmCqBj0DimhC&gY9sB3pL||@!6%qG0f3E*8D$oDa zKcn69M?+QbhEGZ`4gH_1|2031eoCAjj~C9ExBN}Jdm|N-db-5_`_TVh@$dCN>%SM= zzZZsi|6e|d^Uy|-6LK>B-`RhE5dYjxG(gB4yl7+F_JsG=?`W6X=2gBA|IOc*fBxIY zuMV?6Xg#U~zv^Q`zIo-(+Fr45`1?h;f0z8=-2Gt%doJDk++G-F!$TW|L_}Gy}%w49$eZjv#cxY39v6XM+UhyA$b>p92 zZ%eVFfo%Lu8~m7;IiD3EKXYpu`0qu2YexKg)?W%pXs`O?y-)9DfV=6bjb#$;9c8Q( zCs{$xBR})gcGEZQ9sj8X!hhTLhke)I+y1?|YFm3}b5f!$F;~b-ix6Cfrf*!eH~js| zV;lN=GZp@rz1e@-_>p3D(83LV`-$I&N*U!~SL`tTqkY7GU+h2G?_;lJ+VotZfs+W8E*-sKshl`Wm81E#ItEB-C#CHICusA#YD^OnD_zy9|4 zE7vMpbn}bd@O+rVC3{onsUPkQ|Bb!AkNte#=Pz3R7Cp31%muWZ#pu`)b1|1Rb=}_a z|DN*~YX0l{;s4L&o4d{0(8=fVUN~(eCy)HIV3^38y0&fnU&H*-e`Nm7|J$-{*RZ*3 z)GXd6Zx*lMDx8IsE|F8$>=pkXFn^cbhxt?Q_gz!d#2XrYQ>d-aqBffa7S5deP5J+i z|NYN3o5J4E#>{n9;VgXDDXahg;=f|;wwhV1nz<100J1<$zqMgMzuUm{f@LgSJ&%ql ztN!Qs3qRXt*N-lE^Vyfzw{~s#le(UL<)b6#zu%e*N8XX6h37`zc?0e=QyPEu%t~a1 ztCi3F?6KxPx^xYkQQ*HpsJ4vLf}=Kf{;Br4(D;3Ry6ySOI|3=^8NdI`zPkX8o?GBQ zbJYWTPvRfi+IC^;G0pGAl)pS*td?F_y{0I|WZ%%ZWNCr_(z=b?`%G=6nfBZedvYOb z=|$#u8_U8`2Lkz ziy!HF=iU0f{U`nXqGeh3$N-?WOn_glMh`*jbkJhuL=-jiQz)9e0!=^8Zsbz+b8KYM>!;{=B#w|God;yss8_OWjpFs&;MO-dHEH03k)bbs{pe z|Nj2_`|t0+zyJHcH6Lxg_o>xqU;Y2s`wqA$j{g0by*oJS0XFPnL9k=N-g`}qJ(g(f zqJSEsMvd5eH};@;ZHdNM6I*Pt#1>l=yCNuJ$KLh-otf{>?H+f4g1&kGzwBq>ndh0Z zv(L=V&hFjqo~_*X+wD_ z|1?|+*shn7TQ8<^HlBuS;cn-8&pLZP#`dSR$u7SijxQ5-=D%&Y9eb1h5no_(jq+dF zqu|hUt9D&Yx%mq=Tq)S~oqy_>Mz$wmHNPX#J-M|T-nekwDF20qfN^`$Pj>DtBwn^3 zz79vtf6I2A+p480`t7H^Ro^Iy+v4LkMA!2h_FYTb{Mh*WA8pvNZ@WX!qqVEuJ758} ztE0BC(-0qLmxII3N5?sQ5&|rP7JQ7JZ^wB%o+o8>%2&J1p>2qd+zMaMJ?F^$=(vP} zUEcE!;k!Do9b^*QZqG^f>@xq9t@&|v)E4@N=w{OpAJ%^u+b_i0zgxIq{pFA6ylscK zV|a2tYaiYclY$mW+!je34j-@yX0N$y*Z(gQJyP$(JD<3>+ghjpv44#G9LmmWFJ;mV zp*6=1dOxpgR|ijUvRUo6g{~nQkGk;c)vN!r{@ZmvvFDDT zniVgf51(9%*fa#&V$twRG4YSm#QeAagZ|eacFuwGi9JW3lYRo2=G*Lc+C|$Cu&vx7 zu_<}PS<09HMgNm?-md32*xJ+HDx&PSg>5SgS)8Irw55FcnEt~Atka}a{e`fvBq zd^WbDz4m{2;$YRZh@FP0Hsq4smqDav`MCaHO1=N}hMi07yp8RNjm>8Jt0mjjep_f7 z!oSy*ls_Ub<;zF&UtEKvh5zSs*>(OM4NrM<@P@d)c-#9t>nz!2&f4e{-k?a0|MENV zohBvo6aHkEy2H-vo!52v#7@eeAEsb+*bv?4L?`jGmDDW4|CC%BzqkL^A0TwU+%awZ zx6|hn*>2xt2R{O}UA0A(?0@C<{ikW-cH(9B+UOMi<|P&Wi`zSw)5!k|NjUGo?c2Ea zvbV}udo7Z)XWYK1WS)VOnq~Gn@c_5vZ&{n(QI)9{y`b9^wC&Y2m*^=dHHuT-85y;jVtQc^ZRt4d{FI%8fL; z&){g0{wF&My{rE=BagVHpL+jm55Jhmd^^tDb=$!cJnXbcmYz3%J($e1BGY8y{zvOS zDM%~-wVfY7Px*3EGEewPb`k#Dbo)fk+co^2bhw4}B)3B{=QDt~+(vPT3!)5lmEAsQQqz{32^j~+{ zm7gT0mH#%~K9Tbp&(Z3H57NZjlq}qTT@yGu1XAw5qs|ZhcSsBWlQds- zUgNplXQwA#`J=S%{^0nfr5|FMmB@cbhrqk|Z@=^VcaP~XIW7E8ne!TN?~B#$bKo;r z*MzR~u705V42~A?Uw&|(^daz0{@d;R`O?ULyXM<--l6Aq*Puby-}O}vsbB2+AD9aN z?M-{sFOc*A|Ieqg!Zn9qc3{5FdA+v}(j~WM3ca)UbW%?Z`alc!KStXGjwV9y=D)qp zpH}{B-|Ladw%cp_yd9r?!gQp$^t2Q{&$6RUoNfnEyRu)I%VtvvA7%cX;L%-&;!y|D%2NJ>SNB zeOI@dEZ(D$c=hXd>%CuPlKN%Vx)_cBNgV>I@jqXh`tR6$JAK}+=W_K4y}#km2fV$U z?DE|@`6b4*@!#>_!@joHKGptLXZ|N;zFp_lcgH-oS(AO0OtMQVzlg>Ck4<6-O1b~C z^9MTU{M`QwsodY{!>{PyNR^EFHnv-Iufj>@5%Ad=T*<2ur-{mnflyK`VsxfF6?3E(_%LtPSy3YBmWZ*K`HS+ z>A@#YkE?0m|A;FoGhgfc6aF3_%^LPN*;f%IyDZ%qpQ-2Fy(iPe|Kx|Dl=*M}vMXVICH|F#!mDe*rggMXU) zpN#o>=RMT5Sj6q5Uj>!y^6J&=7Sq_P)-v|Io%Fi~l3ld^Cw&S?q5nw?{%PWWHRiu& z9{^QG-)FJ4-{ZIDfn@0Y}BXBpEsJ8%&WwbT^>JuQDNBi^!Ub>`yax8N2lNv`!9a3Yv<&f=KkC3{NjWw zdcHLOxm)=2JcI7txR)xgUKlvh=j|K!^jWGtGH~R7;wexP z{uglIzs<=vcbfSx1|Nr=-^P4c`~8^OVIMAa^Y*{Z-gSkqyL!O?E?$(TzHW>i0%_;})nuoj z|8W1+!RM)`-u(1^?q9r~+OM&VSQYQBzNk*`|FwUV|F)BVb@G$8{%dBQ$qhc?PZ#b? z)%7VXf1bIQk-uM+`;YGmO!qBt?g@WgiO(E@=@4);I=)dD1!u*52e;70{T7Lhq+0?7AU#IHla?fA9tTg(D z?Dh`L53^%_#?X8Iz0=13wEF(xhyMO84Ag;rqs8}ciwwMeDg zP3PzS$NZE0PyQ5;%HLl+efB(Kw^-Qmp+8+qO*yc{-Fck1|Lr84PuBcQz3%2uJO7g& z{NMZcFKPSxqr3MXXX<{f?6+4_`Fw^~uV1&C8L#zRU9Gf1QiDmn9_bz?syJJTo@N+x`$t>%6twCpJGpeOSj`?*Elk`adg;fB%*EMv!h6 zluG~iN8RkdI5ssUz;f{1J>T%Vc7KSf{iU$}=>&Gn_w98jE&NaX`%^oE&pZA8I*B1D zmHuCfyMOmVs^&ZopFA%;?1tWU+uvyG9}STphaDU9GpCjRDHwcG|NHl}dj3EvmtK+A zl6VS%1Lv({zSey9jI!R*srNr6KmL6e|3B>WH&V0wwC85JUI}``t)AOBpLoo%F+WSM z+iB!~iXK7p4|)E~doNewALi_R)6v6EGT3$Aw%hB>|8V{%?)>lQ{|9{j()%sXU%ae8 zK2G~AAREK=w(CZFN9Jegc`LB@<<$G1=FeYB;t)vv^T*zA8NTA0qX%KxK7~yGP(B;y zwdQC2F#g-^{O|7nhkE|rdn{Xz-p(9)TmR&}gv1Zx%jCd$jrsBcx%lYI0;%@@13iDw z(IN2h{lA^?r0BrwNj`ki_9>M1oR{7Hw)Pp_Y2kl#N;?00`EU36s~^?>*RNlws#xj96WZ|{$p=#o89s=qkxKsc9 z^As+RpFXcTEH=dtLQm=u^og8D^K*oN{})s5zoQ54rHTJGqtHk5zfWXL@^4;n@D_$7 z-i49f`bHS`0*-Cw?A{}nvhwa)jvp?N77djV4#_>b@3N&Xc` z|B&}jCB3|O@v8B-=p7 z*WSDEbgv^Uk~aP)?_TQt7ftX%{XcN}cCL_XNxTIwg=-S8AhdZMXIl9GQQyDWDb?@a zbhO+_cv9}0EB0Q#X?@kEL$?!op2RCSwXdTs8g}k~%m38B|J3gC`t_TR(=R7}`D_Z` zJe!2=j+_@SApX~XvHY<0YOWrR-U4j%&Sgidqqi{IzJgi%I`U#+XaDv8OiV(7uq%$< zf}P}xu#w9zy3dd`l9yGi;3R?pXf#Kw(o*>^v-v^=eBQtm(KGwHt7Gn z{{t3Y%FTaSndqhP*ZgdqOxz-g-BvxfwcXZv@pa1o!rk>d4glD0GF#g_()hyIWGU-he~ z0rSq;UHi**{&`rx)~x;JU$9xfnt!40(DU+Z)pE6Ih(s;oaJ8E&k?pbhROk7Z)?y0w zIRDi=te&>QVi)8dIof4dn+`kmG5t@fe9dh-%_}?QXUE#_5vgBjR9|b7H&H{VZDGGT z9Ivs7J-2pvtMga~@zn*fijT46%QV%ynkjm>^*_OXJFQ@Cg5+93ZHUB2gyVKeCYiOj ztF|ZWy#AA{G;=;_{|k3Mnuc3R`ap2h3U(X9(Q%RFs>`0(c6-i$*lsV^l08q`^}llO zV`;mgsfU0Wn-k)&3AE}Js7w%hCTAJBQR)*TpS*Z;1Q&wPl@X`8@NDT2t4;?+Nq;f`%j!ubznKCJD>+wcF8zeazcEvBp$5+4rO7LJ=EsWpEh&l7j}kL_Bn~(j<)kN?8kH-*23M+Ub=eMuK%zM zU3C6KS3uJW7j>;*zacIMSlvsuMQq%*_1wmG?KuAtoEPiB`R5#&4@>-=N9Ds$f1H}w zw1Tc7x?OhA7VonLY6h9a9sZ*^4{NDjr?1|4kc9uR>^^?8P}dK2B2HmL=-a~D9CA&{ zXM2Y0J^$FYtzAxkHRtT*xcl#FzFgvNJzTc+O1CLzs(p35NSC959gqLJCb^y{6>_Z3fD`S< zMZrA(LhQZwcK+Yx-{s%s-{s%s|L^6UKk3}5&F%d5t*$is_Ki*Puk?KAGd-`IpyxSl zd9J2(mu`G8d9`H73048P+U;`o@-_AdyGz&ZX77G2YtNhFCxQ8UU%h<&f!Mw0&tH`4byB1c z=z313&k_=!sn^{My%I9?y8EB))@T1h`Vyh1M0)?O7cTR+a$mZ3FJsSJ=|UfPhdt^v z51$zM_~|o|zIf>Az^>;4I-SVZ?V?PduIC-Eu*bzBZry*xlKpY=&ep%;MEYW(XTUL@ z{*p}Z)9bEJ`2F2c32*tk(uxkbx%safm_E#Y`tfV8L-_TZH?6*7uXMDg7v*<6uC32! z6Qf_fVz2U9wBv?X*dy4NEq}#}^g%p5>@PH>NFN=SaP#hC2t-}EpS{oRbfNb%_PQt2 z7Y~hs=GOYD8uGkyM67rQ0<^-`zpjh)B~?EQsO=?|zTZcSAF^c&xtSv*{&&@%;9h^r z^idbDKYa8U)>VI8_3IJKzMS79j(@@O>Tmm^LBD(NercY*cK;Ivx?TwEbQ0Ep&QbZh zUeJ7j;fjCv=zz|r13R69wLsVNwFjQwbK+L*0mlP79us#?0{EK0;|W*;*lNA0QZDq^ z)x5_R# zfxO69f@CCo>m%XcIrtlIBBUu4(li|*{Xs9}L`ZhfH+sUj0^A6HE{dpY4)}|Kzl*>t zL%z1Wd_o#PdRI)#%638Q2!E9!@I8($B9+*8C(<sEk0DpG z75*>fp=kJjh{u-9tEMX}L+v3{GcOB$CAG~ETF$jt_#8~e4@5nSYuTy z+(fp1Q{e`b*PM`g%~_~Z3lVZ9dt0cnD_g2H*xy>s8{b-WvUD4@1|8d~Jt7uDXWFt* z@ph`__l3yeN-D`vxC|YTp&=dByrVm+eSCaJ(ZgIxKqoa6EJIag=&Meu_ZPdWtvax~ zx*tnI#4soGHpty{%H-Pfo`&o67$)_Sx~t+R2xy4`^Fs^dTW zs;2YWF6x(stcK9y?JP8RhZ-8bi;%EgY&`sZml%CqNtbxxg3uuNb0TZuKl5OOve!dBlbn?49%0Cb_;{*X zK2NpeiZawl#&(z5cnd`*zsJxHQpG}W8|!84RT*;kQbXBfsHm4(-n7!H~9W|&s9Cs4fR&Hu~>$F^HxhaEJJZJ_O1+Bd{oD? z$WTom>AehflA#b8`bLK4$h;e+c3g&@W5|chNk_><_;V#k(yOtq8PvASmO<5a%FtaI zYMhbcm@^GR;;gYIqZ&KPm*P?Oy|3zhiOlMrSHaLq@=a#ZOIDKcnbrRCAd6bcuB>W~ z1PF<9yk9no$7N|5`V>P>NC__84t2I3-wHw*h^2|9@ zt&j{=&Y^nMTWV8tsC8Z`LmOr6?i^|lyC6fwz0|&D$*JZjBtxZSXr2t6gV66e*>>aM zzZg|s%8+|5H8xu=RVyO3axyd)LLs?WC{l+0%ti5B83qof;=lu-50V`4UxbRwP$L-{B}25j^DMT)5VyQzrUZswwD4-3FhM$)0Enj>2= z(GTFfDnlnB#AY5a=L(`YidMn%xht6unh5Qcp=cS3!;lX#6&E9y6RA~PEqQKn_2^zD zL$^w(?R&kXsJ$!syofpj$XJTv{Jso?#0;e|hH{gh5Mnd#jATB9hL>Vn`?-`TFE`mM zW6xr2ZgNLz&cQ;mN-~$G zd`^8!)6$*F$g>)TvJg_1;w&f!gbs174r*CQR|tvO(g+!fl%dTS@+UVSbPE3b$qNi+ zA>QTGbOmInz6^aXLxW^!CWc^)EvL4*PkFUvrj}Q0|E#iTOIOmgs(SQgv(m zw}vQ%$SY)TIR}#%3P^r zB89oKMxzwr_Zqfql%hP%DXI995?r~3N*$);tD@8R*6|U4# z)N-vAJn%Z1(HCUB8TnUs)HqwAA zHKmfBd_rJaPg;Z03;sMn`IHQUGy_rb2Bj%aGg_0T9arXRlrM=3;RQKLB#}$fwEi`O=_<4#K@JVQmFtAvOVo#Qunk9@utkN;j-i^Bm>Vi zUFNDr{P-ci1{D|R8O3>;!!lPxP~6yFn8c`&fqX{l^IZ32uBM~`Wp!4Z)P3)bN_vgb zkSoPCN+VvwdZ=V4eMu9ZrXwoeUJCQMw^{Z1SCUa-xrWJHTbKeR&qbvI-9j=c>_}M)$|f@_XAfz@)9giM0NqPk z@^a3hvWNUh+VXAPM8yS^cD$UYGS^?AuyR~ngff;MAsx7qO)AGoSFRM2$_dhoE7hcO zlJw*Quo^~@fqdV4O63fh#FZhyhM_W(E2A~ae1-Lmg{Tm6mMrDUN{w=kE5B-# zi;5Y_*#_){3p?V@lGla^P@+-shEeRTVFYVa7q$PK=eNwg$a9(I0-;7$vc**>gj|BL zk?mJLS2fKg;>>fE(VQ`sazqsxzb;w^4_!k_KEcy9wnHeMEZll5Z@%?J%rta4>GT6w*y0&g=$v@{R za_esNSDQ5MbQ@2zMwa7Fci5!yp!<26zXgfyVRJDXUR#^L?-BuJ)D;^e!)_u_nzuo~yl7a?s~IS1*|>2Ytzvff~it z#9DchMsYW>a=zD;<6&akTB%XIxUxekxo8Hi97Clc$wTw-axTg=d1y%!+tXX1Ja-pL z1)eLThfutHOdgaUpq9)P_gf*R8UIMF|enEJdkNh z(Q!Nt^%TkyC74d-<@kE4Y0A;>xRPHg<>?X=40fcfr+SVnPnYv@>T1%gG`X_#vZp!+ zs7P1wG(BaS%5*hPGhC*rO4srX*!;(xR;u%FU`P}ic%Q> z3Ui~em+Hp1pzwD0Qv29gP}rVE$dV_}%uejQJRX#}UVI)!b33t7{TEcq7^c$FPVD@C z6qP+>I<3Uh#LG0(X=Sdk3q_&Kp*6XZLn?D=U9OarN+kV^EA^$aly>AwPpK@U-MBJb zDl2Fou6!qzHFPjnR!e0)9nO`5QrSR9i#khXBb_Yj?4v5X=nAf6mC9bamMcZ1@+aNs z#O5}QQE?&r=~kYmhfH%6mBCUuMt5*!id2r%-CS8Fl~eRD?(=RR)#oUBoToW2(?rn| zT)C%FPIASRPE}6Rvt03$%5{35E9ImTPakuou~cr*ms|;v%1sKVR8WRUbJfzvV@<1xjXdqWy(_58-&dle$=~bU!(-J&Q8JQ-Z zB9zah;;)qEN>7bajw{opQbeik%+A6;rB~0wC6s17&95>|DWx?}^OsChMrqH}M9DPe zlrMP=AIKV3RC@3N=>C7SBguejxv}lbv4SjT=`O?L~!M6jWV1oMx^Ee2tBiNM|;-6w9cNElrf4c&@54 zO$$(1t}ju^Yiy;g=E?+_=5u8OS60e2t(8q&IVjV#Rkm{vZ=vD>R}Q;)8mCNZn)ayV zkxD1!kh22ysgg-;ou0}Co~CXlbz5P|C9Z@@C0vQ&$~cX3gDb0~(p$O5mBVsdeU-;t zxh2zlt-R)ntFNl`SKuN5l)S!bu7QdRSE@wBdU}GYe%8S*-Llvze85W;NGhr5DeYBeR-ou`+-w#ig=D8N!vy znboVUmC7tL8zmY@WvjB!%;sY)GOKNRL@~Lrz33v9V~Ph?`bg!t;^V@{C@kkk;|V1_ zSH{bdPbisO*!gstR4yuqU0FE`WI3_QX;-$VYh;>h$_1`$mP&$h-<2H~dortYl1GZK z8*}wMD=&!X1wu~LnvAz4-B2`a8qd8K^Dl?lp{`t&0HCSN+nQsy0KZxf3m91I~o4u z%2ug38%}U#hekQWmE9U8+KsjHg{*2Tn+>&i67`3BwR~R-bLCv;k$by9X#IvZ-^w@`eSxh8JWFD;gHM zvm@@Ftl=k2VdGeKwVWn~mG1l+B)giXg<%t~Pa%!6l`D0m@`d3TSK3IWli@s9`eax4 zy}RMMJDZCRlWD#+WcOfOpCh+E!jO+E%d@L{I>J!EgZ1$Bs1P#B5X8Uzv0Iii%23>c zZR@PeHO5fhgYA2Kc6HyU8d`A0ltWc!qLN7}|6vN0lQ)N2pJkx1{!=uE+JB-AaUKRX zs!QdnA%WMhNe;D!Hw;hsUUbZ%*6@bmsRuh-^}$@jNP}|i7U(G)}I@4 zd$MxY=1}*`V*G-q*)B`=GIsK0edB~IC!Mi3&vhM@lcw~>{+?`4pUFM-HICp)&YY@} zjVVx0`J8IWxp*2c(j=$4_1wm>TxlnjJjO{p*Vj4Kt>-aLrLplk&s8^27FJFHR9r}JV<1mcU#97Y z%9m2SmMjP8$*m*hH zPj!BZu^&&9Ak$1W_UCnW%B|LUrg1b+lnW_$6oaWzkK36-%9pFogDXKA|QqvS@v#r{uf?oPou4^j9m2st2rM{^MSMruol}}7T zT-j7!RhpYhaOHRfRcT==CDK$>m6oQ`Hg1HQs@T-9kExoMzK8cU)v(Dm&{W4J*I-k9 z8)cZOp^Y-a^ofl!#?;tL-+#uMnn3?w;7`bMLdkQ)Zutcc2iyi2g_tgYkfVSD0G|NP z0(_B(J2@Q&G}Go0C%N7{;sRnU;!VW#feiKOUw~dAP+)b$`hj9QVS%DvD-fSMz$yjw zxVRu8>EI$|8=$WeMD7CyDlmU9$l}uxx58}yyvf%^2+3mbCR2+D{tM!9#5;gFA>Le+ zaX)et@j_8ne@fztvU>-V+(G^f(NK(G5NTbEZ8wN?;Rt>K4u z??=W3iS5h{68sQgl);aj2Rsky{fo2Du_>tr_yTZ8aaLa9?UgJcw$qfOADId0Z}cOP zfCY^(mX#!AfzdV{B}yqm)*7wtRF?DR5tR|^AT~s7hS-5)5D5p|2iqA1co@n*7c6{v z4(M#6Bz-Iu9ZyqraaXjKQ#5stI5LY7phPVUq5aLC|2Z(Gx z7`{MmEF;i@m<};BVs=D7#Jq?F5KAIfKx~BA6tO*Gk1}Hae<~x6tKDTpf3=h)qZ#hhcg&w=A3W`H>$0uK@l8co%Rp;6uP&fW*m)>$R*Il@kYsS6>*#a3^Y^npdvfY#QxR-UZxUU z1)BXx4ZxOW=+~9uI03yy6_IZkU;!6O76O)Z@g`Z|T$~d|;Yn2q84vnu#DdjC`dWZL zxcHF}z!jkPt0sIO1NaN@`N+SoPDn;qs9$wa{t3Wbz;9J&1x_53XCc!^$t@);!{qS_0c5cH`(r zdIAQ)b^54UqP$sv<$!0ZM@S=g;meE4Fk{M0$){Dk$xFa)RYZHg0Ne>P7N4r#Bmm|q z@l`3A2Kk1$TgQ*X_1Jh|t6KeB;+`On*reBKE9 zl{Y0lJ|U!ocL}l;aDsQ^h;*Ndadlv0LY_kWJwP8HN(z4_aKdMJ-a-5eFgNITkh?Vz z+bIcH6!g`Abpbt_iTx^ta~FKYW78Yrx+j zow)@ey8t}^_xZs70R9cU2jE%2K`q37dD28(KWQb( zjcmp0FZx5~1~C8e6UfE|hHPA5^_s`gTAw$ci~6{jYbQWfwxq-)*=&y#>>f%j}9{OyN0wvF)pd*mD12w&c|BcyM7b=>eH zCBA_62R;UHG2mms?diRVv7vLU7`Il zG>(YqD)wVWSCMZ?S5d!>9KFd+KniuN-yO!ajQ)g;7aIUS=iHBU0Nerb-MTYBMf@R* z|0|t{kAnE{?(8@c@i7?BjxQE}2jWKqKF9LkVEl6|-zAfEd|2I`)xUYfdc;kLe;^)2 zJjoG`@9tuMJbQ@!3+}=E@*`~k2WIjkJpji7_6MAiiIOZKq8(X$h_4?B3Sq}}5V;=0 z_6NqVo`iTppU&S4#zDZ!y~Oz42C#Bw(Vh#MsoR0$q8B@k8b_S!#p=;G;wIu-#EhW~ zgGi-N(H|Rd)Q`_cGdGX;DpcUNh!YX#A}&Q-6DsoUL_E$>l$QYUCBxvn4p;@TAz~Yj z)^uHgyJu-05rQ}XaTMZIj!xulD)<8P`ZyeAGhrz+IvYK;qNiT3y9YdpY##sJN1R* z0M1c?ef9JEs>tgi&g?6;vj+J-#0>p}UJUUw#8AY@eppW&x3}nYZ_?{)LhfY|=Vg}e zkFNz@{F;qNjU!z9i|v#{>;mWs=hA+NYx}eL2_*;ni*hp$AfyQB{sVA-5WloRb$`|T zs&4}Z2wx@vmdP4KegJHcRrQmS65j}H{f(&S2;@Hlj(~J~5$g>SdJ9Ch|7?7n1$-&H zXE9jlc>$w=4+eD2X6^U0IBy>DAH;2lM-VR~CU8u=Uuu0>doo|D3=#M_;+i2M{?ZW9 zza9-?=Z7God@Hy&Vt&MO-wI!P3>7#QFavCN%}`O^am3q0MY-&2NR0a<) zWAoD>D5tJ8d2R}egE_(c}ED|60jC*XBP4`hy`)H zSGN}fdVNTD6OjET@97A3T`1b;%WSH@)^>6q$#l4mLClR<5V1I7CB!C;1^zxvU>($3 zA$CXXk2nf35^*!)0mSo&_Yqx23CxaI0C)$wD58KXwjbA5O)Et1^p=E1;7n}5o1LBe8i1oM0=m$Jct|{3-gO? zV*FsomtmYhzi}dc3*;xqiT1q>7?&-G_>L#!KA=BGYrhK~FXl<*$BXnM0X?$Y_A6`q zFNS#E?9C&VBmT@$^b>|^KUK#;(NE!eVZ6QmYORO7--7-B&3K__oFK5r1hHRZCW!bM zhz~H{bt24vVEg_PSvvjsv?kQE^+bVRa!h<)IXn^XPfZfo98rvy*7A14bxa#5XFo@n zcTUD~CbRnvQ2)syU)#wde(Pj*9;2l96j9%aQ$+k?=W%m?hGWLc9<7X%7AMcgY;hBc9C?$m(4( zM;?-KHX)sJXyyrX2#EyVc8=K25X41@`v8B0c;|V9|01}+JUkyFiu+`69zgyGa2TYs z%xBl%>U=Vow4Kk6OK;L;zVN&Me7r6}oH}3Jx0??*3-Yf3oDcXL;8MU{fU5xAB1QiE zk>WV77AfwRv_gF-;EY`A{R}8CQp}giEfn#eFJ$vsKhk9(yB-W8p@4tn^5)mMv041c z@P*>Ke!@c0AEqx9<^N})@MHBtF~8di$bPB(=R$G6A{y{8@B)kA`T)x7zerpsU;K~A zH)FBD4U5@*2TIN_){hfYmazL>qTJPRt@(BdyHDXqoR^CGU=;!5K(7yY7w~h$?uh*n zMlp59Yor5^dmEu3qKbu7xNUc-`=Fb zkAxh9bnSi=_oZ1sI@iMw@82|uSi3@dp8>AFR^s@KxO*j=zr*|p`5V9rc`3Q^GtO^T ziTK=r5ujH_Yza6D@JlFv1>m=c6A>4#f$O<^lx$xk&R^Nriu=g|;k*Xe72?mV75)l8 zt@oYc){6f0WUXj_=XH2qSSR$n>-6{0D2#v4^TE7vy}&5M^Bn!qA7~@sZ(zGm){F9d zHVDkSK^zBc+`H?ShkUa^T(7GA;qzbh*B^460=1d)ruW(?(oaHM2DlgE z|JW#ejzM(ZgvTi$`)#^3vmJB4~R<7QL+HDj2 z-DjJAe~)Yv=jDlb{_U|{=$G(1AqLOW>Ur6=eA5m>ss+IDutT&n%eU0#K6LE>+w-D& zpG?f_LLk2T4u;-j^bXPQmjm_zebWw+Z~Y$vk0Pqud;EvM9J>jBxwO>B^ zlkw&euMrLV_3>;T*a396{Q|uZGa_a|%!%laSQxP+Vgs|en|3gdnx@(lCckE{kP0NV*YEAI2;uS&`6 z;msp{I?L+QJYwfraoo6^6X$_xh{neLvD0%VD1v z_k!(SJcsl23u6DbAYQv5bn``l1uu%@h#lv#kgw)NG2cIQQKY|t@#!xS5?zRrE73Sk zAi7+^ap#ICulyDLeV(SM_dtC#V6DP1KSjPDF%Hww7}0)NV+5}WSRc}NjuG{l93#^I zi1DW}{hC-p!U|i*SJ$gz-lvYU>i)6&bu9if#E7fnbM84;t@laU_;BbdJMT7+xQuw0 zqcxt*&yM%!li& zT=BWi>CxhIog1U|<65o4%_A;e7Z`h8_?REG_r`c}9e)C_V-ZS<-5_Lo5kImBFcNsCn}j43vHD!-roh@a#d%2WAGX({9WmYD zo1%O+pD8rXn?zR^$c{gTQxS{SU?}d#=Pv3;YTsh_!TreiTkQUviq`#&y~W0v<`K6M z*|R_xx}6pH5cL;`^ftyLW<<<`SOl>OVm-tbh#e7obMzw-fFVWUJa^kVpIZhz_zwF# z!H;yj!{(!Yr0*RuFCB45TyM>|BR*$YbC-|9*b%<^O$O ze1GJ@eeLJIa2{aK8!86pE5NM9#Qh!C{@ET{@B1(e2Hp_j8v}j@7!KG1aOOj?9m^v^ zLV>4yB<3B59*O$gc*L$x;k@-&e|)p?^|NB$@^k3#AB+0@4)|j+>*ub{PsF%9@`*?{ z^9hbOi2D7umjB`jt6%d7<5Pj@5dAo6?lU}P`vvWUSOu{bVk5*aIC_(B0MEgGu6-)D zyY(sCUnj!8A?&L-kvV`bOE}@@PfldUGeQg{t??%T!3SM@)sl(1n(kNNt$?3+CgN?& zW#3}`60kF12;gM61~Qj&BJ0d>4tBAYr>6fK#;xVViEMbu?<0~SFU2^WFB9eMJU0^+ z*P)rj_BR9euIxm1XA=3Mkl#T53h-;-8GPYd6R-&27{I1*{{AtC6X}|Tm6MLlgt6vc zmUQGtfwWO}xaO*xj<$k1O50}XXb~7AD>P3>s|h5#%CdA~`;kSg`#k~1@Dg>M$b7&u zfUB~JdRB&O+nbG?NIk%Nfb=c<9)J^Ze#`qEX;1aO$G|m1Tw}-kE$;I z77*#16%gBNhw)u7ehA`}0-~Jxh|3GS+xBhue;e|nxV`JRotIc2V?j|L&w@hFSx}@4 zKwciP1!DJtVmtj1hapZXn7VqdN4~b8{dU`l+do-Qly?#9eI4~@i0*|%`V55x4?rxB z_z7Z%LZTkM5C7~l+ZDhdIB~vGW`|F4ghuP@*cxrEqe*k-rizQ2FopFQX7dEV#woac33pL3q`ygx;~jr|?rJ$}g{ zO0FJi`4Wwil&Y_GrCNi?bBA7$>YK-MXDq5sKdsn(A%7I8`E=iwz7F2zX6SO-Ws4Qd zAG_dI{7BX7IB@d~rK(cdyMSeXsG~Y`-Vq`gp6o zSk=ZRRZ6${DSHC|KaDWy_%(JtQ>^PrXA8T2QRcc``;T%k#4>|mpA}w&le?kg86l}w zK8L-s7WJ0Nq1CY;jvS@s_TonhZU`r#_Cf_CodkOH_P2_F0iGO>zLR2vE`(1q6TZy+ z)B9`?{&G27nf9Fdr|*FnK@h621Q%bCI4V)QpJufG3s|DoJ(rNlE}Qdvi5#ccbX}`? z#BiLqKs;c!-#DAo9&2)-|zfBML91wONf_fnDc(ZI3{Q6js`;dF3cd6_W$NCC}WA-EUmVA zT6%Kx7S{)<6$J}5&ou=aR8M>DQ9i$VK=Ha`YwEZ7Een5vzSmd29Me3@)F(RnAGxEV z?eH*Nrfuz({^Ft}RE6@bUO)dWRDlvyf6O2r3ZS4K`G<~xD3Zo-*U(c~BDGEV(f&JX zS18MExSwxJO*WHmWmnW6^*`LpxOC?*W3O92yJpVD|9AnXs&X2eT;CkT`!*_jndLlv z2Cm@AHLFKx@or4Do#BAo?sav!T$Qrh8ne z^e}~^1RUJmNA|pxwJeA^K@sQ;+bbcY7>zkhd21bTK?q_&bd0vYI-7t)pQ=j>pQi?1 zKfM_YhPu}tW9lmsaz0-(6$WdTDNMeEiclij>`xLz*^-N*p;AmjTY&&JhJ8>QYx2g5 z`zn`!IDNqGH@bEDtU|Ai7`gbFl3m{sogL2JvGcb zM`4)ygdAzF5&)G#ZOdq^%vF)ED5< z?#hhv1y+2R)6O>YNs2d;OUZEMbL!iTD=mjNWn=s7#8BmhN>;kY)^C*b_%~``>*dc7 zTa;Imda_8*7A-C3->FvS7@spiWtz_!l3Zw^IJ6d4)D-|WSrmd)&fV^}op+e(FUfX4 zjf&@sE@kA%!az4pUeslmZKf5Dhxm0m94((i#4o?fx$jX3JSXFoakBk~R`+i(H~#M7 zLdG7HKiJGvQyu(}D0V3LO;e%1SE4|$z)V$P0%{MYC^`XoCnL&oC*V^zyRYrZr1#@4 zl3HNrXlfTT=9*D<-FSK3)enRNLE^8s?h7d^3^C8st`Ipd?b{f0#1td1Rbsz|P|8OGxWBKz%*3a_h&8WZbo>0TpyI19qDG^RTgMcPKT&@%jdErFdOX)6#bDOqY?eNhPWHHi)E%Ep{|21S0*XxEm@87fQzE9a(v0E$2 z27g_|@DBzp;O2bE5aX@$o5O{y(dpjur;67-D-W1TG$Owq-mWR$E;|A32aQ7j22&8-E zSyH%m`@GFh$O&ZCzC`V-xqrVoXY{P`L8_|Kq}6)Z(6NE#{1#R@m)_>?&p2Ure%-|} z5}N&?MIX=u(eXAg{8mW`_7=I!z571w5~lF0Qt~oXXjwNYyP`=JZ_nMwt@wJ*B-Z#X z8KgVa`jHr(7XDeK@y;EJN^ev;@S5UFjAdZEjdJiysB+Fk{kP{lw-Z&vvkeX0iBiFU z01oQL>xuDQP+|(IdK)WM6irRO7g?0lumVjYAHoPzR2mxA9bUIqRtF*t>rY@8@+^hS zc4vE1y(Pk(SNy*5OC%qGUkiJi>15N_Pp!r{AboCCi zkhd}du`&u%SEd2)hDF3a!{lFY4eZym*X|wy{#bdOPQa8Ni#+NW)+|DT3&Mtf$82;l zOxnDo0c{M)vfn#yBcv1XvSVu?&6WL0_C#v+Cug&vH)?r{!4}GC--YWK_?5>C`7a5V zV0Nh|>7ozm*J*j#{dBHcv6&`H%19<@WcrX0H6EnJU@DGT)EU$v1 zeT-q_Z4~k0YXU&jL#Lr+9ViJsvJCpk>2-cOi;#M(#CX`+B3{3LlhZzk7q6GxB=tt> z4S%x|HY|P9U~(bP@aGL#)6{3Bgh>in7n)b0?5W*o@cGbp-gth{@#%{aTAdM|e$B!p zT=sqLix01LU_mnDrk;P*Y$4vZo-2+wc_-$}^O}dJ^Ssms=D!d7H3E;n)V}b%{P?>I zusA2-){bM>)^x|l^|J85&lA(K6VJ2SXS7}7 zoi4r14%q$vFmkMLceMJ4In*-&wS4I%HyI;Cv5!UupV>hPQl#tz{WUgGFVXv9a?BIN zqQce>scCf(yI{VA9pI|eUY=Cr*QNxJF!XdtIA7w=UJ#+k6iLFz8!LiOQ!u@ty`a6u zCz@0T1)U7VinG&}_wb`I&Gs8_Hb0vP4S$qv#rdCq9()RHMtoh=S|;e0!2Kh|AlRAt z&*mt#Mnc9-k38G6`DODn(Bc-sNy(%@Z!ApKPOn~S-6XplV29L|rXovAe4g~oZTZ-= z6ZQ~RF2{J8c^R0HlvgAdjufUAZ%;pF@g7Z;R)51LIW40;o;i>IM1Hd9`4YZl>=b$# zzdHlLEN~_Zw2M@)YwZMQERasN7Sv@Ya*D3;Kjlt6jLYONujbM8&yCoZJEtdZUGyJ) z(Sce#3>=3@Dg3ePN?iZ(!6vP4*Zu{<41dyZn>Pee)ZE!mFg?EQd8IQwk@KeBz)Na1 zB{z0K_z!ing(lHV@@=9$h~SD=Av+6me^$k00@c6lYLu1?PJ$&AvH5O>2|FGx>FZ=Cw*#bHXCFH6 z+em()1c{y+`VM_Z89s@cBA`cuK#w_7cDW)!L3iJ*^Iq(VZl+m3;h{&9dvUdTmHFX6 z6?&cbO6*tcW}4e$u(f)YUqYzzG`rn>5H(_Y8#6IF zTJO_fKfyv>#O_)&Z!ab}p7)p=TXWTP592aTG2&(?J&!(8)mttA^qI8^dse$Sx)fV~ zXtSvem7n@EL<}2XYPWon*L1;X)^5aGmOCSF;qUj9A3US>gc_J77k$OnaZdR?idZNH zBFi>B_epb@^13g4q5BM6^BZuG<^xQF1&8kAKbCx~+0gQkKsr@Eb+(;T`0oh%@F} zz!$*A0-H-MafN>*Hb_U!vJq3<<2IhU(DybPKU5l*jFJD7>Uf5k)r0(Z5>dF{z&#+#J&TJ6vxnL^!vHE`e)j=xe;f1mni2>U`u2j zkUtGiz)NL~Oc6hOPT+^=U$yN0)swIXsNvD@H&ngKubfEB$dmA1I$35tk^NlvG9kiF zSlQmWXdAa&AN7eC-3DsJysz4)s!~-)rR+CJ!YGDhuG#D!g$OJ1-aQm0aTHM6vp+ND zz!*or;4=`j0wttV(GMhHL@=fxVC-aRzWQyu_(ZPKP_TK$Pxp|gFo!I&-frgLr^2g4 zLw=w}+3dC6NoH|kRp#a)10#4`^Sf+z)IM?t$uo;+I<@o6VReeqbD95~SnUOs&JmiM z)vF8u@hc`-iAu9p!;fG7`jCm9HfH_OlyD|a%P=@tfhSJpsID)BT| z^NQ}C#Lw0-@xp=et{&oTUiRks*g*AR#$l?H^Ts#0} z*sruu_7WLZRSp)D#27A%WdqXDi)@GP@GRnoHt#?0&W5E~h0NZp&~c*3v;i6$ZWX6% zS9Y$BTB{k@Q9uSfkBW;|DS~aFrUoZVyQA#AA&HSjzW8J9fX#KZ^Z3oEwJW}JCvRhy^3@<7 zOu4eXJFgAe0vu&Zf0-+aVLY?jttq$KRUdv>u**JWt+Fr>{oRq{ly7h|1pPV7qr&j6 zYZtm4rg-?nXRh7W^3WH~Vfq1I<;@UcOEh@_x=&^w^d;+j9K|=)fA4ZfD6&bv! z>d7Q!H#BeJ)ZNqY%Zv86xL3H6+VGfA7iX?{x3RlB_jGr_w{Nh_V}!}6UE4eChXH7y zt4Lw>AFfZ?!jnLzLso0^X8F0;CyWICAM6~@433Y7S6*;HxA^z({j>8?4Y>ME&$Fpg zjj!KyXfZt={}fqKk5t|yRO4%q57qwcQ>D=kZvyD9*6@YkQ?NMJ6JNzp2f;jvX8di~ zwIRg8#@VQv+8dqdM!Z8%00XcgnuQ6gW~Z^Pm9@kpLqVT4eo-FL0oj_eu+FHs(ESiC zz61x|@$FN@e*@ijl#|d&)Pb3Wua+{gg(k^AN4={r$QiIq+l_0zT%$3UOX=G#DEXfh zTc6mYKbjb(*Md?(*?zr~+fR<9CR^_^W8g!~Gi4_>cM5}@WKWU@nNnqPn~H_Oj+ROi z%j|HKqfAwPrW(cRti|4fOZP}5ao>h`=dIrrPp-}G1>2?qvx<5rmvxN(yijMQhu^cu zIqaOprPVQgPx+!kEzvD4Z^?VrgXgK`BcahRSi)K2qV?0jPp`E38N9yKia@l9)yCXA z2+g14%i3jw^r>C>+d@!OHU74*;PNUX>=+Imr3f*soBB;xt+e}^`z=v!$s z^{oO0NOyw({Ohe(DRe5s9VZMa9HHJ;EPoDd#u@aXuQElAwf@fMLOjN)&lSHKwhkzJ z;ZngfhNX{4) zX`;T$Kp`BTL391Y6o7wS-Ek$xYikT&yrm&*fOb&`mWzu2Sax!~_xehn zFvR4zBk^@)BY%jNiQZT0vt|qYvRnLL#)E-deaOrAkhzwB=bc^R*BEXC*A)m4WJ*XZ z4asN588^qDf@sGS0N!~YNjQy*&)68>oD`hf(qC|lZ*&Uwi^i{~(kPV-_z;J28@KER z8=-dRWM>%Z`fRgYrLi5G{JB`e=V7X5&bDDIzVxJ6kCfv0CGNcB4 z6$pNB#;DhimXlhS)(lO1Ld;A89)EE5~hFhX54(&4Y42tY7CZ%^-;i7)5JcA~kicJC3`HWC$IU0tF z0ev4yA~_z0+>Q(@oF``QX>vQ~Y$+*BGwwO`YuTrTt23z&niE&U%eu zY6DS7J)Qk*X2Qc2hdWWZ%FwZSt^f?KC?kE%F*HQn^M6m$)udsOK8NyU z%~G_#)#qRi(o2%HU~y$deCO3q@ST^!cixC2PWgre-+8b9@+a2X3c!aVqx|NX@|(xB z#!3Fy@o~OsDc`{s*N1v0bmP+v5$yq4DSmX>5)!1PXAOJ`)n~{R&HqR$!#w=U;E`5a zNs;=zJugA8zDI5tZ7|OqIr8S_KAp-t71h_)t1Y}yze_3{jjsMW8zXc?=WX$;_(~b` z&nJH+3>QDVy;lDC8`ck+L0(?K(${F8BR3!$TH*Al8ZFN!PY>CCZB+4m_%yP4X8yG1 zpLv(&{`uCe$VB1c=Tf*)F{#v&0u8(O?iz?2XgAEuhi-+}!d)=$xDTk7&C~NYoAL9W zmj>p|w$i$BfA1&aM@poYM@dqI_o||QEdCKjrKHOtQo5ZyPX1QWeiKvMKFdksZ%q^rC=?;BX2gPY&CJ2jubRoyN6 z7cNzPEA_$eD*xMwdUwX=Z(3{2S_Db~itQ3pZ$GBGt_D6e)eNGFtvdfze8Agv_bAM% z)lU<0ledf2Oevk?Q}?^dTMW2+yUITxQE%j%l;4QB6uB75-xl}c8{-5&t8ra@ zK{vDhb+_IlGC#jN3ytdT_6H^k`WJT3Jxl9Of0ox>kex1NH4IK%8yS|u{roD0E+uIO z*{ix0mfC*R&pG2VlWT_tAGWR4M-0`1<%_(Z?k)18-fV80-~TMVTW!lI(Rs8?D!8gdO$`3&9H*$YLzYWS97Xf{ z8?Gr{u6XXnY0Zb!hZbo4x3YY0@kH-W{O(@$eHyvy{WQa=W8TGWWWM!M+x*q~`flo_ zEAe3uvVU7o>rxg+1@kNLNKHZgoymfzdDnx>Wk?$Dg^I(_8jFASmN z+jU(W7bb>yD)6)E5iKyU@{Md-Pm2rGals(4I9`OW*B)5xbR1Dr_(*MZLKqa(N6_;x z9&$g$Nt+DOb;On04A24ZDn>{CY=@b#M(d^(>n zRoU(3`D;yXpODs(3!>;dkuMi_(6?W|WOBkvuFE~Yz&K|^=pA$N+_OX*k-xC|X|<}<54|)!eY^VL5*ZW{zEArV zSld5!YaGfls_blI(@{40l1_8fpSL}~S*PThX>ib=TgmAT9>^-03oW5ejft{N?~Gir zWAAvdhAKCZ8)W1iF!gWcnVKA?;PlykL1#T(1&=y0Ueu%TZNtWv5Q&B{*%hx2ld=09 z`^j}%cW|H67in~VM03RP6f`xEL5rJ>L$DAN^>bvoMh-2KS`x@$gtDH=aoHW~0Uc2X zIX4@FKbTC1(jDlZpOUfY8t&s&`h&==V3(OubvsX9%M7r#<>}*i$}y7$O&;9Xj=)sqxIetelID&cH@En*U={44w(AIB=!e0C$0IJuAI z8%shk@3g89`D!h0XTRHzIBD$G(mM19JJ!-unLQDvy4o;BqjDN{ha+6QUhlA(#EHiy zb1S=PI~ZV374jO?BXSl%8oPWL+3qnN5Hoc{|0<}5Eke7V;P-}M{#;+{CXA z5-{8z_3E0$zmo{Mv|B4`WhX=mKwR8OqGMtV5X`hsC?Z?O(?q>c6O+l*nbJ!zUmByZSYb6>rr@xij{AK8SEf#c}&6;?CcD$FR%Ul^=T>L*Fd& zkP`>TRLzu6yH{N+if3hET(9$Dp0P^d9Er`Vh)=EUsMIRO~0al(ta^dtw&R! z&nqvIL1;jWUx_FX(X6nAP{%IEdwyn4w@8zJu-~AkH^D8=n!BP1P~=z~mdN}95+kT+ zE>BQu_q4lhau>Ya$Z1QwLNzIpfJ*z*D{DV{8HObMfQkpwQ zTD@1V+OSe8R5jL(K5!rV6GXO~%P^UbyA)?yjT<@?XSl|?p%OvCh$+AS@LjVoTF>6( zyD;4k5drzHB;x<&yI_eRvg`Ju;>>K_i|-e{U1T<=%7Ojx$3xhs5A!8xL*C@Ru8h4;YGH3Y#XA(J${3Xi(6#sEQ5i! zy~Uf+?rG^qnkr8T$ko=oPib&Vt1 zPJca)gtPXC<)ykkYLH{W6(-SgKtw>CIJpNUE$aDME6fqla(?!UT(Gv2x&JR^l%Qf_3T zeZpm#`Pa=fo`hM$3@MbYcyy(+K1|hT7rLZiI_G9yv-M|#z5C^}6f$uw^{3_H{Ep=# z$++OdNJS{r^3iC!SOkSC^C3!9aVnNfKCo_dp6BT;8)m3qCk%ienTnuvD?-^8kKEf) zr?{f}jph6`bG?l|oZqV#^2Qid0P@HbidbgCTPl zkvyS^HI?ZBUDq4p+_%iU)alGTJoB#Fmd28eDd1Ryzc$y@_wENh9Rh{<>E~p}a2&UY zS!4g>8qgco#zsA|Z{I!ryuK|n)R?)ov|e46ZJ>q=4hg2V#yZK&r?)_OW22@q;G$U! zZ`FU>$Adk4zv2#vbqs39Mxa{9g=Q-C!Ud}@=HZu@O_7gE?B=P%E(K=_*N2<_8&81g z*sqr*jPEiW^6-=0mfK5q{$l|4b8<~H#tnS-s zk|kU-KE>CHrsjXFAHHLkxOvPKHr+uI;YGDpgK^iS*GkULb_3yL@My(PFQttaFGKt^ zPud4zHBgBU5$!Z(C%*Ei{w(gX%Bw|kK*w9$<7}UZmgDNE$J7nCUox(U&)DxfA}-%h z-^YbCrbo@zgmTtbD#T1<=~mi-8jtPk=3DCHYGItcHiQ~5K=U{>wMmjjCr(5$z$;ap z1K+k6NoA;SW{fXZd&21RochlfYvGGr#rNHX**UDpmzU)<==3Y=yRI0ZkUt5Y&8mZf z6agO>qf7E$O95)0>#P2$)YgWVN`-lCVU=*5*Q+}r28w!Sm^H`@Pr0FWnYxqutJN?S z4fHAqQ4EG-a-Jy$6P%||{EFn^f6^2_KF}iWq>kOuBCgAoGd;VeFWz1YKZ1tWUbX~( z&FGvTeQQ6ysnt(~#zC%9)!dd;R#<}piT0ye17Oy}$IT(NnA!jnPxT@Lm~+LSkoGUU#WUAQ3S-(-#bZm zqt3%$NG}6Rldr6hcNIr^inojrG3=!7i<->3hJmwKzc)|TCFbN5MTL7A-ZqfQcQnMb zT~2FqHD|kR^ zANA8xNP+2uKnwCQQ?u}=dqSUXP@341vIvx&0D2Xpv_&r z)v+P%w5}?*qj^9Hc1f4xx>Ozz4s9F6nv!5Juw$YCZ8`3b3)}BJ+>3$f3U=Eun*_3% zgz2Lbm&n)!E@EH`#qu1DY2SnpbgNfEp}f`y)O%7$@geC&&xxg%Oj_qXEU-R~_#pOJ z*=K_7kF|6o&by=NhKzem=w^!4p(VU(730tFcr25KbAyF9U;#}7sCjz%j+4H?F0EB+ z_xHN4isGXNz`*(TJaT!b=IA;LXU7n)?90vvYKh@B5e5 zEEFj$D;nfnRC>2Pt7Z5>n)YtX=y(kB0*J=4AK*v0T(#X`dtVk;p$o2E_7`=sCE)z@ zIiN&K@5Pl1gZ6CW?ZIUw>`|4^t988eAdL}86A~bwE4riyyKKU!PNGY%*qXR$-0n-^ zDQ%QV2-$m&Tko!h#rg6W*%}{E>Eq5{!A%(|+qNAJTL59&_6_UR=~Jy?=Rw$Z5J8k$ z63g5b<3@;g(el-^HOi2C3Etc^1O80UAdkmWct4#8P9VhvCTwAUwpyg~)5hWUL^UU9 zJ1y0L3o@d2jVb4r#0L#5X4ZMdKK`8QOY)$Y?aK(oN5*k~O5kib`e zBaMBT+41N4H!?mnr=I&0XHf1V6IC11&Q1Dx@s((ez0xz=FtlIAovX`{-nF&*zYUT& zaOaWrjKOdl*n0}Iq@LM* zI%m$wJi?|kY`5ynQ&P1pDJ&h^tt#`KTn|u5h2ni8XY_8W&;ZNVc00dA&v@Q~`*3$J zrT>U=R9IBSDO@UsFzSKdJHUgx{hesXx$IhUHO+Z6o-`90v`(-_1(B#vQVHgez^&9a z?Y7~2Ox^=I6HEQuI+o|G{dnJYPlW6V1Mzku;%#>%K;_=A;8vVVn~!+-t=wKoj?v28 z3$!0Ae7HbF+9SAUb^RY0+O^tQwr#2m;dQTiw<%j~(jcEr_Zz!*eP6xUUT2P}LTK_M z^mXz_`xm`bY+iRRi~ciHeq(ne3$Y6ouEFLa;-PqKZtH0D+FG@rK}b}~wuf*HD%Gwi z6eGpUNS%O1h?d{fh7%@1`X-6L6-I@5bb(U|+ zi7He!_$Z1MJ%OXGeFvNDGd4H2XIX1YD5}oF8P+Hvu4@+18YN~U}+7v zAgzE(6--s^CP{8p5dBNQ&=^zELgTjtJo1xj?5GuWTa5oXM9$955oBZ^m8G1B-9i?l zDLpu>c}u2V5UAMH*-b*>$AqBGFX>qI)TOm(l~r{Nm7V_)Mem{cz2hEb_dS~BjXv)d z?qNNmn#Kju+t&*|&?)Kb1*Y#npuu0GQ44H4za91MWJL#$C0_6)RB#Pn^&6lJ15||X zqirip@~R@7&w~g$$p$t0HNgl3NIsanmt$DEJi%X^B1bc~17&GpHe4T*e(7aU=>!BH z2z?4k+_GzJ#8^bwgJ$4~+XAhPJgGJ1sHZ%5c`B`&!z)7kO`OgwUUpptRg%v|4}dBG z8vh|^U$8xxDKtuhkdTGSZSm6A3n25>)YG>C>&@-1wYJ)9#1=pY{38-Jw*Nknu zoL9fX8sSbWjyC;N{#xqm9Jdm`?5t(nlevZnNBBxz$J(|OF`z?kOP?Y+XS@4|0`Dl; zcD?5b*0a6)|_k%RUOK1wugt)|S>phZFeggbdg zvBFV5JRZNEl{AhwNQQ*$ndKt4*?XEeqpeGLI&9c|U-R0)*#;Z3O0^&K2OXyvb&_#F zJC$ieArA^$ua9BHvpAeQgH!{Z!xLzGkaPlC)rKIzj7)aU3NNeOiXz@0LM@2~{F>Xa3}AuHURhg9L|wA?+6 z;BV#la?%)(vXXueW|CGRKT#FS+-|d5G98i2arS?!+hCGlV`ttWdA0eb zh}4rat(ncT8YEFw%1+^U5z$c+9BH=(YuArL%w9ebjCXCh7%Cg4ZLA%zg(G{Acn8hgzYxe^7#X!iBh3x=?GuZQH8Uoj*TK%;uoFZ_woUAZe|} zR)(2`q}}1QqFrJ32WS3MZ#Qt>IoB!2Zk`kAfC9W_vA)6ThJo;P3-I?e?e@g&=yD260=|+@9b@=l=W~TLq1DIz#X5*NKD+n&9a3PhiozoWi13Y5I`y6o>v2syk(PRQ!{W4V* zzfC?zB=v=v{K?=2a}rc|z}*!(TX+F@ZkG(;m@;brV&Pl7Xu#VY>@UJglk&}7uT^$H z@y4##3i58(B6c{^W=*nuleR1ubr`&J7siE_;9_&%GTft#!6gaUv2w>QTvhmP;adiH z+s>XJBcl|Ly{S&KPH!}^xc=<4BG96D>-t%HHvIOh!Tkd~;M+8E+a^!KzILw$k4HJZ z<_l>yiN*p!Sx*F5DwO4Ji#|J>$hYb4IXjOQPGwD~M(3i^mx)J2=2<5f6u`v^Yo#tK z`lbnuc7;UJJa^xz)_YuxO0vNL4IJ`nfAk{b;`K3WFnh9Bo+27zsWJnTYq~9hCS2v# zcPT6+s{|dz_d7*8zCZ$vgz~zuwJbJsf0&Ce6joCD;QtumJL4tY_bF+5O=i_njV@L#G6LNgU3pCPsl&+%I(bu1Pvu7s&E=FI@ZECjV+pTjC$n(^rV7GEFL-1B{~BZ zLITTfsD%ip0~20F3%_MwJ-sP7gKYQN6b47e_W6xbc3x$)juD|pJ5kHm`VODx!L{Qc z#~MSAroK*pLyWj#tZ4c0<@9Ol&a2GecJEAZWXFwzc|6mHaegux;$AA7xu*&$=XSDH zWB~mnvXB(d;AG6D3azMYrppz`1tE5ff%f~oldcMQ-rG`8mIg5J3?TS;-z|#7MJBlF zx@GLeeC_?_88?V6gA;j~Z3Y*aJ9m}TZZ~4jrEi^u!Ya(it>$PpDj70y=<*B0rX9?x zjPl!!Esi35otzcDx0_1u&&fQx0ZLBF8h>5ec+@31NifydDPPjG1NU8`?{g}Jx?xsJ zQHElw?Ct>hWvf0MtHzew3zcPD*@f{)EvHTsq@ZBHVJk5@RNQ-~IvOuAT>4B53QIV% z*tW^-#+4p)nZ+{l%qQBGU%xAb@oPTacz00R1O7`%^D%K}LP=)05xAOG^nVom4>P>~ zk72`&n20W}&Ma5RoOyzb73x~{E^HN03%Ef@yZfz6E<-2>tUS_jG}yfLTNhA81VEzh zsO4|#C4|){n35OtiJxjwh()qS`kMIynaP9k2eo{ zAa_(ehb}ptW_=F=FVTFncYq}qc!T4{0RKukB!wuJzehqpzGswiTXceezJ36?CWC z7xkIg>}r`GflqcD4$kvXJxARYj?n*JP9%WH*4785XM#5@udNby!j*MPw{`2ltmgCx zqUQhY8KURlaP*%Waul7V=E0(NW^s$jb$d$S@T{WGJ%t&9$&CjJP}B7rBW<-DlRnum zPvF`QP>E=C_}q?oVfER-y{wF5GW5L51q2@1YFv~MvpIkLj7yH*OP?`*gp(#;oyhV& z*>twLd`OC3(5FlJI5`iy*d)B3zAd4&xY|d>yk^qc+DmWn=Z%Lqo9emfv%v>e#I+1x z=jy%c8ta?}W+l}v04$}h?Y;{GbMK!%K4Z>5Y!x10fjawA??HG0`jf5_=7m4OCEi5o!QUiz1TWyI*o!E27~uM9>;Qj=966>j5mt0%DrPaFM)JCJNOdp- zsE{&cJyk*V`$;d0xw-WzjRM~lnK&`7F8;msJic~1KE4q!SdSoeEP#JEYi zc|s#p5oi)3>wmhszOejk*xtEFymD`m<=^+jn&7( zzjlO4xe6@NweRFj=w+>YUQ7k@@@+TcGUHIpAE#1Ic+7gtODj*~C-S{cFf?UkVyE>| zlOpjK%eFs5Fu>(>CK0qu_dA8 zNGqWi%5{Qx2Wt;(27}rr%Dt}U#L_j1YYwQB0qs`iQ7b+d_3eM<+QGj4LTCK@`V0N` z5psTa{4mW#_{Q493qbDYQ;Tf^eQZWu{9VqmU><$pl?u--RAvNyeTjq4VGC?z46=eX zA@};QDQ9gL7)druB#6nRcHw)JG!uT(>Xj(sHSda@sI;*JFM2_AfSjx)GIOQIMm;jK zNiPGNHY%u>F5O|EXqCy_{Z{a1HtRbP!j!u6t)dXWoC$&ZrcK@BvLnrimmdV5;ix7C zOU&3U>2@yTiWY?DVwTsx_g?-2ooy}n7tP*;u!2S^n(Fz7uah2Y4Y0IbBM#+hWohXH zg*6t||CsgYpIGRx#X<|H^Y+mk zU9n2jVK46npVC|dURg!Ak=9PiNaU>lI0MlPiJDxvu-V!6WV3YtVDQtHd^4|@#qEdU z)JJNX6ZXJs2V829uvcK$d8;>A6h;W>5mPlN+~ibe`;kFW8=#7EH4Z)1f?z)Nmryo# ziV&{zyLH=Jl5wo=$lbyBo@J;DETIa^N6r}RrIL=w8s%zU_lWR*f6J1ZP+rSJtmw-iL5pw0r%1u5h+h@=4`UH zNPD^#X&Tzf(i%uVh|EyXhzVbYq{MO$_|;kb^Z{Y}2SJJpf#xqV7xDMGNe0#o@pSAm zO=tBAR3?#ra8pM%JPZjE-gjJY%0}HiXOq@|IwHJ8perig?YMr$^ohFvprjTU^n=j* z?+iZN$c3wOmD|JEU@(r}`yEN-il0}C=%t1~QX`YEDD%^K@lJYs>NR1@ok?V)_!AHl z3ip7nml9#zOst`N+C8@a1gw`8d+r1$@)}QzGy!x>zHj0SpKdoIvtd5Ziz;#mO7@xW*JM+ARu5g9Ew>kSl5H4}HPuHkSU^ z;xWU!IQ~*OhsLe&|0g)%15>y=+PE*M|DTM?hn`5*-9sctB2hQ`Fx+O9+d?N3UOAhMalCfauZoMEYC24 zDPH-C8}=_QhO+v(%*eQ6j{_SIkF5(Ye}A^IVHp?_we-5(BnccMJ%{KyGsoP0wv^l6 zlC(xt>1Yuna~oStEw{Pg)@_}fQ>tmEJ@MR4#@Dz-`XRp3cXVC82#tK91*TR+Cc}CZ zD4-QKdmIlwwByo;4Id*gggqXs@Maz1W^Xc6-1=xZ8N{B|3{$@PQg! z-{4);urm{qA>}_`0=BKCN96~f5Y*(vfBQrKa~>T5vlBl2z*kWwHCgqC0-ux`$)}k13q< z^!f#y`Vt#(1tZa@({-_3!HLSzo$8eu+W9*$^QsIhqKKa{^hu(=_*AGZ>P)2%;AD&9 z2dG#Cvo7taWzPW_V3)DJPsR~;SrUy`Uitc_ju38ObAg3(NRFdk;2?`lMB=I0Pb7G= zlP)IhX9brCM#^3ymV%U9RMw2SH~WME5LrD>u(G)%m6E;I{J$yh>mDKHA$5goR z((51LNd52Q`5Hc4Az>J1LpzQ+E zyZ(eWt{gMV8UK6U3n8(vy@9rLPLOcz#Nv(ce?_Tp0vN8(5IWB=k*z~xOLA{Wi_|1I zYE&cRNog#TZY;L6Mp^_fdjV>HhS;TX!m_f_sy^vQ#9JHV>9}x9b$^awnBDca!~QW( zcxIF)5e6gu!Hh-g;Jo%LQ5dSBi&FSkk>^>jV%cU+XEz;`uGKzcc#Jd*hVL5WCCx<5No8@a~7*;(d3%mRL<9Vn3 znI=WYdxU$H6;>=A7ElURNj1Hr@&QRldPU{el8$|0BZee;9v=e|fBUdwp#ACh3(dtx z&@y^y4hqxB*z^g*7qZ{_f`Y^T>2#!P>x-W#N((j+m%GuMs$iA;WPvBID(3rk`o*$L ziAbpbvW54~F#~`z9KVKrTxd4C)ELzGv7cI-%!Kp?maN{*2f>hwDZ_%0EXYJ&QsKSX zix~V$ko|7DZGM8uIuH|z`#a)}Pk^fZ>*;H*;NK}{`bnb}QgjK;2j2_M;&R!Dr1Et&#$JXP!#?Dz z|44A#85fv+Q;`9tEFJ86VWYW zlYl57B>@749%@1lA*8n(fB*a3`{jKnGkY>?@4aUB)U~dr@q%JE_G}-rz|qCF_u*Wj zNv)$h^ubx9*8mh;p@^(^u3{%}h|9m?y z?|Wr!?0#B9HqAS$r={P*JFF+n&BcBw>p4U{XCnM8K{ID^I1Q0m;bW5q$=UFpBQ%;V zlj=o;CuXwLyx*r~WY*M^Q*Cmly~Wyv_cZOJcn{dU?%5KbTe?%zW=zL%CLC&~^5@10 zr=nUrq#u{3w2n$YU3=ZyC;cqJ1fyXx@karoj{bHsZ-Z_YSf{d&70>$ab9LJ*uyEtz z)q?$6-O@s(%95=2TRiXfuHw}8Gpdw5M5svp%9B@4VAV-uZfB8~sNSAEFm}Xb@SmBk8TNPUCwrb@KXP0vYLp7p1CZ2CXe(}WLjv>w`H(f^`;%Xb>)^St`7 z@r9rSA0^>CBPvc>3QH>8IJ5mMFgB_GeLCSiYn*6+mBFgRYpidYThYfr*XcOMgq{L+ zYsyzDxwQlM*!0HCGudw?3goMS-q2KP|3bZ@u&DR-r>N5?&;0rUW7re^GyS*RiPpzO z2d6IVysc39TUNHumF?ryW)+dJ@2uDjlfQRmHi^BM?=n-LXKZe@Ilg(8vjU%(Ifvbf zcuc(=42@=Gs2mR~XN{eTZtaV3TZ_tdM^&rbL_I-$Gq{fOMAcY3F4M)S;K|2}c(-HF z3s(!Wc^|ieVyXgL+Uv#>lmnpgo(+>}HaX@{|HX<@Pk`}^Yxua*IZ`G{IQ^tqQrsr; z4YBF#o1E*uZwzdRda`dEDpUc(b;DFdrt7*(DkSF^T~erR-_&kmwz%ym=_Z{DH%P4X zt@6o+bFsKHbY4$dT{=%^+pVOMCmnF2!WaFgHI7hdC^lOc$TuJd)}Pi) z-nKJs(GF1d@li{f%BZh3ISVM1S(lUV#$h*Jq;?Ns=ofnSYyO!z5_Vz3jr_LtCB2Se zVqVa;p^#>SgV8BHQl7by`vNY=JVgLtie31locoLCiT5~X7DtJGoRl8>fn)SM;p-3O zI4?>ECK>>A%~%t#{o@vLzUcT|ck?>%4b&6!8uU$+=Y_F^ND^H<@J*gPS_@qxc21mK zVQ^fxQ)65<#vxa=4sUp*IALQTwR7b-ht!i6)YK-i?RI_|bXxaq<+l{$N>g-$#r5QZ zwe{LG`{Bd%Up*Tu7dUqo|Mf|TR0vR>enyCz%5a;gO%)rGp^NuWb|g4qi~d4OUU~t$ zr`^#h!1r$B0%NED0OJBf^Mcq7;{#^^J7v>iVG0J%0XHzkiW_N{wnHzV$zc<+3DQeI z7etZ+Aq;~OYs%6f@b@$oQMIAW;|)+f-!c8OfS{Rgisw=SW@^bd^A{r?!{dN`tTEZ@ zk&PIPyYP`V&?M-gi$NqMPWYl3CWIcbxMBXw8A7CsxLca|EH0Q2s7te6;fS|PP{bfT z%sH@MxbEB1X5N(T)UhOopUNw7hQXO4$uT|W2OgW83Mi8#h9*0VE0g|#Yz7~$eN`kL zU|9Q2VSiH$E6N2Bps3MHIjW2fIkoYRd0>kUZ)`|JH}y}zzd~hcPF7yL#g1Rl6)H=b z!jqUu%N;8d>rTGqCO3rx9YOCF2vUsK; z0e8~`u=t=&qHo1RF&$>M5k#FJ0?F^yxWXVOK45l47mtyjEs{FdSC)Ft`+8W zUpZ!SIRIop>@h@L50o*|zST$0%L}-vAb~^*GmEZBn&<`S7?65Ql8aeKIL1PuZKP>J zp?#A>7n^sQT?_&a@jCraHl1(V_>?pC+=8sPDioR_)0yV7V%U9V5w%mJAQyHta;(&qEy}M_ileh{utDCRszY#sP{x^wm0q9 z&E2Q#d(LF|3X%gl4j&?&?!nQ<7mn?kF)_Ee6LXpdL?awNDT4E?Y zHFa+^M4QwqR$60#aeso@yv1N(1<5-Kn5^YzZfyQZ9dmavtFDGByS;m2L^5?H_<+x* zcXVrZeSpv^O0iFFR!>%48}-z->cr4W!}Nw>-TT_T+v*d)bR}8J8>{^{G05pWMyl_i z6XvDN@HW&vGS??H0f)leT>Ni>&?K&#dn5>SJ-OI0Zw}njW-B?j{#x1y9fT1!5GJ~{ zsV>W>Nr8*$J6`TT%^N0h`!VJ{wCK1) z>DzGshtq3xH`kO}K){J<(%tKorU0G5G?(Rb$Zyz}L zc_wL`VIawV@%ql!+ErM?!b+IC+@k+Zp~ha_D5qeeJhs>-?@s#U!R2f2FBVUPcS^># zX3qqa3LkbzZc|Uzj)gF<<4#oVsz?K1$OHrG>0TChKd^1f2D_^UfOwOirGq&8B3Go9 zbCv(#07oJ>zQS)cZ`c`qKF+SP`c2HQI^>dk#Jbvz+f=yq2)&r}oF>tJQ~- z1x^=4EOuKtvv?V(kv`=dg}w}|cw~R?kKgP&>8NMN+1$DR0~zH3Cw$3pr(_|0v1CK|hawk}r}FlD6k!{G># zoH26g{tQ>7pP=U1-YP02mSWwju%p6&<&Vpm$PO;=ou1Lk_)YlBgwbv;LuE^@C4+eg?X}(%A{RlCapz3o~AgU~iu&I#{}`%NI{>a3 zRoQ#g$W{`yAOPB0HJiNTE1Va#^JF^l-=uTnos;_S4duULP^5BBrm4khYIz|(P+i3* z^KG3G*^%b{?g!QW@sjUdSVNHAozDEJ81;5wmf}RFnGkMhi!U)W)N%t5YK>LrAV*f* zXKH_Pax7FRe4>{r5EGP}P7-Ccwd>UC2*-I>Fv^EPtx?@#nXVlYT3gIrwFj7$aR5!P zmymeof3={o`ZTzjTk7~8hX4hEQ~%jomBuM!O52TEjYi`C7?4?oZ?Thn;f#@U zhW?_z;&NVQ^pDu=ny_uI-b>wAy5?OU{rg9M#Acnx_HZ4wDci=G=Vm){LcKY`e$*@> z3wjlhacV>6D5!VpHP@QyLCw$z6(ng19rU{V*dGIm&h3hj)V(d`GIPUxznnYhhB-ja z7j*(kt29y^&oi%21AR2@mNbNu&>1U{=D!-@Fx096VJd5nNoul@D zdHgL4uT7BNr`nK(ggj2(3vU$i(+jWG;&u`S3}@5jc_GBxeiCW0&sl&?rC~J<(_9kj zy0H(j8~H%vpH?poFsLMZsl7^zx?uIi)@Y)LeQE~$*)5403M|g1rQ$MkgrC2@f#9A? zb4vY>7I(Hjx}mAtY*RYnS>TCBbb_6RWhuV9hMn@JO2ZwILG{(5ULqPDwV3=t0NDAe z#xhG)xRJkU#PA0M^CdCrS)@Wa3k&r^_YJ2uH_j4!QTe*B`91S?<1lJ!Vfe&)5UxjL;~~#vm1OI^h{L*eG24O z8O>f~Ei`8BzaSYQkkJObYI|*w8I}sk7X%Ct&Z;s(Dp|Yc`I4>N_e3Q>+c~S!bTt($ z5@{yq3E)TemGpXQ>}d+`@vOZA$`^#W`79p70&8tSAXKip{?fuipKYz2&YclKxg?-c zEdrB!;Q9H8nOvJx2=i4|dP<6%#DG~(Z0GjCG>gd$83ziZ;5PjUvy`tu>{Xiqd)9WS zfkCt{)|%=G%1^Nwu<7yaH&UHrF>^dk%=e?+*z(9&!j)*XIaVm{YxsU_x4zr7X(Ot| zZQ+0DWg5xo$E342bJ|pB2AZ*tR-sSLt4A0kx#xipwH9kjZXZwsE$;NS?s>t*Ytq<$ za@wSRehxTlvSAiY2y@=NUb(>R?%xZ?O!ZKDBX-IDm>Q={aK-xZE!b~uS_w|+#I;Fn zrR}br-BcPyA))n}=|Kqx1p1niL)Qk>3l=KbK!Vi%adi;D-8%akK`~klBc$t-_Nz)a zT5heW)NczU-VWx^s?~4Ph7txFU+wg#xxO8on=O!UQ_oeo$jN3I%$C0&rK2J_qb=s5(8GW}k7%m{&PV z|58U6ZY%hx)%0qzd{}1@o0$RW*uXCXY_|Br%XFnpicaD$3x_n4J`1H)ka91Vvp3)j z72X4DzMf|@J@ahB(^EL$zmRk^U7$8V3mST6>+qn!HKoQ3;K@K{$Bp0^S*%bsMCP3{blJ7nr9gp?13lO6u@vi||1y5mE4 z@lFDvIgjKLXLhL(F8mQIvWN-X8IX6%2E{UAerbea?Ax7^&sg68K9v*bdFQB)2&&C2 z0+D>-)e=kX^@S+8gwTJcg?*)%VfiU5JItT#ct z!<(0SGZCSj>>)GwEM+`V_JnF9dL)s^pPNBv7-m~m<$Mz?@|uVva>@jTuX$(tP*yA2 ze(>$A*8h0*M?9PRkjs%$@${*7sQPq1>6q#xA^C_>bS#~evM=X;>Ua6mS6|rhyqBeb z2Y46>cK6Xl?Qm${UMhmyX6a?OlMY1uCXnk&Z_n1<<%7bdn)&tXkT5}|ib}XiS4d4` z$asB_IP>3H_;|1;C)pbi;xSIwWarljixZ99pT2-pFymQm0$7~vt%A~A2){D0t2=*pz-qkno>*nif!AMw2=lVQARj|6maj)sluWS$%Ed`fIUTTK4W z8R4Ezr=4-g=ECp$C4iEYugOO-=e8N7NDu33E-y^Zj&lse-zo7*!(}#@CXf$TZmpXz zUa=VatTF@JS(7a0s)a?AoHvPs1h@TzI*$?)H>rveoTTW41H9MoeF%0H8&sTq*PoXO ziBbrT+$NkzNFBX);t>=3rSAiw5^EoF&vI~kv*xfx$4jfD)aVvCnTdGFZ3jBYh>Iy`(l^bE@(8GVm< z-qmD?f?Z;kceQ?7_sFI-1X&T~`jQKv{It#AT+{KII;^Z83?#03deEA#;Gm@-}||3*mk zQur^c70bVIm)nHNgCil*K1zuAoYqL$b{ zah@M-wwX$J#eDOkbE@fRx~bNsu7(@uZU&}oik@E+!R$@hX; z-3RUWva#%?a0S9(!sDiy9_<}1p@dfxK%#xLJ8qUs-=}1^6AFPU`Z;>-szi8ZBxHe( zDKPsV<`vV@(OdjHQ|QYU{tr%ws?07~`FXFcl$-0&grh4oPP3Zw6 zHupeIut+%3S@(WSz`P*UH|AwePu*ZSFVWY3B~A z?>V!`g?zYx`sfy;HI0fC?}M~V$*)q)o8h<&jPD8d`K2p zoUT+H_6RG9yYDC1$O-V=aq;BQo*UUdQq9xarO&vfeNwdtVcznO#5y8qLXHJZ2U&*J zJc9V!H;o3R_pAM}nfjfpj9Zf&V6yLdEnnS2xkW^lT?;y#iASTS7{W?>l`h;A z7WMh(e>fM#aZ%Wa$?cL>bErmZ54k^XLTg*1<&6gUGdGK3miXpYu;Tbxoj*=$ks4+v zoxb)zMOi=BsMx%e*BgPJIyE8Mn#UpsOfF~SH%3mbC@;eMe2{A;zt|z=AM-Rt`|)T~ z7yjM|>m7pH&Mv0f5F9{k-0MCgPQDZkRZ;7X$+WZ)$W{ z&?yUZ=b9TbTLce7-Ef`1rg#}YA`Und9U&t+cXl^sH98sGt%_o?3ZL9O(x#-0m5@^h z*VHloiA>^N+4`sCOTU@`u4Bv-ZXk?x(cGhq73=m4s|LzRBS+hdFQfByuY0|+c`=XI zQ1mdo0+DOBxvA=Ngt%tNaM|3o*@)=27=Gl(-~nOpx;{7Zkjv_en#71(@NhH}Cfas{ zANiMg;@pfl(h&0TwS;c!ve!v6LZdG34FfCrOjOL3!n9pIT>0_Wg1hG~W*~9s7<$;x zj4rrG{M`TXEXeF9cIaXpGM=exCo#Vr&H(xxO2@a5JiWHCwh_FzgFAs+@yaOJ&%G0( z5oUE{`6N+-#74_4lb3>1lnA|34m-P2NVw0B$)Z45JWTY+Ns6haBsVG!Qrg!}GvZ!# z6n(BTZ?k;CFXR~dMuS%<%%KE&a6*mPZJk{-N8v~rl>EiEvftF98xLou;s`6(w!(=q z!r>@B6Mxg8$fBK`seJ{#J43Gr4`?(u2wLeCV_7ovuDvFQ0?R5cD%MHW{mX>^fDist zjhP61*m8TVk9$Wn9q#p0CA(~4f#Z|yIr|sA{^A*zz)AGF%!HV3-MVA8M@Bb7ODv2H z{h-$*{t+d{3cmp#Ry3Csu+Pe&8J-$e;WO8r2%>uXaxtw!hdDm(?}M!w_x2@m5>CDF zm&nD+S;8~c;rz(l(O!i!tM7PNbjtfKhhy_aN2s({vN*sw(8?8v+Om4ZVaiiVWQC&U zzWJ4Tj-7>vsie)jM{MLV3(wp>131JOSR|H~aanEIU-)WGRj1H`!Q)Pia6y4go1cJh zh^G8lYAg0?^$Sy5u^66*?sH4C32MmjRuc$2?n5@3QuAOLB9D?yyulrG&KF!W@cm3a zZ2c2rUeloLRLr$!-xn_RAvcx?LxNU6IJ!v7*HX5QEJLHGFPIYHCef}AbM(sswIo$c z-q#O(&QxS;tXJz+#QE%|yI~eKT0e7^wm5x8j!ULJObOkHwz(&jXU_Y<%PLPVLiu03 zp6s6jXM06yMpRu7QQ6x^zP4OBI{RBU0ws<&-ddLi5#p7^`_YOuKX85{vs~=BpIa7G2jNrNccilp|f4F)OA!AE}!$uUH{{ zjNI46ZRZNs&McYPT*(x`9bhZ;R3{^raiyjcn*c{wpgtQ<-so ziLczfnsSM}@N7XXMQ$`@i!Kpzp4As>NK9W!XxV+|w$Q&QL4x+eKskniK$Jf@I|G4L zW=CzZT7J|Pm#aL25xx{Ff$pVCL^xQcXD~trqC!XfDF*-G<^6CA^U$M}(X*BPUVUPX z$ycXy7s*%ZRoh@oaHHcgf;~%0YK?$BuCK^%LsRzele z(UC?oRbR+nyn-LYVFq=e68iY10d3bTTW@uWRNptVs-`o^E zD&0E3I*O?`gt}Ad5r;TV>8)fR1^+w$(b23!+lXcD;L{<9-!5-#ercMwNG~8!}?c_EZ1Crs!s5~ zKtM-}#Wu@&`h|D|`(FfP)bZIBVG03tQ8+V&y^V^rth`da@u5)qk|3>IUMG|FZy@b) z7%J`w$OiSM{8Zz9sw?qLDnG%h6<+A**uG#v;l~Fj{gcj{G+#%jIJ%reIs60%o9z{P zy76j8i6Bl;vMZl%86K-zvU@l93nnW2ABO=yzsQzLdDf!$`c}hk z{E?3&j`OUJ&<@127VeKliscOa>%!`>3smf5inh}WN9}e`WEga{d3}z_w8MXtO~wjd zIGXj&F8Daw@V;#`*_)bZr!S=5i)+c8j0$qE;SrU|_LEN6|JYne;ej9U#cdAyc@f>0 zTpUtjY7G{{lM&4y-VSf`-No@bej({jp9e>-i2y&?mJjxS->r;?dN1{sUF<_B%=ZznOAj+%W&IO7-s&(QcJa1?5Ty z*MXe~IL&XbP1FL~Pc6g3It#pg2utYxxcj-^8?f)@+FQYYr75nJ)&&S9zTrw$rpx6+ zeg=YDdht!xF;SK5Yft&t`VB503TYFObC-QMr(`qau>#4`NJtE38TD})Ml2V{gB@zv zING+O4fqWmu_W-d@EfhVJb9rdeB>0>Xr&8?{_z06K5>4p4Y(|U0vYY?U zs(J3?29v3VC?x#iAHm^G#dcrry`RXQ$fMjp03+VpX$s}1O@I@=;^*{>JzW42_yx4T zO_qBbV-W(KiafBO1grj`WsmS9uixc1cg(XtjTl^b#|3wUjlENx#=mMvemE9)-l9pP zo#PMNcxSdbK0BUEs9yAB#74%2NEcSiOlWLk+kIyv>@c;P4m+_A)o-B39e05)880_9 zHl%!@#!L}z1_{lW`Oaf(=xmg zoPaGg`hI~^V9H+b9$3<16GohK6Am3P&@QNfN$FJmi_wE$?o|uaU=dWIy+S`Y=`GVm z7r}an&wgSrNs)Jej{ zj|8#f(9J%xi06gsAaYa2y>Ocfq2QaYvx=aTY{qnX&&-M-iyP_3Fr1wRy+;E!RrjIi zHI4}Y(*o*s-D*2N%Avp8mmzcO&?g+74U^Y9>;G zdH1tmCQ_Sec3;rO5!u>%AKud@!aedCya|xDjZOD<6)_{0 z`;=N#hS@2;fG9i!!gx9-@ZHotUse4kfJ69^#hwXW2z6bp+BZ{QTe#2sO0rEtvve-K z_93lczb1?=dm_BN*;AgPo;wL08_7MP>ooQNGr8kerc!m13k#-R_n%p~kA#@gJvEGA zsLQ73okH)e+eD6jeUJ^{t8SC$kd;v|andn^>~cqBDhxmph1T8U%>wcyo~^#R)J2)P zuX1JUa4z`fR8zs5ni1KGk-|%w0s{=|MXqo5@FRiTN7GRNaNDZ_<~0kjwJ)#yoYabn zl)Cn#Jutk^S{!)>-${RVRcE@&qsn|Ayu~<|;Z*7*hC&*L`e%hJFwrHb=;mEqvCrgB zsv<~^%=Oi)e$9kq#g*B2HVQ_rYW+I%6{OGv6SNlDfkqpJ%jV^!XYkR95LzOxb2U$p?PjGl?%vU zP?^R{-CNw5`Zu5TJ4^!kvLxS^7G)=SZ8>aJ=DOVwq2)6am$)(NXprgVE!bS0({zC! zvB^M+D+)SC)o@8G&@uv2YO*SpZPi@E3ommYPNI-Mv+rtjp^@SHnKgD{PM_-cFmMSw<}^UW1F!yYSEDazXV4+Rfs?oX}nQ#yJ-mu9eyYxX9RH1A{u?3Ci(!n zkAf|ReVRDL)&DG4=5(ME_RBp@HhQG5T|WSoOjVt2Lm#KeeKmfW!o2enUL78@$Yy!e zH8b?)gFt#W59eIZ#hAo?5qCempnX?G1i8jI{ep2Q8~$gTn-Ko9%*MfjngUOZBlx}e zZ{Lc|VVg0iX>7Urtdx%6iD&LA7c>N!H6?M9!X$Q1RAnD!5&3iCdX(^9B1V)(`cLnm4QdVxB*D z`h^5@OwV87m&jJt*)Zw)f_RC8J^dPfG?za!rbCnRV?$jQMigdu7+vp1-v5st^eN9< zt-co6d`8XI77OVNbN6SoosSsm{%X}jLw8Bi`={4t+HH1DSDhLtU_IJ;mya()`hMcq zCLrN$?q60>Y3rVFpwUK9QH{XNT5ReT9oodxH$Z;j`O5QUNOFw3Rtvs`e7X`zu$fi4 zc|Lh9Z*9c=6X7JXI`!4sh(rhYL&TeA@hM3)CT&%9>)|`>1A++oVpu7Ad8&(cGd{DV zN^F20sWh))KYb^h1SVb~CT3PVN0?G+xWLyuZ<^WfjBk3+3BV`G>}dx(hrZa>A(*F0k>{3ThI|wY=$n$iNB{TAE!! z-^on!PhS1`)lF6xn^YzjwumU-R5Zx>y}>bF{4%F4wLv{IPir8*j)aNA_XBBeE)mKINV-fcy1=LkGoZ~4g5(sLIRs_#@o*wB^$N!OY=pl-mwpV!9JOXnDX|~j{9-W9mAr_ zqh@`M2>o0-ZtR=krQU)R)5YY1ZWXKDH+iXeE3zj1JoCkU$XD}JAU3OyMUR7*S)Iah z{pCo4MK1eSSLnyG@^(*ngQZVcxj%oZ40FD+H8PH=Ju3!?r#&vxqiXeo2gz*}{=5-A z-v`m(;&IfilrNs+nxGus*%>VKZW1~#)a19E4IrAa#LbISd{F;-)dVXJ`mEQn681yU znsM9(3M#30eBzBojyyL_++fu;d&Uo;-A6=pyF!8G=D*edz-#r?x-$iCv_H}={G8E~ zx?Nm^75)q}DvmTNFDlTR-%E3xH*Y2|zOnb~Op~Fu2LHf*ITsL0VWRl~kCq!go3y*j zoT9*u4EDn~&NZ^=Lc4$@T9~!ZdoOQ-aMzB53$MPM*3=d1ZG+n^W>)DbPq@T3%SCiL z*Eo?M;I_|nA_&J`O*se~9b%Q))HxXP!?=9JBQ^=+F!!E)JWs z+E~)Xe)u^yL%4Wl%KOz`Rf{UAe`LHuHjrl%o_{~g>@>M4v~0dF8hn{1xZl~XZOTKB z%=9I)&_zeC`jz1IS3N`-WEv{F5}Co{8D0y_szJlc+*CB!Xp>0mfJpRq8oSgaOztyT zig^%|GV)9m-o=Wac&@u7v@8|2f3p0|%LKFqDvIj2rEU@fL!8+Q+psJkAdiT^O-cn1 zWJFLFe@PVdeiHI$P2c^Oq(8fX4m3n-} z7xEn!Xk7!7yBg$F1noO%+;xt$nWv}(B(1CFQoJuuko)XrLU0)P3_@|(cX zgAo2sZ!BV@5Sq9^YGm&i7z>iitNtp+!s_Hcn9ls`@GV&vp2Zh&^0iWd zQJ&kZemJji#(P#w9%g-T(+JMHop17`yaUev%f2&S{RmH3c_K^6&P$XqYC6;`$;2NE z-ncxEaq2eWoBJGRRxilIk?A5J<5kBA@2$I^Lp*KE&)~_)d6D1kMDcnYPj!YQkBaB} zBZkm!6GToT#jEt=w0k1q{Df@Ej!IoTLkidOUGjgpSBPGAL%gmXmG3-;)MU%Yhj4UF zo7(6+ewZDwfK6<}mw)eCgtug?2yAx*yEbG$!`qwOlzkCSA`^C7qYi@eBqOh+HCuaw zHlD8ogiu~VUzq5kQJnvnbHXcX;NNlPmf?yY@#eL_|5%pn;B10u7hCMvgs3s+zlw_3 z$WN!{oe8r12U_JH=o{btQg$}JugP9vNtywl;_E+rR_|43wGvcdkr zFAm03iRFD~$+A`Lw02kyLVqVllLkX&0G#xt;;PXTFaxR5!&y&8LU6`M-5K@w$Lwx zjqiRn^}xk-+SCYUrVh90oo)$?_!iIK2c>x9UTdY(%3-R3b;nj(yh5VIqB33q_K=%? zK0<6x+?rn})*pZXn!Q}564`zmX5#P^9jL~=I*UenkG^pvz(>Jf3-rLb<_@6ZSIbZ2 z?HMa6R>=_PhLmA$Tt}M!cuW=!R3g_ch!ZyJ2kCHq`49SW1{s!t)j;Xl=N= zu-d-c{x7OVylb1|;i;Io#29kRzmiTc;jDhB;esX#to|l|^RE7lV*M}57y0+9;}%kV zDZ@@6A7$_zCH=q1NxJlAyGS#(@N{p=aCWp6%hK-P{6+8`ucC{>_&POiB3X$(iaL+c z+j;P)){FfNf>B@Pco7!J_OLZ;f?)=%3IVaNCU zOyTKO@Gbiz<}|tDirq*yU>IfV@l|kkV@uc;hAxSxyl^;PWkBdIlPhSulbaX+a4a+T zm|exy*V6arGwk*67NZ^Xwf-!VmnJ;ty=}k#m|2H4{fSJsM0}#1!|eNY$(yph z$0s@#_TiL9&W^_X%~oSiXoqjSIF; zBYpKu5y-auU(7_x(Utcs*j;DNQtp@P&h~{1&-I;e9`p+SVO8Yy1^F7Sd#TK6L>}}b) zi`wCfUY-|i)VdwOfvr112Xhu5rbj+(N?Ov&f-8{yhtLUp#~pGmUu7>``_(WxZ-rhxdZS|mvpPIukl`&fin{?0WLw6-W+yus-;CG{Wz}XGi zu`*xio9fAxQi}Ol6>zjig$tj?>bLdK0%RHYH=8|vxMQ4=8R(O_L=jWN$n5Rz9$HxE z)RC}RV&fWYWodouKBm&jYynB~P?VwhJ3?2h=7vgXNV+sk`sy#-d+m9PIDzDjSGT7+ zVSG%bGv`l2L}GZP;O@#-^!xXbMY-$BhjVw592kAlA^vScg)u)K>`c}plW29-{ihCi zt>aIfI?@J{84}-iM&=~r8*#>Un(M-CcZ3KjG&fcObse0KS0@I0d|1=j z&qsK*uJ8&bs*h-2%kSS_OBEzJ&AS^%=C>`?9aA}sKTnzuE8T|axq6ekg7Hh`=2Al~ z+^Dqti0PHm#?hxpjx*(l)W*Q}3#awl&%JIjGA{|bTNhoDsTxQ);rVXJ8}7*z|M_Y3 zWh-g=+Ddy$r&ET2Xf(5pFI~Ex%3ywE9u=263_22Vd8-s+Fv&@Vc!Dmy=1LYTiNd?1 zwbLQ{SZK5DDj3b1R8$S^KL{pvRNU2F@Fc;B5yLBM-(vRWQ@nj6r`Ptg)^}y&^R?%S zd`=pIBG5zTlw}EPMc|OKHW@wOVa{-0vUE@M@YEq+LBN-(nJ92R5V1~MQ?i%|jU26O zrLb4m!}X;ix^U)bR6-Q`U*FbE9LcgRU+o8B&tl-UVKWhQ$7`ZaXcuX!aVycCb*!h> zZ!0~8#obybC88O)T=;l=DK2Y?7}SSN6)^HV^$b>g&^UyFoLoJ>b-Px8*^HR9!eW8u z*h*h%B>aW6T4_t>Ci+|+OhByBFs`dc-leW9G=fH&Skkx%!W~4_shnO~D_|~i2G{4s z=HezXh2VYE#gY!KNeAlkyJZ-Z*0=c8u0 z(px!-tHI^6x-DQgeGNP!x-#tjup`ADN4d)yz#%*@z*I*NVp;J)+C1VVJVl3#BV%*r zY{n|e1b0WkSX1G;FCqy!;{>mh;UjS?6cBl*TItnvdSIO(*a~c*5zn;mAsH?zOjrU1 z%yD1iNTI!L?ZLq9Qx9W<&}Vk$!%QG=NFgt~NH2ulu?r)d6p-2~wgmVpd<`qJ!o5LC zxJ6`152czItQo>q$r9s_AY%esp08EejC$$z09H4gsvjfS9rMGDo3|DIJ|cfHiTYX$ z@PujMyml7;pzx!C(omPvM-O-3I6ZYadi?C0AhEk#rA2B&UBkC1liR9z=P_Fy-_nb+ zz_>sP9B!1hw&>9j{nh)`4ccvM;6iZ`AC;F(q`WJ=XRt%#-PowIDFfA7qEN6yKT%eU zH3wF)JmOb19y>bVQJ-@d^`IcwHZp(39U7m}z~y^L53Hp&Yzw{w3@rKl2dcC9_83(C zggZ9&{sK?ygYO@KIKNG#je4e+00ghnSo>LRhoSE#&&=2lAwnXgSW+8FoaVN{HSBfS zU(~G8typ?e5}kH|b^E7@TEj|^mRrr~K6Rw;2d`5lx0}X6gN2&5a*=}1XmkPI6waUE z&b;F1mh&UfiVQx=M`8piG1xy)hVCwIK(H@;#PO}>!v)V8W&h*7Iop<%vo@!TX+?{@ zf4L+6a(_=qc5G`Jf~U8*9&nIKk8oLd(d+%8sLz0Re{46i_ViQ~twwR!-M&l!Mps;7 zkvF6>!PL|$kW={}hRrTtdm+dnCix@j->W~$Zd3#+*+cWU<<)|*_8z%meeT_1rBFZ_ zg9mwo(tS=8DpiBr_sj0z zk-XXvUK2*FbsTarypI$?)t*$Bq6Fm%uGQv6I%MG*>ci@*_)|CCrD#P?PTQRFHHtgd zwx4y_*x}81A~mJNS-?gR7cd&n*|a-nxNR)8w+w_2;^2UZT&!DD7)pIjuu5%Y++_*I znajX#P4j@e8#^WoJd^G|__JI`4_%2fCK?d8BAWLvU19~g*@+FKfIe_~_F{7M$PrO1 zeD5}lcBRCG06U7s5;JtV2jOb-RjX?3R{zSztc`xwGTCsIBbf*7gAm9kvL;3+VVe%D zygu^5Ji<;8oAwKQ1*YZP1{)`?piye%?{9Cnj9Gu+yIS%3$x7tcP9~1N$qA}>2174A z0mtgn!}$%D z_%qz0jREvRfa*>Xp!}&`R8u=`VI7t;Nn_9kE#U~BSfb&o zN&UXI8Q4e)^Tow=KcK`L=rwl*fg^+Hu+3W*o=mND&_uajkJdiefWM0MGu&gQ14q|mr^1JttFn47HAB4 zzVa%X<4h+gGl+umjn*Y!jkb*GGDu?JXOnx$4H4P(RL?C_FhmorSV2%6UQ=tNOqp8< zOct89$#CU77{;BSw>J_sL}TlYJWiCLl2yZdrLYw{RHzJ%s$?LjIo&-E%8FYH{k`E` z>PV@^;p2a$u94K)-D&tFlqhPEZvbkZv5(l{`&Tl2XfSRg zh_99326Imlu+S3VK~u0g$9I#=CQGd>6#fZ%9*!bg^Trtkd@HhR9+~=FphC8GOeFte zI{kmZha{5)BT&3xa-js-!bEimp0^|{T%Y|#@f%8J#^l#7vmCj+hJ+Q>Qm?xq{`svQ z3~&>q>F?L=|Gs9E>#FqfgkTBIs8NeR<^Sc^G6ptJo!9og6MA0$#Fu`>=YHUGhsr}M zi7G&gz;;oojU9$1x=sp_Q2))PS}?fNs>$1YEwqL!&nqk|MU+1UJ;nd%rZyE{3(ZH$ z?8p=d%A1_bGgC-`CXsi!RWNfbm0TMJbz0{l#BnqtsSCp(=jK)A@forE*~vyC{TnFo_XbEJrTMrI2hZo!~M84-Pm51bX)dgBcM8;unw!i5ybSrIci^Y*))p+Q@Gi5>@MfW5{?<_ogvm~D z+aUjbXrZU(ByT*Rm1bBw4gbOuSh4t{aQBt<6?n?bjMq@#5G7jW19?W}X9oDm&4W-` z+T~6ll58Io)`{A?hG3D$!u!Y$E0_jBC{e)Kb`nkk7Pc*ihuwud?`SvpsqSay6(ux=?RNgZEG=p@e0Fz2mQVhO`zI*FKTFn<`7a`A|B=TLRPy4 z)+0xeR7YRKyb}Z`a~HvLE(hJ2YsP?LVeZcH=BtqRx&IGg?*Y}s7xe)uC@58wrZj0H z(nM4`sDKCvC?G|87p3_SzJNW26vxkl(G(mCE6VgIYK#U6uOqgxQ&8_XPV{-U{eX6DMD~ESov2$67x~lA>20% zJZpbeRVc%qzdY#Hlf?Uoy_W;>Q&|&Z*7?xp*wEG<$ckRDIV3Tz*VapaqPF?5PyGaS z6q@m=bEN?>Qem%-Ejygk;tTuILn#&X-xZ`9*im*V>H^HTx@x9LR4i_vfaDt#y^atP z3J+$vkDZ4$^d1=mM0>GhJ+_D#RPXM;g#*-oJPPA2PQJ)(pY+`CPj@BW2JNtVb;Rz+^VnS2If|Po> zVp%sD0fh#XgG-g|R`F?Kol;!;hB{3{ClEh5p+hL+>f7-=>T|Z0_9x4aXs`3^gp5~1 zU)mvVZE3Yo^CD^FEHodZf_)VJ6}#FYaXVnhb=ylbq?|fuUx&DcD?;&w&rbxvHe_gM z9Jyi(#)=r4b5UK(sX({Z4z{ivU^W@Q4l!Dy_AvHfL8UX`i^CMv?C4||ttp4JU7g1~ zfCw;oOY@T5wkj^RF(ybIibL|qIm~sM8S|bz3lo8~`Cb_XKc9oSBp;~e5Xc0XoPKG>P zD?+I_8PPYW$wy7CNe5oc{+2|+@B>R=JFK{UP0N&~4|X^(r*zXX5hu+`+1#zGPNY7g zeZM`1cV7EG^tS>8w1k@9TUE+=r8z)Rr#?FkVE73sJn`#Adkt)lg0+Jnvhg$CyV81M zI>7GFZ}n+&;10>)$1lO)-@idxRE=neAPwYGqz4TO%ayyK4$VK(XoQo@_XrPtTD?c` zibn~}c5>>u8qn;O#unu~l?k*!fm*`pn#YunAWr5dzbdcaPPpa1l+~-5-^=QG;mFh6 zdl{EKm95Xs*Ihk%juztzujHVlv{hTR_^VE!aq-*Bp*%=eifNms6cO!BYe?*}9`~J7 zp@A~r*QoXTsULAx>7+ZgN?lz&f}}(1cZTqknlz~00?cBni1IrfD!T-;tj`TvhFz!W zIi&HU9DCA3Lg%-4pxcfYWQ2ByCMbBRqgvAsM2Y#)Ct1(dzr3m1(sv(^bbeF)B<9iW z-66Lk#R^-WBEC5D)hgj$#rk~xG8rS~eoee(b2aMr>!Yw!M}!9}pRoQ#^Xc8c?Yri~1jpPgbCntasrq0pUq~@N4de66sLs=E746j-HGe*oA5VoBGJUVBaYt*_j?! z)do+A4D53C#E;EevSIK0?3RG9rSW~e|NAf4Z%S5nrpvYIhbK=)OGUF&7_4vJBG~`o z0`D(T?g3p=%7INil*QSiA!QO3eSMy8fuhO-(jxg2enkMrt%&#!3h?Ar83a{VATM`(HdY65=K z`NCtk5BjU)(vd=1$Zi@3$nOC$YUD zrBo6_4F|u$kGT_hsHE1vOk;{n>jjrWHGo$TYfCMop06Xl)TrNW=0~~v1vh1T?<>pj@hR!W{XD6j#kfzLCU5e_ce%+IDjPJHA(a zrEdt9gee{HM|e*8BWPCnq*;{LM)6_b%Au2H#t`BKZ&=*G-LQsmQpsllTMhM$xZwVK zw;Lyy(XBG7Pr;n1ah1owJ;g6B*EXIB)Gua1H9Ulp3y}rSP(Vnh5PHHK^f4ssUFe9aU^<{ zXpVoJ2)pTArX={6$iHKVQ|{RPc%Y}DaVdWurbEg(`KKaJC}}z1?4E!ao3`rebcga$ z;GGZZu}c>8{@C^K9I(o#N9iz(CA|&%>=~$HgwJX3=G^X@H)fWzP(zE1>1H={L~s+jpTsS&56HIPk*g^L2u`0Ug=ngfn59@!E=v z4s@t4ynp1@)d~McI2Ce;F0W8x&;fiN?Z;>4rTNEX4^MiFgZ@cN#Anfa-=4`;=ZuRxZyGju? zXt}%K8MiiJssv=g0}V<=TBsD(U zWoQ>4h7W=y66^!``E%o5nt(G@#|t2s#|T624LC;T^ATg+)bsqH7pfaIbN4Wh#Fv|d zQLM!K-Gn=>jJR7#+tK0BNcA!If|Y~$&&}_zBDk^5wlOVcju*A+oi!%QA8G7&7Yh;# z55;_&2DB1{X~p?)E9MAJC{$_;e!}k)kZ5=~u%BM0>`jC@uAnW?uOw4KOPD=M?T`L$ zxrz58>2>~J^J|K|`YZRX$vE77@_p-lNZtT8nBCC9KpCQRbNU*IY=#Pz+DC;Ra`_Ym zzpIah+>XRl37K_j1iVH)U-40+_T=}xJbI&XF_TI2OGl#iVRrmM5lGQ(lHWsagTOf? z=Q^p<>3j>%&O_uRKY|o#@XcJ^%yTT#kgMmw1XZUk!lEcOrJP3(gyx3e)9;8Lb^b4! zGkHG9NVvxY+m>yfE{5dBLyXB0h8-XNqMxsv7(F^;Mt8=V;oVDj#mNS@7=L^jXEa@y z@2kuVlhncU@U{J9Kh^7{y&50;bZ_>-WBr`pOV)1S?UV@LgC4d9F=m7;J-}8nP+eI` zLoX+NJReAqRxt9C8bfY34(|5zzd+Wv4=InINf`U-IQ}%xyU;ZyjkM37C4?e8{VL>B z_gPbMnQ+TkQLX-bcuLx@eeV{VKFM-~!fllPu5_jKjO6C}BpsP<3VLBgHf;EKCnvX# z>tmjkr7haWLChVF_E~?CSSsM7v<2S9uuIhSn~RP$$+VlJtY-D_3z)m|<7sqFU(xV- z@Vl@&YD%!v5jrt&>|i?Bsb$LP@$;3&713VF?a9&m5XR~5?K^zLmM;J1+)M=Al0Ske zOinhUZefj2D3;QmEX%b1IjMXw`k>1yb7EC~q#Qhl&s_6~oE^D6o%n0!`n;zZER?Sf z+WdZz&!>PWH~)4w22&_{~wXFp<_gXfW zsjmp_zl~zC>I(NeMQz59;>M?jqZPjSC>4;R6*kx($M>FfH#-XVfL<7aEiU*!A_ln3 z>i)ocEz0o~H!b<8n?92|HTt6@h5XKOcFRcCev!?08E!GjclNBOVVJzpvsnae!OaOp z)Vn7}R?V=ET-8IoZMZP0H<x7h>W%c*v zYJ4-x>XE-|7~*1krCiSVT8Lk>hgr!GQ-YsxoPerwJthqkioRiGtSf`8u;x}W(rXc+ zTB>}T9j%XSHxDSpzqZkhX2Yor-X))@4)gqTX)o~sb2(XnAjpAj6r6~DF`$TZZeV$2)(<7}$o5d-*rsRj0z@5T4 zLm^vN$z>8oxqKzGV=X1YklzXpKFCm>S5p}k`PC6vHhYhjVeKZ~7bF0Deh%9SH|x@a zG`Til?z?}srIQxw!O=@=p5@2ZPrl|dSNS-Oc2}N{33_USY*kaS+(J*66vZY@yqA5l zA;j~eL|FEwkk6?`4s=&AZpfAR3N1$wLnz3XU)^fD&?hq%ZU-ypn!%RDgY$Sl)oy;R zl)GS%b~#}`#(G8VMp017`H{!{^w#_XAaKE$OoFQg^DPH#d^5g(YX1YBP6;Ez^bf2llb^%FUvWzh&e z<=u#TXX`MPmX;}Z&8v1Eo4#}qD<8HT-r%w$*q@P>X@5DyC#*MD*bz zAqUZaK8F*j-=8A6<}R6TaF0_E!P&Pe`p}7Qa033Y>WyFcYiE0h(oV6xNKOM4bV!1p z$AW>99IvTI0mvh-=+5#|Zz`5r(8xxv4f6cy@=MmMA%V-6W%&oBdM7|2EU;Ql(Rt`0 z_Yzbf%%j?pFkW?IXKn$h{B|c$!!)#kUoKZ8ms<88;D3zBA@ zqrGe(p8e0!ObG{7-*fqtXamVFM)sX3w!JF_FHVPG(6WQ>MRU(Rct)S!`Zf1FE*D+l zS58MSzNHJj>Q;dd9C3ajZxlOaH>jH^<7OWf8&K>N9KZCYDo$n@4Jmc*>K}vf%zA*4SbuANO=k`09 z1a9#pe7cSFO$h0KOKmnp2)5>@@D9aIZOAX?xXAymV15QQ#fpv-mz+(*y|=~6BiB@J z_}gR#okmlUX(~c%V!vKw1}Pwgm+F8#s!6Z~kwmo#a?Pc5upH%;b>%>6iZZ~|tmc}aI-SJO8< ztB;zJpwtC%*NwFY6!}9>1M9PRA*EnT@*=+j{L3WE0j)k#A-9~d}b4~ z&rsp1@tCC@u`clgUENu;!LMQ&FIY0<^i5Ksklu-rP@RT!d`@9{uuVpXJv8S9s~LAU zWwu;b$=rWd8l+L)aeh+D_AAA9&1gv{prIHFWyP9^#pU z+TiyK*qe!79pRnmAPwlyGG>Hl*89tS@;5@c{#*N!;0@#709~S>Q2X1;Kow|M-ZYR2H`C^gJx&kh@j9;Uc zDSmF=H)$=n^|y)N-H(bJ&)%#}D2EsOxBl2SUvBC#!pxYfV(k^DJTxoEjPNvbRa)IMZ0ib2iDr4!|$1PH>vpyaQL$?CN2v7>Qj*pz5`o#0_SmQgH?bC_H_{LKSwo1l} zyghyuUYZ+CD5D80Ne$KZt{`ZcEh6DOu~h}4x%gzGhQ!c%Bw)W0@M;FEkoOD8o&y~q z8ZXhO3bl7N8j(3>-q`TGSC~fEW__}}viHbx^No$}6=a`8>a{6;UE{ANOkwXpF0iOU zA;J`}@&n(CFevS-i3o^*pYS;?dvcYY`4!>BHtZb6v)@2e&_s^#2Q^U}C^L?RD| zdaRqC>C_OK2(vz?*eDym@-d>Qsh#j-!qYE?NSJ$3f3+v)DA=&{Nx!kig>`GL$9Ou80F$ zmQ>rUT6`;A{oy8((MNT|c>HthJJaN#~@zSyU69jb1#r5s48KYTSyyuXYdo zEIf)lOyR*s;?Et7ysYxpUTjwTkaobi|K24;PdS$loOwRVe~q-#ml`S*uPF3Ua}oS3 zFF}|1gj=3gF4SW9OVxYyHf$m+_D60y_O_!*ua z7Ylj3ZoN_9XLq{<$lxPSVZiDOm@{Hk#B=bYzZJ_({SML#rCUcF3v+7$h3Yc z@u?SkVgNZ#(H7gFV=y?I#Vu`g(%-PVHYE9ucCSJ8TDPCmxrvqd_wr|*;Waq zkYZQj8Xhz=&xHAq{vMLNU4VjfPDoz({VmnE+}OYX$ANaFnI=xIL#)2OU#+>fhr0Cu zA-Jwc8g6VoOZEP)!Iq}cvI5q3l}76QZVxvNi#wQOBkNCYzolM@k5(Vvj&9X&sDdl; ze2ub|`4v#cjxE^01|~dV2e;VHX8ec^h=sPWuc|Iv#8DC*Y0B?k0&mwc#RP=;RB22v z2kCSNW=D=r@uv<7HH#0@(}}-r(E8aSU}nd;*)E_YluA?YV7geRTUgQ7s^H|>QsAzw zy7uzs^j%1oYIj8_Ba!PedL7D8_Oqe)<-(;|xYFBz;ZtOBFz4+f(g~d$7)9ag9lHs+ z#=I>b6bO7{a3-ZJ^2gl4*XLn6LVl6D)wM*>l5|%+|b-KRCUq()!z4Hh(M@(rCB16FJC1;$;^hwh|tE`w!+pPeeZ1C zJt=|TdCPcVr0T1vwgcl>+N1R~9E%Tfcq#^PN8-GE)2PQG<{(fnvdrFUTE1Bz>Kk#9H&yX zp@vnE8Dkr{;$dnWkxyRs+tkbuj+$5Su>?3P_}rXf>jTjK_tYx1))(MiTHZ^OugSZY zkdKXfAu&G&?#`}W_6|4)SAJ(*wxq3D1ub{0P?Op$$yv%bYrRvorE~fM6IFL87C-Vl z_+03jL*`1XTl-)e+r%T42oYFo67mG{gv7}j<)^ByKaZpjVW*F37NFdeis+-M%AvR5 z+nY6xFjlg2rRIC$- zzTBH~-uJ+3prYt0^KQ77T}-&t2(+EkPp~zDTa}PpUN#ns#8FAvgaXcW~nSCd$8Q!5Rg>&DTvZg_~Qk zZ>LT)m|rR;mwpx?&u$!$J&U`M*a_&T*$GmSKY!qhS17fFDmVkVY$cRfmJIoWVj#r? zD(lg6`Q-+zl#%7xp63Q8JW32!dK>&zSGALLw(0qn?!sk=E#$=q)F1!9#vf2K&6MGC zJxGOrbNtez|KA~x&flw_L$457SJyY;MdZ1*k;J8mY5`LUP5yD|wj@N9NDI3^!HFoT zIQx)rf$;mbbqeJQyW_)^1EC;p;urFWk{%)K4f^+Ly%++?5CiroMa4yS2I+Af9MNR2 zA;f!&(PP)Z0aTUU1M82u7{co15u<%27!0|lVO5>BO5d0_2eb8}zM9$hG50E4QGz_H z+wZM2*(m|13tqRjROTvG2$mzojM(D15Srv)$>e-)I=Iu}Tw6PE~$wkW7WwsAK zjgjSv!LyG&?UgM%B?b3mL;ga_;(moy+3w8_1aejFxtos}XpsA+qHarQkL`JqbFuzocBN7r5a9ygH{JxIUNQ)9@P6DDu{vSn5?` zDWRe}_hQD4g9smWH|R8FFJ)DtjZjmG zHd-&gx*d@7D;YQUj&cDTn3oxgKQfe!C7bURo8@SE>&{AX5Z?dLm|E2(rqX{GW9x$AXSiT}80$W<1TsEFIx&Ko$U_{1s7FhcVr+wWL-dsF=h3=EF{=+hY>%2g zNGl{mPVO`e>A|{x`#j5V$x^e)$q=*BP-`Qco~5y_@v!q?Kp$L-r4{eYA5FFeH+`jr zJsP5ZMF*=He{4&~2Rf#6!iqzoHuZr`_a=1eo+ZBIDFf17OzWx@kE*N|3aMB4jVAtj zzi90DgyNwQLaZR09R9^wAe=U7g0e?LVw&p`gF*K)a)U=&f3C)%zlVF!l-3DYUwN2# zckqz?YIWX1_)7Kl&M6cRUShO?5=D7j&a)rxHg#JK)imH8XDU`t7kr9#dEYy0%awc0 z0RQNd4I;6Qt&67Kd~%&%VVDP>E7v7@3HQk1RsVKE-botY;_^%Mk#>#}l4%E;u=F|a zNxH?N_EBQ{zTQn-B5rJGsXT^f-CR{+QK!)aqJOjwT4p&EkVDVbKeh8-)o*W*Vg}B3$S&9%Cb!(^ zal0ry-f^N!{`FR5lkPk6!pYtkWLMD3S2+l7TVwQ{h65MsOE#>A09G)O%(B~fH0kqe z#v@nyiOBtTXzBJ+s_wf00|`tQg;OHVN#>AnVmubATT@R_eH*lZvUmXcOc9i*>yb`{ zGG3eUGU6^g1NthmY|ACgZlOJGr>{J5#UMLo^vaXzLcQ$uQMWI(Sp~Il)hQdD!=$2j z=XoRr8pN#E+Yte&zO>v5ZQS;Xz9!A~E6XbCdnzxj<^IK=2qBaEyW9J{mNeT!G5q#> zeWoMGy{vYGqU1$NSj~+TsLvDc1(Y0cxt9>^DtshsT1^Zwh})@ouXA|u83%;H>J2QP z`>(r2+>XMm2xa!F3@j-ZjV0BDJ!6g3q~d<>ta?;jy(X zrCw>P(kK!;Jc?`5?Tyvs)0u}fTWJJr6*WLq@%zdJuZ`pXyjfjzyo*HhHeFSpxAT56 z$b_9ZebfE>CLFhY>i~h@j@}$P?F)0AHoSp#%L@MfaKGBNGrY;Rv-sh2siFhJ@}Mfh zrUadhXCl>t)-vJkfpH>Z*=V+XGPaw1-s?{Lvy42d(%8f)ol`G~owZ(rpm${cVeUj~Qg(Yo! zbyJ_HZUJ=TR5?|h3gt#vRcUi0wE`8-Z} znrQGk=W}tCijFa6gHv5*R`TUjIe_@sXyiA8l8$j)aBLp;5yhcs>{e(8|-^7TrhF(ennK}(1#B?CLd(PT}@0R#eMX9 z>?Eh;#2JeU>!Wrk+1%}T61S5yzxU($0%g_l&#uOT0r1L)!OVRz-i|37++fK8^_#EB z3kgdog*l6zZRIT~BEg36greF9W<9c7Hd;YVd5=i>&q^FhCvVs9K;=S;13>v<3`daP zGL$J91CVk0hf*fJR*GFY6Da@M@^`bpXe}HHvx0~-`#W_1i8lG{6YbEH>5=kko@p<5 z$)+fgDt=U7xz~2l@tVOI?hl0y!XQLV(k4clM%^BCy3!0@j<0ms^_I6ce(4{c7iGk0 z`BS4+*Wqkm#-V^H_4}roT!c>~w40&y{Ncs8G|P_rdd=_OC$HbIeAAh272lb*X&#e! z0&f}HNd~o6?T98UC3@<*sDv_vvW3cCH|~8Q8rK#VA#SoYVNJRErI#ul-F&Y%j8Oij znaPqB{Qghzo;l~@B61SqqTCYM78xOILJQr#uA{azaxW%Ajk_Cex2b$!x~=3vFxoyf z>3SLQFsgSTCEN)XzC-80fs_2ZhOFYm-RPFOT=AN6dHEJUSb6;Jp!C;hoz$Ab#J+pD zb3GFWXXz7DC?y&ml|xD4FJSyTYHJ3U<)WMEaFGjRZI`;U(tgm@K9vMt4}G_+O6q)# zw34)KPNV2YtI^|ZcGPyl6X5=Kr$F+Rr&dxUGU%lW!!2O?%g}SUOOjAHd(BT{KEG_% z-4B#LjjCa!Rvud(bANR6nPy%~25Cm~_N~jIx00qfcoJZC_YV1CHKUh@PF~Y^bGOaG zf#o_kFIto$yOwcWXK6CMB1mUJd{njunw3{UPo#5xRn->gz){I!$yUlRuB6?%LSJeW z;lp~y@4RtHyO6_4B$Gu=e%At5C3C==tbzrayp?{q&d(SC zRdCFZSP4P$w3Tb)_ILS`TRDTdOlbb$T!(j|I0Sca(1W3m`Ow=1#L2Pv&B)8_9#_LB8$gLf~3}wbT5m^t<+KcC58^_aJ3SLe~XxH+R+-lovo{SM7*p z!>z*^_2-vXbETwyvbWC%OYSZhaKH^DZTpMf@h$IG8bqoI;P`iJcETsQ?%FXAKE1&1 z@!s!5-pI#akJ&;YFA5puyx%KDWJFqAhUrgQXxY(&WR~^$I%`--dVG5qy0xa0z|Z)q z6Qk71SqCz9lZv(SBKH~=h{HU0TRD!Mw4?kpE7tv*BlO%$>l3?4Cq|7KhnPR@KH+~w z6n;gKW~?}K`RLov7j(}AxPE*_eR`2v&l~OKF;`QkqpBr1YCc)keE-t}9%fKZs!#J3 z!GrZAci)^91E45+;$gG~Bgw`=5Z9LytXtmWW3YSmbt|u>$UgW=dK*L(C$+LRvGw=G zDaZzL=?t041G?X-Kl$V?^c?9@3Bu8d6<1S#fl?JyANs+@%`38^dgX0>NAnes zrM}wc`RSM-@j$2hs=X3g8_`8B_wsZPQgDv;CqN#mPZO^dLN*GoCDhCWWm_^gsjOLD zo)&*J$z|k!+JtnuTdOb}Tc{K>WT=0pF#Lwt5uvd8&eIA!{o~d@aDJ=!J@JU;keFIc zl@d;p|C-b%o~zR}_ok^TCFhAxI?C_&f-B0Ra_W#Y`e$BpdubC)oW!YVQ#D&`iS26# z9u}4e+jkEM^L6=HNmS(lXU30%Wn=!$#lkuC#IFw7lSC#?as*4s(cfvCWmt3|$Yc=B zQ7H8ad~%ehqg8u4_eU@=(4$&84^}F_Ck3~bq;*$Z!d*(W5Zx~`eX)S>zqlBXl@wxJ zXM2C$CgU;f=Wz4`>Kn6&8?qUXNtSC%g|x;$Z~8hzpD9YR;sO@}m$N1J1teDP0C6K_ zecNC_s}*#$c;Uu|u{aPw%EjvLEpGjZd|)q1{A)IT67SCVr+|K%2baXwzJ=?d(}Bn* zAv-h*=vP@i6dnEVGXCB6N{Lm{Sa+ZrB$aD#pp9g)cXs7;lwC&$5zy1PlB8g335%Za zypMs8Hk$S-?l;^rvDauY+R)7FeEkOU04jb4dtPjB+bH<7N;rc;weS}@^#4bvNuUj^xOTKw~eQb;t@*nhKxhMT@5PAamQ-%@m6 z(U>FjrvF*rB5mdE)4x^DUtrOUl+Syu(+GWdOdzM;TvI5d*qh#P$PnI#8TUkJ7~|}V zm+!(PuPKHH{+86dkXz*l4`{P|2 z=v^%fE6R7Gy?k-!;_^z{wL;Z1cB1&Q!OGx!v#R-dxo;>L@s&m{ zu;G|Ri?J9=>DHUQ+_jv_@(W!C>+z)6uobLeP7V-h`!}U2*Ya}c^Cqk|6|3EN0>2RJ z&)}RKO8U_~J;#CjmWVAf(cK`B71q({Fux(P9Hsc?LG${rN?A+ApBEZGp+bbA3XP96 zPTN*$o;1H}&*+Wqos1TMwLW$*L|%%4?NaU)hX0*CM=!*W%UQl9fcVIV+}${LL_BLN z347>ZXYrSCKs>z=#7|WLlG`wKD6w52W&5x#eGU2%_B?0VRZ)ngW8X~io`vE^``2yG zul#_=D#Qaj!kIx=030HSd<<{)GvEk~S;q62KM42BuWM?9b2m0F&C+L%2vF;rp20Dr z_(I#Z#n)S@P`{8pRfp4?-+#Vn!zc|B>Woa=M<9QdwwZW{#Q96yMk`%+U=009B%LYH z`RzejRvzNA;rC?9gJ9bq@A{m7+o+%E5cAGUAJJM9YF4jdJWy@>CMZH(_qfI1L^xa+ zOv-C7H?+&?WF=laA1yP0(W9m9Yqu1J&yPkf)Tw*GIz`?wp41Y#YHRbR-^b%^r$qXy zUbvTs&Z+k^mwJ%W?Cav!T|r+$d3tXhHokcPvAqz847!+H>-|K#H(2s(g7)l7W(YQR zVg9Nyj%@yB{|i2yrAN~$d4dlQTb8jf-}{0oX6hkVl-_??#E!#?E{Bw{&?TPyr3cDr zzqu3W@HQ3kIFtT3tl&DLbQZeW&PyUTw{GnCJ4B`0hY{}XJii?G8VZ1y2dR}qO{&~# zvauUkYD0SZOnwpp7s z{3~KN{LY5%piI)i?^SLsd%D?o6n*7j_P=<<0)JnA#R+o}#I-CKs`*-$eFo^(@Pr6V zMG~e|VKl8XRC9pTXwfY1Q2G_c*?&Pv#U-*cSXi;28JqayuHY4HuXsH(DA0}{7o)3j z)`Yg(e99w4dvWa?nG!hZdLkf#*p1+AJ_R7R6Xx_UUiF^Xqjy+4F$+Iw%;*MCL2XVB zXDj(FPXfShZG}Y}O84ue!Ycp~0Y~X9SxZk|i%gQc&dW;|fASaI(yPVXyNKY^@H3qF zpi9f^Z7dFK*LgA-rFq{_&jV-mPg$zG8=v#vVRA^54%utJw9|Oksf7=bq^L4RzjjG_ z*_4|hBKkxJ!|&EB3~I+lc+(nKc@<5HT1m2?x4OB=z(U7Be+)KnI;dP{%w(3P zwbJ(OSryxS!_MW6ARAv^wd)RZ#KsY$fO>Yo=xqRV?)>naVKhyHxp&nH;GqCer zqx^tAmJWTrye-{(T8<%|{`=bxnqvz=S~_Y}?xwdKZ&?c{zoUh>78(|c78rkG+N@Y8 zal(S91i7_{zg|haDvm&(V0Nk;ddETjaWO9LvK+nn-R)Se{h1~uX>PKqgPZhzBAtU| zCDY3Y2-a;j{klydVx|6JjPacL^&Ed-oT5(OfH8Qc=i;oi&y{A9j=261K1j>S&p-ZIQDZ0t-e^Ky{rS87`FJIn*ekg?pK z3yz|Ca=ssx&=G2mV$B@d+h z9{q4~<(}OM+ELZPm4(Mk*XfhuRNUG+ahC*prD%l+#eUb;8ePoHsSY(KXu zEZlE)nZ@xO$77C>*f#}V-(6J_HW_)f7=OX&na(5ay{jUhb-Rwf*?yNQLlN`Hh@lqT z9;s#fWeB$A#l-NK-a~yea8K-9?054VEH)u5eg9Cy8@f;SMUZ~%o2{;cXM@>_#~Olk z*r?4KTNA=~OS#YX?br~4-?+fU1**Qu7d%PKv}Z4n5Z>cxr~T1IvO#qYi*ka*Hw;ju z14c5Il6S!%+v^p^8!p#8lCDUSb|Lr2C9?OHz)>JJD{VmxI;TP*&TI9vCUDIrXEa4akY@;{I$F-|`wB^P(HZLJN>Nk?4lI z+{xmz^DcJ!TY?Mm6Tx*|%{jF_y=!VWKx#MUw&f<=%N2}W^YVJgkH3W3NUg_33=+We zMk(|Sn)F1f7ioW8F~8!saS=>oI2Zb+^=^7)OHa5W{_yS~sk!b;&t(Fs?_%fv<$=3f zgfxB?yj+pb2z+fuK9EuqnG-Z9%@Jvf%3mtJZtQ3Wy*?4$YNVM4c>{X0&ri~Ek+c#V zh`uf%rKg;V7R}OMO-d{5Uu<-5z?i~79nu7Fp>>lsu0Bkj5iT^9S$>DZHjKd z*G`t_(Bw&gdP(l+ingp6MD!-V7y|n7_ma2>O9zaKF|ovS-!>OgKZp_;7>c zj{5;;)22AKb~&bU-0LyN3MfZD8i)hE0U6!iR_JFPk6X*$Gb9!5$&k3I{-oOh+57q= zCo#102Yh@!iTH~58?g&0-|%zR#rp<4)4CtatJ2EbwX5ql%lj>ew+oXl&DXW9n7F!s z>m$nEJ@58(OM-tUPxAOPG^JwZ`)jOmO)hW8(!C9rX?(5B`ty{+kT8gpRj-mDt-WHe(bbng995VHBN63vE*YDVH% zRql^_kOGm!-|+T%AApo9_NlQI58(K_FZ5R}Q!(B*e3fJLa@=HVYN9#TDBG(BooP?GU-%!%Di?)WN8{_W7d+u#LR{!DfQgM3NGX6(Rz)V}>{k5|0m`x$ zg##=VGkN3{voZk5GZZSsRV$8Jl@C9mur8ZJT} z`jaQti$@c$D?Ui6?e?#)$+EbSk)jN}krw|j_?Oi%GN&K%Ap2of`+m-1ecZoN53)Hy zvl@v6(;Mft#*A6Us4)#av$6Rbu!ezI;@qd_)GxT!TWJ`jG|U6dCH)zQ1nssW)X*EP84EkJ}aQ~Ry=aD0U=N!lUo><51nXc=u>8_!N71#Lo z0DJcvjvK67_sfj;tv~gDlhBvUWQEd*~hZQHw-vyOSv@- zN!$)lRY55~F~jt#MS-Zw;aiy<1VF1ZMb&w?kyy=pn(e{LrF?s=B%QsusR})mOOwfX z-(*EsW7kV%4A<ef0{4 zJ0K457dObqnHZu?A~A;%&$-Hq#vcv??l^!B`l;65_;c35`v&07Rhn@PT`y0QYqDlW zKwSPUOdtpkE_B2=A61#82^#=-dyfTPzPT5$&UYLkrV@dm(h`rAS>?t60iwaOjVQYi z&g0v<7jz@&Bg)o3gx){H2-&B`@iY|HUH0g zs6wAnAlS>pErCkE;p-NoJaHhJ^eTDNX%H%pHr9;7Zq$?mqW~C^!->N~`LI43%QzsE z<$s=+;inoG6u0j`F2#)}xwd?0wQL6=AK6wIgxWin*W@+6ndmw{Z@;EHDH|OW*?JdX zGYbfpuA4}J%?gLG>{i30o8YQc^luY8qye#29~ht=MYHUHpC|Kv!@q6#*_=6(1q`?{ z-fy7lTtn0sxpY5BU#K1O(HuO(&u%Y>RMHm;xt>^=r-k}t-`Si=&GdAyw(D*DZ$JYE zJ?3eUD2E2M=AeoGdFVaUNu$L4k3KA8jlUiZWK+3n5GJcDF5;4`kUVB`&c$_l(YKeA7F=Xq~ajV%bv$*Up^%xA) z-UKKwtV!d+w6+niJS$-c)Xz0$tg@hsUjPm4Rb zs}u-#dU4VcUezBsF+Vghhm`i&%W>=3{W7Chx?YxRmZWrHi2GjEe;M+k`9kNt7aD)d zx!e7GDIS2j?~Oov9k&N!cuw- zQPktZH@ihf#SHYM8mTR_2{(ax;DPE>)X(jS50XGS#udT~z3hjeS4&A(Jaq7kSt++A z1)ac(c-@B9LZkZ+c6l*{t%*USlS82U#G6R*0e2Kol0KE1H||~f*KT$xz|Q<<g@Cj98|2f6V{_isX@ zmH%tP_CWW4n)tj=usZH&pMCOJPEH9WVAf%t(%_>T&mXkHvX>#78PL zTy$GM(7IGelL3!j2KvH2YuW}_|JT0H7Gp`uKdxIt*2xh=k2QVOOf-jbZaz@hIC=mB z3UTr%2?1Vaym#C$gCxXFbyTeED>P;%g=6#`2{A0eIx2STh83F`0R2B@Y0f76={a+( z4jl}lO2~vVh&^)1<;<7@JeA|vpC~;C$97Mt{Tw7bcdWM(gK>bLg4SQy?o=gj-7kk( zK*3{Xy-ZI1P%i-t^tv?VAA&jVOh*ka5j3jrpgQ`n(0ID=jNdI=PH6Uy*x>We9%V`KyfWj`@h?((7JuvbhW zDhTKWd@%D0NcZY-AOF@!bHZ5u?*9Il`zBP1Lt%0@U!hJcpUwSCs@ScM=RHKmhV(8P zPA1f*p~Q_5G5@FeMpCgK_4o05R|2v*j{>RPnp6L&eWc%&$>Vm)20B)Hb(mHIrWCbE0@fR~dLys@**%!K1mdk*>yjH^8wieTFpM?d zO#G+m&vj;+(3H`SL8G616nMNQg-TL9K9NW#0suc^e%MSaSIg$~vi(x)3hmzqqVjbB zssR|vaMhe;jHUq3iVJ>Xw)E=}R+nWg6qs{wDC$YQecsIbjrw9}cRGN7Rr0tNH68%n zz~t@5GWHTED*?=kYi+x#z7&AuQm&BruTj4K0pMps{w2k?&nXG~2vMYKUb_vj(D_F` z4hz}9+Uc_?*OMclqa?tG@~4GXuLS&0f9p0nb@uXR7(^akuoPJG z`I5vxru>}0CO88}|M3vlAfQ!OZu|Y~_$>fA02F(Gq5uf@4?18K0odaWzxEBN^Xv2& z;nsu5pvZ=cTDOc?#t2al@+}_k57{K<138ueOtI_YEf3F}8G)F7|4MQPmJItt0Cu?k zPZznLslgSW0d>?Z{ZZUh9@dKqLTdoq)FWlFfDM*#4=~&AW4WH}3Z=K|ZCGORLU)gcfE#vI|z9!$B za|qX1H~>yNY}^HfSxF4|#d#Yj0AjcSO&AH4YY8b5_WzO;CaeGq`#|*V^CMt=BeQy2 za#Yz!1*wNt0&p;ZvH&;wPw?iz5U|u_1u%*G)U>Sif%eLJ$9BKK&Zm3_$pdX1gKQ`N z;=Gv&0n{g-4}d#01AUJq;x~}^E13oq<1}IN_zvDHt+jpod95jd?esre}P^JcCvY%(bulu)Y3S= zLLo7U0T?rYA=y`t1+#NIMu>oq1|1tLGrN#WYYbY8ikL-2pBLBbDw;EJrb}VKL&iRjG_s>J@!93lJz0C8sW z0psNua2m!6130?v*l+CrS30Ep^!D(zZ?r7HdQ`ywfWo7|az=C7hkJ-z`pxFOmZmu1 zHve>1?7EA;dJOMp_~gy-E~*M|pSOCt%U3ucZsUJ{A~n2oRBP=B4R>BUWQ}f^SqJbE z$7)0AKUf;w06@kvUX^_&Z};Ck9e~@%0Qy84^9}Cj!&GMlkjHWyo8kXp>b%36=(@eF zB1Mtjr3pMV5m0LAO+-+t0)h~f-dpG`O7Ez22wkKTln#N2fPhFZkrp770HKFYNWS=< z=RM!KuKbZqW@fK7yZr9GXJ)Mf>#&@wSUL{>n*}jXTCPfoM2z{(XS++WD+`L)c}{dB zX6vGun0wUqLS}AeEYKFK_^bBURM4n?+`tshx_p>#dg5EF-Vu>k-*$u_&wrdx`G^a; z>y&Dp_H0o|S>+*O;PyppiDf=lcS!ZKMZmi4KR=G|xgGjM_VL9KgUPOWUUHnaFiMK^ ziEI?u=gT1N9+}A?YhJIkax+-Kmv16Q?0`=$yydu@-a#!1c%NqnhlvwMy^jUq{`T?3 zSVBkZj<=xqr8a~+FzAy)zK2Ag;Di8(>$k|$MaHIF)HL6VGhe-LS^rLP+zzGY;uOO= zGF-FzFgbxl7_pvqTQAE_s8GZci6!sXv9K!ZN>ENw^7LIsnx!G7j+diF?lm=l$fd*3*LYBilf!^iI*Cl;fJQ`wS44#TSKRnr{}1h8{;KDHrL-FTAKA4b zX%+-|tc9XYPBikr6g0(QwBv`i3;qfT5ntRL{;KI1j(Yun7~=DvU-*8an9B(7+N$_} z{R;yN+cE#@J8}OeqWY$+pFaFAbA0|YOw_9Xp%wADe?_~-@siV3|H;$;!5S}aqJIA` z3SGAT9}}~PT=YNaKs>e1|NIlXt}sLM*R)@MXev^Fin(i!)2rJzvXrOTLh6o|KsX^-RwKjuTvrdO!nbFm;d7o(=pAs z;9t1GZfE{$RVs=WD@0rp_*ZxTgHFKJf6KA*?%ccB((#J?k68Z;Lqg5}MWn(1TQN}2 z|3b@O!29|CkI=#*TCOnj`HUX_WvgRZIWZ!|ik@iv7eVoJM}P6n3qs6qs<55;Z^iF< z|Nm1OcJ_rK(IKmt1Xs<6%FIy9zuLS)XVmp)3Av;wd z`;e;n@1=_exoXXRKFc7^82(#3A$|XG@re{6|1VMthrLlT%y$6)E%;K)-T(d7$G@a5 z=zf~ZSVljZOyuSEXGG!@&fNT4qKq)!mgpSO1UDm!AvgW4zm=wY`!7bWhi`$HK&jP# z!6#=>V(9oqC9#nb*-;=WWv=(D3Ou*qq`j4*j$1;Vh{PGB(x)Jo@ODeHU|maaYun&N zwh*>{t@FNiu+!VNZP;cXD$oaz;z``v{M2--Ji)pLDRbnz0cpIQkYzn`b_ zLpVQuE9L9*b#;005vd1m$NbcJq51gxw0}cb-EsD`wp&mG+qk`6E|VM34I7%PGS}1S zHrix2m+VH~Jml71=;k%Y=Qh%GRpA!lhnaPA^8dULyrb;yU%LRFwQJ&D2n)O9-!W}o zoWv)e%+0AF@CzrIbNZWgMcsm&ojaaiyR(vW6*@-`R+7KHsL`X6Z`_>hm{`)oC@3KY zwkF}&y5SN9{XL6$V(hm?Kld4ac*4{gT5O_SY^SXXgSAxIx_E(5X_wiW{`%U!`DwF4 zTe{z+X*0ULV|*u|8QPw=H*Erb1-4MB@X%f;2znr08{D^xX(OiLNmw8(bO2M-l%AZv z8Z9aBLvnGSoE7)UDm^woZIE`l90%%NO6^#fL-R?3lXvB692Sm>HrdAq#|!ibidTb2 z#FdNBrhCB}i@Tv(Czg}`uNO%|Q!l1A5zUJ~!f4_PEv7s|;poeb@x6{PmJ7>W76d$) zP;r%c3hy8&T@B$=jusJwO}zLqp%ni6>9AwYm|ThelP6F7e*Q?5W@DFdANiAh;QDir zO_rKf;mygrC=z$}I-BnrBuLKvzIUGX9lzNnwH%U1AfM#K>xDp;>u`xvd#--PwDX`Z zGW$Q@Z<6%USUmJZe{UuWQ#N3qbR7MlRz+6BebirQN-oO!Am#z<;q-?Ijat@98c{BD z`J=fa(Rz7X-@&bHX+@Wi>9p!>vvaeAZ`1anX~$Y7NpGp58#!eH{=~kuiRqBsp0C4p zyK^Cf&LGQsG%B*N^;kR~FJB^Em6q$>uc1B1GZXdAwtFLCe3uj3R`sb`eq1vitB{ZF zPdb&q%?R0~aV&WHtZ$T-oTh|74f0#v{&oHUeG2J6`*D!IlB@qTcNF|1@|J=iN1ms(deVF@$VJyx z`QWVQ8H3C7HZP-7Z9c)F{FhP#D(CS7LxL$;782*X1Es0l5FBomMG!7GlOGazh!S=w zbImz?49u)Z_>%E_LBbb3DflHrKQyp1i#g}yPeW!|W6qSzbfMYQy6s4Z|1JaQ1==zj ztPysJ`+8n~n7Nj@x|jpj!gu0W4pUa)xdaXT$hj$FgYd>{TH&nMb+Dz8aCvO~I?Hcx zAigomk}{atgb{cj7Nj;CK0rAw*7El4)(;-aT+zF2j(f%I%rvh;PCuPyhP3_@=Cn{s zm5Kaz6jvIP5e7SIF7-BBv2)AxHERl;!P|+8UcQ;(9=tIKwaB+sw8z=rjIR}PHk_<- z^f6Q$J1o}KoQwBk4h0_Bjhz=SCg4OqnNC`b`SqrX0ACy0*u|t@{2CKEg+8#VU~ynf z5eh3m!=PrX+<{Y|sZnFOs=ZfvP4)vhbJHBJK(<3XUL&)a)16;Wdd$t}#VTHp7umiX zX!vx_|LmDedRn@ok$2(e;?)rCMqh1=b4|O~!Y^O;Y0g*vK6&8K@r$pRglV(~puOni zNvO@wpVdi&GRof$vXh`5IL8$hc8%tfo(}7~yWbPM`d;y(dT!H+H^trbN`1~aWcRA! z(?D@OO#SGCX?*@S=3U<9WOW~Ml^yZN;+}u*Wv&pT!xQixVf9^N1#CPJZcApDpSRFj zkD@~1o?%mUEdz|h&?cs+FLPqEghk8>H}f#mglVv!YL&3A6^QrppSODYb;PbA^h2P; z<_Ws{;_R#P^=f@uOzOJ_bY>Kow8V0<;vC*vr!#dexAl|^IZtOrdZ@~!qJvAy#og%< z3E=o>l>OM#2Gvrg`)-;HW7O%%Ym|5(ZR^gxVUS}+HE1Jn!*M@rGan|&BUAk0KF&bR%doZY15jWTezkz#wpE;J71I+{& zcKP7OIM~D4-xQw?KsCpcf7qe-kJsv5u%?0Z5icE7s8>SiUOugzH9Ww8gSNd_?Vt|u zAfH*Bw~}@w!IZ8e8SD`!+p93@-|KatTueioN4po7@-g)Nw$wLCl*U2Q+0zipQ-y=L zGqsTWVRVAM;2sB*|JwwW$E7Wa)8P0Q0U75yXRB;saHLY%3+_oxD@taR$JHagYt~w&w=4_ z@%CTuwgnh${j-IF`#(HS9r(tQpLg-=u6JRzF!_MU+MB?14qj-6*|!W19+yGaz$6ZS zXnKhqr`!{uVBbKS1TSXbAiz3Xh`rzGTMi{y_d=;Wppkql<)Z-1#mNYlEy;REhXxj{A$fca$@` z*UWyS6n>*_*n82{pBX2o!)=(AMR`{mIoPHjGKiYWj0y}qnY9g!kkLg}>t;qYvU$hK zJflXe_q)2)COTqQLqx5Zok_jF%2Rku*{Y6PwnZ7!0M+d6z_KPIWDV1x z+wA>T%h#g*jxMXAv*u3D{D;@wIP>de`YmUloPY4Eny*<9ICailTbbQC)OJglhc58Y zIKEz+n9Vz6+i?$k)vnd~c|jz_QDN0^=lXek(~Hi^^Z`VJ<)QD6)uHZ=+IdEkRc8(7 zr#(mU{?mr;Lz1CS+|F8SeY0NY713px>^FxMd7NeaT2n(98@_Y*+Yc`~-6*&z9x3|5Vmfy#3R6ljlZbQ2>l z7w&WETxVhWAj*WG1TRXW)i1gd-I+gV3oiojTr_|#In`%(7JQZGkV9xG1{7CAFbyX7 zr+Ckpo_Yv*Ck^nLet3&lym;3?`@8|7XXMz`VRb1o!gU!EmqKXrb^p-UH^;tI1&2UM z=6F2rYz;5cA}k3n>NH@qR_~pbxZen{>M>aZUXgRqAR$}RDG|Bf#rq+XOsSZC&HCqlz`NP@Y%i|usQ9d)&N2rhj{qQFM*5`~U|BKwO%-!nh zK0kA39qU*CTpTlq9a;Ikg?`g+m5EbmU!bo_^TK+VJ9rGoxlYLC9%{E-$%l_&|Dgm8 zKJy#VD(lRd*V+B&^dqy}HIJVN3&Y;%>{o(yPG5qN4gEfIa&U5_ocKhx!$-QN0*YiZ z|A?yZ9j<%Tncaffg490H67z_bUE6lG-JoM@W!n!5VI4f`QWXc_Mf~Fo1*k{81%bDP zZLW_BWR~mtwCVcZ4e+&s8>bHKbDE(JmI{dKHg{rpoj`^2{ipu0h*iVGn;5Hy1g`BD z_0C~qftu)pGa(-P!p?vPCsf?0(@DPQuTIr-Bb=)pZ&)U|?_y4{H|K`Bq|?IerhF%- z&Xs=kgR_>V!P!ghDm9Ks6l$Er0Y;%`x>ip$Y=qkKlX*JB-IGWa~ zBy?oJU8P%~eP!(&M4WzmX*H9PtG!;97V z@$P!FlJl5graz}Sgiu`A_0uq~fZAMcVw&;OxWL^Ot052;v^sDDp`w9T zH_6>Qyg1)&Sv(AoEm?Hy42BdRJMLNt>V?I1KJeLNaG+ecwDbX@DHp=Nv9z>;3c|85 z^n;Fpm{{hlZ^d9C?1Z%66!ANYj*1TZYAt-@KMZ3~qZiS}tp+%lN%<^)U7sNL^#BwSK0PlNh zNpP{iYYSBSn%UGS?E3zmx}-YX6`0RopS z$lWs8@i+=e-1YF`By?IfEN&drDG}Vw_AYk%i;s74M^x@e_U(iNGLNM|UHJKvOi=&E zxp_#HLIKs1g=_PUNpmM9Bn5XUzy+VF<%SInL18=4z0@RkP~fTCBQ)DZhkZRJWe$h% zY98{zCeE1&a>t+0GH&&OJi^X6VuqzI^2l*R5Lso{4@`A#t`- zS2W<>`86LDA#o~KO@jR`aSBKj2BBF(!xC%f@+D5sPwCJ6t_XW0FBZ6cPMe21cJYWH zijkWLo4f%>f+)AQiiZ#H1ebR+CgrqRn`-{b3u%>im5uzqz%A&1(ie#IIq91jo+-F7 zSui8oL%!tagBL!dJ=2V+L>FVYd}ktEPs=Z1AAiAk_F_mrmMu&6Z7aEV2BgfnQ?+p6 znY|TS*l-(O^Ps!S#Gujbgt5TKeJR6b)5;dPj)+^X*WBmONR`3w!vubn+sSULwJ{)$ zX~j)0czeGkF}-$-B5u`+xN<{-J8qQ@QgSci?f_0==~_@jH!e+&E^wEjd_nM7q)Kfd^XcP6 z*_Fb%5p@aqg7)k^Qio+pKhhQo7(OrrN%H#B@D;B6r*VNP2SKt41UOzNAfX^`zx9q2 zQrQ%wR`KcL#?{&0m7C_}EGtMHK=E8*dsqKRne#Hx>nw?Y4Pyxv^GC`$6uWcywO0Rd zGgW_b*#Z5r_F}2e(LXVfi!gG3{<04~v&$=--17V%s6Yued3Z1A%qm>83-pG-w|m8Z z5x5#5xNupD4MG2&3v~B9>;71YjseS51ce10+xc@GLzWvH@WM0YYy}u#tvrpEbVU$w z?)ZJX75VqOx>d?$u%`sRLl%kM$hna*c&K~pR*w}lVeGfy*Q*;67p;OpVXn6A8|csN z*;*=0rzRa^ugQfmMVT&pe-SV5Tr8m(~oAq6R`4mP+D-oZ?0cUuMGg6)I)GRw0{HLUHxJg zpSb2XHj+6uk`(3YQO9)!31kd>TTjevxiG4fk_+);>%bRZZia9f6-W*Y=Pf{AEBWUX z!0~oBS>7(_^1Mah*Yb8q_ z`!pddK*X3Y?h>2VdjkDn3IT0~)Vj{YwpsyO1eG)nr^_j4%*-X&czctB@ z-@f4fRMxL0-a02&a4C*7O4m9cCVbMGX>WRoO$zH+BJ9Dca~Wya#$au%BGPn>HibF+ zan9=T07u^g@gZ_>=6ZE0FGtPz_%3*UdO!T&AbY+$r- zWA~XVl4J|#qsoiR8Qm%_6OVMh`!arZLxZ8Qa7xp|iZx8UoROf)ol{O(BQ_p7wS4+s z=a^GmcQV3+g*{Yy$>W`l7s9Ol~8CmG@ z*9n5%htU@u>V^p2ZI9NEYxIi-1Q&Y?d>0_Ado}rxT5vaB{ z*nYN6LAX^e;0_AAt*My)hYf$dTtLP~Q`)P2gKUAk%bQK9XK!d7tx z^EGL9Jsv?!}0qq8;I9xojRTV}}P zashR30P3G|f!fTOSawzEF@t3Fd5X$7_EpxNq@o;0{yrXes@`)x5Cn9qGS1KY2I|BB zqTAPhJCIfqt{tK9QkxP$9#bBHHyM>8Nl( zNH-fVi~OR0W&)kQvAm^N)bNMFqB&c-%2S~Z)7r>-%T4N59e|4RUb!&hd#lwZ-?zsA zl`odz0Vx(Vq0ikTchhqVQwE2AoG;sH6{NjhQY`X;&)WP4FXP46^m@wD!}$Ggq5H1<r z7opeqh$pU7iY254M`9yh2h%+($9BIW=45|yw@hi1!%JvabN0F;$&M4+(RoB(%Vd*k zRt=q{F6~v~*DuFA`xd<+#95TyJz#Qo3>Yq{=alSsb2y+}K)_L)Z|H0i|#!7K+Mr3sCvMKsQWg)~mwYWmIvswxwD z>M96j|7nA&NE7EWi1cJ<b=PXRrD61q1(6^br;yGV-G+ij<) z*=@hs@#9qF3H18ZW6nj7QA`LJ;P13pFbY2V2dRDcyizUq991ZLd1G|FGhjos^RXkP z6@5dVxS7samp>`7hK1$Noq2aD(u))J?)T)S`yEe(Pf%6fTJWbry(}dO@m;bN8akSa zk~G+SW2FR$NTWWOijicjjC){3($ig-!@BDd84x-CvGb?rx1v`dD~2A)wAy{?sCxR! zxT#M2ScIzd*J%WYSKRnDpiH%&g6nrMJWD$)DIkDqq_DXj4idcGD zI)#ejcbdh@Ww$$-zDtU<^`%cbgt{_Es zzN5Sr-BJG)8I8q+x$qifjJ4ZJlR7-Hoia$yogJr=u0!wxs8_5nF5{TBiCyz#k)~!% zJZk!6FLLoaobupUXYP{QXBa3n{EFa?-i~tSogz@6c6EZ!Prq;8N-u^I6S4S|vf)FA zXDE9EG2n4Ik0OBS6*&ZCy!ntYG0axw)3SIz@QY4I>w-pJOKnq#zyl~rPd?_3mVB}a z0Lwur82z~j&tgGWTD1BG@?!)EsS)rU{L9jbD`;2t7oTVX75ctG&K{U@Sh188zv8(r zVz~rn(JLC~$Db}gFm9U%-x!uC6~S@KA*f$6xZn!z0jqrS2>(FnOEFgk-7|$pGGKm) zu8!=bepjpICMRAzuY@KYrAJ`vd0k{QzoU|HCMJYz#i40EB2ZU@1WweBj{g}v2E@&{ zXNJedavNV{5pF<~bPD#ZBC(&xN$}4+Peek05=0;l>B@Tqs$sQq#x=YO?Q0zo9QcP^ z@sS;TQp)S)rU>3Shp{iMb3G*jTRAR^yAJSBKL|mkXocLUjMK-(#i|%zWUJg7)-El$ zOkMtCFyDM-dJnI@=>*nAJEWwCZNhI4n;Pgs4iM_N#&HiE;=5ec5d=;R*~9tLfvb*S za4raUI({2UgDxIl#8EBbsC${{93x+;d!159J=r$Bdq?U$!#f?i+ftg4aw*}_J9@92 zj#WW`0fTwt8=|yUr41&9OpsX}C{@FI5EbLd`Fp=u%>5dcjcbCWm2nsE^vkyl} z^+?JYhi)v;5?*W$y?+T9N^hb*dN-ltRHmvAAof_Qqv#1ur)E`o4ojy~RTV&mPVh~M zrO(2;G`2rBNqXyp-q4~t4TL3bXwaUT%HR7yD##Fzk$T8+@KC6BT2%%`XJAqG-Y`~+ z{O3KcQlF4F9FSW&f@I!Ht3>7F$a)t*&xo*j!;5m#akweaoqek}RrMatfvZsd4#@=V zNEGTe)o)crm4}pG@5g_9=KxTq)!z9XQLnz)rg|N6tRqWyd)f6J>OSRz$1u&!>F?G6 zf8to`|3(<)W}tXUn!zWNu1qTw{^E9e@q;@01HIA|a+9tZ@~NKp-|zP5t4SZY7T!Dn z=@igZ$AAooPx2>u0*!+Hsk@~|%4quHO+83jIF!Gxw>2lNlk3lIv~;P*&0X(Wfl?3h zrmnzen+MEEf0ELCKTtc6 z<2{o?-7IGu=yIToNuQ?Rik!Z~6%H;P&kc`RmU@p$b*kg=q7)iFS$Z}+Q`?}sPXTGt znIpG~o}iA`|I%d>t01()95N(_Edrn;JOF6;c*D}`;d5w%!#)54G|)Yw?o4P&8Sm^m zUH&Y>$*g$Y0l=sa>q?<@5aDFP-5h>eY7;KFoEU|=5;~JZ#f~3z=>X((1aInh4Md?V zh0pj=+Bz(xBj3%+8-xOwhi?nzbA+R5Su~`--aq5?@!b#J$XN z4zBxmd-~El*{ey=NmX_AvZzI+Pxc8% zBubfM@upYa*_T+Tagb$*B*3>QXM<~zW0tRzR7$jyslg$H-4S}`H;O#qgwQd_%aw>+ z2^A$s%D-eN5b%k}fBrNoEPs^5S@0;*MBpeo?BfUOt4BrLM@H&oO&6M*V0wvVT;)-7 zq?%_~3@S*QHT+D1QNQVy*)WZ+fIUw}TsNJIfo{X|-_cDv9Hee}0J1Q16u<$m6D+X) zeUr5JH-q54-I4|m)MLP=&LzKI^n}&syB-c_Gj1#RYLKEup7eN_^QS@RfGhyc9#v@TXofOE6xTzI2& zHe%wcAdR{fE7fnUB@{{VH!xJj_;u+=p{gmAVp{|m z9W)(fQAh)rN;H=mgu3_A#*qdUrX#5yynI9)M;d7Kh-^cmq0h^8v-frkH9(|VO5~`a zepn|aD&Ke7%*k(~uzuK}+H>PW{STe8Nb2r^7xJPnsU0fEH;XctejCV(_}m(KSsR(329<99h45)Mtn!g5MCjq zv4$WmG!n(2yTR8}m6j2y{Jx$!-hXaXy9blzP7zA&z{gnNrJf!ut0wLBdV>))q|+SP z83}41=PZ&Oy;OH7qKOo)*>hLbPJL#z2QSR8m^iIYL20hZ33|i{rg1v^smTVy1 z10}ZP2aGXi#zM$Ejq4i+28s~>!j{}9dOA3H@4|z$$TN~s?&wd;kawss`nDSfS~~jC z&OgrY#JB5g-0zWLG<{soj1o`Fr?yidN9vk8FTiU2(*+_ zS~!nVmB_o_&$;3qmJIlM(CI)5>1b@~c!7rQlEup);Yr3}aUBAKGa1@ci1_Rss0S{5 z#W#6l*iNYSmw`wRZv~Te_9WTYFO!**)OylFyW`rNw0*)<|M-S8L^|^-S5TsE3guU& zw((F4UuhZLhqM_evI`!oTIf4nea`o+jX?zhDr8ai28v9ArF`zxy-Jc5+zl>9WDs|q z7pW4<8#?WRRN)gEP9vXrJjc^cbbf_Tu*ZuiIRQ{ULbXSqU3;$5?Egs$pRjWB8)pUZ zr6+6OC3lc|8SkYn7u$C~=^x#9sYF5>e+*bjUl-7gmNeX4{j3N`Eo}Lj`h_RI*vEPN z4q&3NWjxiMC;xh{biNe1yoeJQWah7#O!xAuq*N+s|B{O~=+5b3Ep{z@*QgxQ9!%_Hx2Cjp< zrTp6L%heGmNsn=X9`?eVKUocI2Q@k#&t`8pFfbN`q&D#)t9_o0TYB!kLk%c8v7;1< z&Q^09I1d(d_OxfOJFqhrfKzw1V3wQ7pN#;gY6nO84Gcj7PAm{;QNTCdpiwz&s-Fh< zc~FlWA@u~{5Ihdt5ZAthNJ`>9gY4D4?4xM_4qwI%&YaLVV&k_uGwadTN$nJ>kG+dd_&PVhB=hBz>5|%5&IH2s!qHC672yoZsgs z4hewNZn(UI1fzrZnJoHwG>U_ounZY7fOIdbPSb7@e@}reIzHDvZ zIF|dpGiuCJv?n-im&S?&tu3T18jZQ9TzItUX$cq+3Kg@U8Lro%iNmC{s4S%fH_)HW{Ufv|%?5Nif0PgztO2Gh(;(bAO#tCfJHuk_ zyveMo;xED80#aFu6ne1noB@rcNrNCeZ)QkUVNQ#DAOK}hRJI!DDX)I83Q=V9B1Sn##V*;ZN5G(7mIb|3096e0$Z*^NH$#lUN`%%1a0I3Ejm;)9cW-dZVY+Amqz4vB!$qn`x_2 zo&v-rmK+$XSN^!uz_aD&F{ngcU~<4MqQ-mEq3jIigHuh_lU9vA;|p6#1fXg#z0K%V zdH^OJnGWL`CU%WyND2q?m$xMY8Bmw$ySm6bp^AZ&xKIOK#dO$|T>GcJaODEnkX*^9 zW(Bm-A@xSWz^R6cz8EncAdKPS#i7_n=_+{Da7Wqn0Y+r*jFL%Ml%Hxk`{AVD~^ejdK$TR8HO;NgLHAI5M z#*>2^M_eCs4V0F-##ELw&w_j2MG{oW1#r}y5KlIFDYZiR2Wk|7{W)t z-nupVRGmUzndi<E~dyk6{Hu7?gNq2#YH_6=6X3fG($Q z?JZ~5`Te*I_*s?b`6T4SONC{c1LGDybgWnH`ARehA#v9P)=63m9iDI;E#Ag6$^Rj7i7IR zJfsMzR&KoKkkA#t;RLx>vi$zZocmbU>{MrRtJ2cH&ZAi8D-xFxLb z5@RRCe@zhbN$7zYNhd$_@v~>Zq>PN}BsbAOQFHS{`G$s7mC?g;*SHKVJC_E<`*X!> zhBI8EDZi2(17G?*87%oGV$PK*`J$4aE3R3`Z$AC{7ZbR_4`+1)A2(nNwD6b+i~+0xJ0e|IK2kb;68eh zF@0W>+0Y3;E~zH>6gBzH0e51W z;9oRKs72*{Ha{SFsx8n(kX0exPO+xbri zAQW_Qax`+0zZo11|8j+~eLn1{RET+3L}Ko6(y#dG+;|->2_Cdi@SOY3P39D_LY8t@ z(Pe+R3wo!P1J}LuEQ0-xljLXgha!z9RN3;jhz}ha`CQ(%Ph*M_qPaLPdPmpHg6qYo zs-$7~{i5zZsseeKXV1HB$ae9z@64hDf|H3&+HP{&P&ToGeUpKWmH2Y7{V=&4+B@tQ zn^f5Nnc0dJ7vbbA<>%tVw>^E?TYg+8= z;OQEs88sn3cJQeP69*`MWUEISQR~$DWg@4>#jkqcb-VRWjf)5ZXwlxWn&L|$leqBE zNh9a?Ga**-N&V-~pS@B>p1VEhSWS#P{)HVdyLBq0-!FG7MItBDpsW1evLsXKz>i37 zHfic82f2@8xskPo9}nKq?p<=Ji1&~yqoK`t`*Ps+9gTt!+8=`R1PEaa|BG4k!2L^H zCE+tG^4?v-R7yZtBm4|1TY0!*jT0Ec2dn7H)Zti1LKX2sX`9%#0RRMYobC%qEY@dUpTpN>nij`$pJ4=rCp_52llK~WJ?3D5#+n`kQ9-SG_z$=bswjTFgQ=Tj z9^1vc-uL)K=&51@imr-&Yjowm91N3qo%~^9O-hagI^&&T!IQA61B*W}k3u-Zrk5I- zq4conW#3HLi`@*Wp6&ppa70PKP8a48>;!cT0AAYaA4G18L;F&}A%{UoYxf@}@$8$Av62 zz@x_UC1$Gxn|T!b$mLIL?Z+`u^L}dCc0&;+ZKl#Omz6-bw6Y4J)G01xlTwGDQioe` zFwnze4vB0sLpF7H_;q)<)hmh5&B@Ho`F(44%SVWf%=zV@b+Ju(>u$N?DPGctcBG~@ zor$%hA#9dKr1{O?vCKg$VkbXeZ6~!)Vl#-}kAGV3xwVhEG>^^srJ~&qn-*5x6wDLy zO{*F&WLuC+&SQLl9|=!_3_qLuB+NUHNj_*cKdR1M4NR@n9BGrA(rNSBSt;&FJS=AO zf}Z%7m;t2(#pKa)USn5T=s>I@^gH%8s`%1`mSv$?9csQ|OxdwDfxMG{T%6glk;RgC zWPjYsVjQGo8U&JC3oKLIdp2@8p4*j)yfYjyB?&xEG*!Y3EkRhWHiuL%N(`mJ4VljP zjTWzb7IfhC5z4cY5>njQ7^=e=W}0+b8HeAv^9feoDH}lsob1Pxew1~$8FAST)K!GW z$(l2GG<*RzR+zeN8RrH{I__#J!Pt(DijhF^jt;L0CGiF9MIcbcqah6G$Oe?|uCfo9 zdhS6M0dp*tjTiu?p^rbIlN5%qUjmVLMsk;vWV+eiGEDQ zkQloT+1)22a~pxViXN%5vjQFsLqOkp(}itg!kre$a?v0%s}Y|PBrt85LLYcA7CaCY z>F6_-Ajbdr)F#yWXt+)JQINyJMj-p9rEo1ppjKDH1u>`VnrQ%{mF2jcE-5HzZ2#_9 zWY)4KDX?KCp($W2 z0*Uhr9^*r@rUcZ_t^@`vdO*=T$Lrq^xr55kwvnn`Y^8pXBw$Ii55@*t*YpVJfGsCo zW}rLP0{fKqT4ZOvJR1Bvw%UQmme330Wo7{S4Ci+F1CKfogQv(Aw9+07ZMhGlL^`s- z#>9fA5`f3WrX8z8OQzyFm27!x-&iaSC1(ejq)S$&k6=0Z{^@8-V@dg0W9gETsl&=f zn6oG}NOx%C&Q^dS$b(E2R-TS{CgL$KlaKg`oecykcr^GS9XVmnG<9kY|G+d&H?GafG_FO<@U70sWRlp-eHoZMi8@rjEZQgD z?ltZle@h>r>bKd#1mpNK`sFM0V(TrS?tyc(>0RgM{xW(0OuaCA#hG(2y2bOpNSK($ zqbD{y%VI{kFmyw~6PV3#&5j4`0Np+#Fv}L8WFM99KH87}4~%R&=cX zoV1?>RlHsURcMTz8pt*GF(ytuZ*SBR|J|HzB3NTu=Y&xXu%w2KFMHpEJ}YuvY%Yb& z`d9wmy9DCILp{16lxqoB$b`LlxB*b*TEU_`E^V~ISF*+lGd(_xWAg%9aII$|)@l7U%H2bKokkHlC|M@CbhE<&bW&E-jV!4+J-5q7H0@L&EEn19s2QSmV&YcSr*F<=FU zIj_Am9y3OMjv_%1=O}r(<9~3y@V3{>&%(G$@CbsZ=PUh`?1z3AqB0AkoC9zefCGh^^<(?$x)ONnz8UL{>Sq>Cy3p4^zU4N&+>L00fem%%o<6Y znZOFHuIXF7T61{*J6lfNT(u;NvsU7AZRq!ow35Ri>=npycz%EZYZ<&mSl(F(;?u5; z{OU*%{*a3z;{Ck`H`NRV&37D4oSpl3TeV9+&cKc)%k1lWt@WQ3D8J9G*7;OX`|E+- zOX=KM%h&Ig$yLs0^zl@9Qale{lq{r{PLQ|c4@XUhq@&5txXYcM*50^dxp)2rDLVn@ z##6PO)w476X%`_2a|VrV@)hD+o$h61FifTvw5)x?C*lfb}KT}<4LS+RMTRsppgFxC$sxA5xAJ}4tLri7Mq!SGq@1})3bb0edrq?|@ z^X`vsi3;?wRQ9E~X~KCI3^=)S|61r>PIW6|Y-7dt=L;8v{#IAOVuMtJZu=L_f!D6k z*AJF*t>M+^Ix;2l+Kbwq>HImF$z2o2AZJ?oFqE&@ zTI}9z-y?Lf=UktljoW`TAFct{u;SkANDN19q@k6XnO4@gvtXjQFB>60(%8D-+2lq*j? zC9MRHA<-~Jy+yC<1aVGo(UDX|tD->^8Hj5(+TZeIs} z()&yo!?ZiW-fU&{5_4W@0Ad|XZOfZFpzyY_;E;UL58rP2n!%!`zr~c?qg)s{c$KDYrvMJ z=~uA5XL#e(7MW*?z54R$?S9*rpAd5Pt)HHe^jro)?k`_`HcEHDS813+imVCw-4fAD zZ_jo;DDB}^p)~9#hdboXiQ$w<=DEG`QkVvN+m?r)!xX(l_icqXIY$Jgnily^gU0j1 z7>*~sdk89sTT57jS6dwagFzGZm3OJ*csEWHsPp_sW$T*E&_?2&566c*(kVs@XgS@q zvL3Cv=g5EL9A6buGMvfwB}qgr>l-Dy32BH9|J*U25XsWW;deIqBZf5W)v6QAHDY>f zLi7Bj` z!^S$Vcfh)FK3BGd%~9I_>Q~AfG1dT}cAmB0nwu_i+sIN9w(-JMHLvTw74LM!{bcv& zoFn(fFyUK?r)1epr9fu#Eb2}?dYl$h!9*%ps&u>bJ(9CL& zHBj;Kf*%cza~2TTsD}mXK0^gwym@;qvZTu9kR!Q}k`)#D>glVhU}}wcY+WFVbvgNz zznsmxj^j4{O#vG*@|Iz;2P=JbO7@Dd57s+hA(4+mZ%gx8oy03k-D3C>4}ECG;%-JC7sxJsq&>x5hSQcp;B8x0fBy zites1$m<7s#r+F*RFnV;9Nh&6_1!C}B?}V=2a;kBUpsjI9yHbQJ-|PI`)&md zGB^DupF8W&>c@iCO@s@NHUyFtnZv_TB;pL#2QUA4T-=GrINad)E#NsZJu;nu4f>Em zGjpfSib_YK%!VtXg9TN{*y#1<$3ae))5TYqU%G>wMfVduHT_CF2lG7FuiKt6OV{@^ z{*hsgmA_k%yO(&m=En3 zka>NVVmQ#^TK65Ti0icOGFImiJ|kN$7B8bXB`hE#7%rNdwwu2&y2*Gi<)ho&dKGcE z>V@mnW%d9>$ zx{JMT-^&Bf%U2uy5V>9Vj@Q~ANTDv)pyrw(BG2iQ3psw zgPV6h1eWl6da;E@BQ$yKa$iLJ;7t(WxT9|3>@JcJ^==&hqiRX{diXe*@Uw*AR#~=p zJSp@RXKG5<`MzkZ(tpL+up(qxbOONDaC_gS7=z-h4A&)FL+;6^s>1lFIAuZE6=9(TzVCEz!Qplomb+ za9jur?fm(5`Xy`H-Xm-ASG^CUHjN+VtFhVn<_J@9b@R4o`6G&5cr%hk$PTNoy8}xB z<*lFJHLZN9VIG>a_595v<~-H)_30f$#b5V7%Egqd6y|NpYezi%GRjPsvvmPBD;N|@ zcTTCauO*7`z8%Fq{rE&vRvVI)$B!ddzx(j0^O++zmD#iZG2>z}@sRIoG5pL743Y{= zd~s9xpK$&gQKs#fDW-AI3+852mY1vIXGaH}48SYZKxmtjtbfFTM&L9^mHPQXZKTAD z4dHtU-gnf`Jqx04^3b!))7~z#YpvEc6_xFC^`J@MJ=6Odf92lxX&hiSNZ67 z-wKWvf`ldeK5_R-@T6ssPTue-aj7ycx+_nq=e%I|)P%~YtDK{`E(9q1&PrS4X}wkL z&dvST&DZ|1nY*>>VOb9Bonm8D2pi9ntr4|0(nlyssC<zcRI!6t|n=jNulr;tEqu9-(vuWm0#sq5te3)pK*gO{Iu)m&ADUF z#~Ed1yI!!^8VLDS&^fZ4*PS{tEub#O!u^C&wGsjPrJRp?|& z*i$w#nR0!naF8@DYlkVU)-digG@pa`XUsxBlKF?4m0 zPa|j43?_<&`rZ|V`{P7%Y?=aN0$rdEAmM_Mv274(+Cd>0(v?Q>xY}tD)X$3q;}`2z z4ii~rh56zbSy;AVr%FO6RIij^h)$PMi#TiXY~Lc?1Z>kYM%alJnDZOpqXO`YS7&FB z0Y{_khk>wR@>vriB6{{VGliCBe+QZP(r`y0s6YT3>{Y2B1N? z!%SE~*iXETio1uR*y7WTg$g6dE!)Hio#P(YmrX0l4%(S~!7@L9lNfDIm@7i{@cc$d z4EMYTE&&MA$2WZPE~}P?UesSU`xtGiATQuFU~nhVpl*%=>>3d>oy1Gl38G;I;4eUL zC{gJaK%dmJcnXKFC+n)`4HSe2-Ubv~1TCD;0p0RU&qe$mx3z`{?6Cn~R{m-aiT{xn zJlrO>&_QfyPf|6iO63?hn|GH;F#~!g{0wtcue4uGczGL;nA1)eVU3M|JOx>L4w5l6 zq-9;dPlFOm&GY744xaI`L$2jzk1|3{EFqtSFmBvV=j&OGD+G4-Vo6B`z%ak3uu85` z9EwH2aN_$pa|LlfPJyH$ z7Hm6y?!?cBEV6J!pkW=3XPru-B~5E;xTNhuxjmK&+>nIYSd8OkF^tNWLuot3g+5%) zX6@=)jf-%w*0TA^<|>`1bdIw5$>!z~R_?CXg#iKL_uM(#SHNUG?;0}nTCT(A6eSQe z(GxVnVS6B4dMpjyZD*wPaTJT#N^IDjSOvpc=w!Vrlp7v|m*Y$;9 zO#C1!21RL1!qC?UV}^4?k;93>QaGQo2`tUrQgN7AdDsxGOE%766GM`iQtMb!>Eq{! ze+Ly)YE~#S^Wk&A$cBauw@IrhVh)tY3w>av0|P*{ms zvK%%_^KDqCw-W`kqLNg7i zAA+bEX0(KpPY0L{)ao9WmOq43C#)VgKJjKw2$N!xVQe@R^3swdY$)TT2fHSqTOu>Q zyoA!jWVnXXqjWTNBy|+?;nJZR4pTNBb}YoEgpKd0{X%CNgMBi-(=J4Hf*b`YAZs&P zxAPI-P?wQ1Xa~bW7rLnOi!}CGhg>2_02$u9NMQsXs=QW))A}JLPE&#;jUsOi=vvq9E{S6hA8nC zYJ3!G86wNH`KGP0Wg;PC%9K~ z!h;)Dl2|{*yEl*qs1r|JQ5XpU%&kYBZInq3uI`{s-|{9-;AqoC7nft0kzwp`mxFV{P4i4ug>)D1Ghn@{%HV7BPVCI7s#z?qR#f`88g~pMknMCnYEX5!eRX9rS zfYuVr7!1khQS}B{nfhq$S7<23=hoA%d$nFV;CL=^=_x+Ot*?}yJ@p4-uy~tR7L~b{ zPHSknl#`CtKzdxI=&uB)+@YPk_+k*H9l$i1qf`whfvC78jx=l=Vo|h0W2_y}@JW54 zAS82Jx*)(t%1d2_bc!Jy*o}+k4Oz6|=ojqR%zfLvt9tq>U8w|m0sMYECF5KJuS1Fr zTF$54k}(#AQrlu_F3W3>YPA5uH3>v6##@l0Z3^f?o}`fG6<`S{Ubj!cqLB#$oA=Q_ zzB#J=D=8LDqa`IwJui4%xoCJasl#Vya-t82YWSCx-R`VRw~wkl8M@nWllHkWU`T=#zn# z9$><0k&ci|2}iDqbqS5aXUT>}5O+rW5H>9H)aAwkaJv{Ne*35~*M$&y48p?;tF#WSX*5}O6SE24Kv+yBt7T&0+%YzE1i&RWWbz>n>AB{5~3ox5?6XsPXleP zqNPF%QEz(b-mA6~yAsILpn3+vecCJnA(NCdxdvXQyJj7B%*)!>5M;jw8Y1m$v;raR zYY4LTHMi6}t;5}Jy|}KwXBFvJ)hr+HW4W*y&oByEnA|VN)24k@&xH5ZR5;V~nm8Z4 zUQZI`kkd(Q9U)4K#eC#;O>6^8R)KPll6XO!IieVh38kE|VxvGlIKnq!6r7L9by%t` zD4oY%4Rfd(+FfWc)O8w97FeWx=CDc!CBy3D}kCTeol+|X3pOw&Ya9<}J25b?}eOVgDQIPnWl6dIp(-_z|M*bt~_ahwFBHR{Fc z;MLj*lOXkI%=)^Y|=d!}w&t(HH<_Lk>i#H8S z`eHSWY7zrGn`VGKqp(|fUICNP3QiAOg$=VF#WYzH4S-Rtlle08n<7XQspNCsFQuyU zY81}4AaoI}TjMPazE;jIUt)CvkZbV~9;siG>cx_nFw+uPV})reN?7Xh5*m*AFpU}T zf;2Q6felq;gF9TerR5h^TR!@Qm10-LU{;FrtE3P4K|uPIyjn4dz*hws;Bx?%Rsc<| z_+rB?Q4E7sLLaOsw#kQVge~jzs#c;BWfO{%&5FZexXo|aR>}X@7UimfZ!sLU-c`U4 ziN;(2+!W#ev2+zf!+B42#cP(3Nj+SN(eBI2OJ8Qj#X`Jna&Su-XUDC${Xu7giJLNZ znV~Ue@(RuLx5kQ<08Xur#36c&At@Fk#CS$*zS2wrB`%;`YXdVt`(eJhDUkop=t@u#kOOAm?r<*G5o?sSEJtOA0t&N-7 zH)xw_*Pu7M$>-#ZZ_)V2H=!H@RiZ6~<368wR+z;Q z-hK?WAZRI0jcTT^*2}P3Q27u9berO`-crM;Pud6DqFDc?;z)3iIhW-bCW{sM9=H01 zS{=2rdVIrzFjyiYRu1~Oc(&>Re9gZ{)l%HnTNPsp@dHS9RO@kOk7GQ>Y*>yj3!1FD zB{he1E`<77E)|ad<5rr>w-eF>f0VRoczY|McZ}1{t-`w9oVc)}Z!eiv!0qL|B}v#H zx0mvkBz8~TUeMc96^6r*0-JQ3Wc$ajvi{CP+8#dir#(6_7$keqjywX9u3Ech~ z@0FlznQVmzzB4xYj~l=bdv>OB!=90dW(Z#Ih*_W~FTyz>WCadGVAFSJGjg@;&9`#L zA)(I!OfI6%&Fyza(YD`-O%6MVfL|K(gLX!jaNLW&aZ<}+wP@yQ;NQ-c7_SW=3RYas zjs#d{A+<$A+EI#1nl1iMxZwzmU#FdXbFH3#IK+nA;&de53r6HRN2d>xX8<5q96&mV z7+V~4cnvegsuKUyW0VwKQp=|}lF60E3mnq~VrEdr(+?n+=BRo@jUhtO=Kx_fxzRL% z6We_wq-RNcko%#)mWm;xhcH!Kap3}usdRXG#O4( zTbpv4mo^=iHZ7O-q)t+)@{S1qrFBxouIMt=wV>It=O-Ri^T)=!Nm<1EigKGaJ_6=s z*@F{eRvn?N!3zO&%}4JMGQI4@EErD|QafEV(=(eweI*fD_d#@yxZP5+6pS-JkT%weRisA%7rV9$xWj45)mfByE9~R>qZ-|%fu@$ zn4=mzZG-&hiiZ?&BYMGFCk|x+R(QqcTFrFh6I< zFkgI;DfRU3A^DD>#iiy@(w3z4boYja$acfurbmQIwyY-aElD-mlbU&RV^uH9LVb6W z4ijC*y=s<^y9EX55AmWG7kG)E1ro@#_DzMiN$DM!v6v94e^$EIHJ=~%(eWrdRwBc# zdVax9!y~L5-YI1gAYbOYhCSoqXqmFMJX(I5OCszQ-DhFedA?bV z+Zb=ds0Ym|LdO!-e7eSavw56YVs0|Fq%up!x}n07ASX1|HcascUZt4KJ6aI<4Gbv- zSIly-2pRc6{-VDJ^J?i~v`-HAb{>BI30j-=uj?7AaXkVbe*W1Ih$&yReJO1Y=9$IT zuv0j9Rlgyhv@EWH5c%lk5VRY}T0T>(+j;K-*gdT;tLe?j#S|OC4t~)H=1VxvX*KTp z=Rn&Lm%&LLIhCJ$xqEVOc5<-0Z^JK7#-|4suz&FM03b)rwC{X(vDzYHVha&FvmBm~ zJn{j;f*6gF$oue6==m<&;~PmOxQ5Vye6uSE2^_qsr|TFbv)TGuMTPV0>c*2|;ouDl z5n&iGAn?;35Gf=JakJ}OW|_$9Ac$LsUELT!)cVY>ze1O~HDBwITZSYKK#~$2S;i2| zfNMF)@detPc#fm%nlUK_F|9Fo**d8&Ve6O|ujmpE%%q6Ue!rOW!eEP_9Eu;Q;0))c z02bF$Gl~=c3Mwh)F~W?JmLkM5E(c?Hk8UghjV;WYh=%B_7BTChdZVI5fi&LUkr11z z;Y&q+Q$)@*4{lRz8P@UbiJ7(JHYP6u8MD0nB?8Qnd*iQHneEq;;8!@94zZm1VYsz% z`&|UyI?N2H{FwDQAtc%YOcvdMxkzs!4LJ(QhqnttLF&vMWqtCE9{LBLv~o-;3ZG3A zJ%1Pq7!Zn#fQd1{Yqm>g4 z8%z*lh#4p{iw)+))>BRd66+k@Qus8;b<|Z$8ICW48!2^mDDvjplhC383Wxk(a}EaTe_@rQDiYf zk8fST65{%YolUAN$SAnkX~VGb!2rqC#5&Jgsa~ zTs-u=IrV(rH=lRT2foghD?ruBX^3PJ95B2j0|G52L3#(2lZM;fVdYiC6E|~xFJ)97 z!=hZXFlr@4Rvf0Hr%W7$4JB-fwX0*p^lzBoP4lO-kxUKX+EuPnu&*nLQdM|(Zv)6l zBuPgaRrWcR5N`4M+z^bZ8DO-`31BqLRq$tIattq;4XaIR5Nas;qKqymH+r5t?N-&C zC1m!SOgW7CdHf_*&__97I|uCGOv|enK~Jz=T?Ka}A;7Y1vM$7k!s;wBOXX^?rfUZ8N; z=Ls!H6I((O;t7TL0*uq4!V|r!_#{L#vs{Mj_WEtg*7w$I*#R~n5JO2rs7ZS?o7zMe zw7p4VpGhqIva?c)`v<^9d>AZpuHm-Cn*k)n)XLJ0vOz52LK(xtB~u>6jijWG-dkwR zTg!kU+e|c<;_`ti(Q3)EiHk%RMLzk%DK_(ICT}oDM0(;07?5fVjl$=U3k`{Q(suTn z%Vy>OYu$JFvQ(|-@S_2o>5jNCd=?&=KtVMa6JkLmkxee|r;vm++CUaX@F>ZA%a#Al zGnZDsfeJ6dJ(7>2p$sM{ z*d)NYcA?+IK>)hF3|BZbz{(F!<<0jY*s3H*%;yx<#Bk6>V} z*pGDIbUisDe$%jQ1V4yZ5a}oX@MWkkE4sQ-<63N5)<8+J2smw46n^uv>#@CfNAL(D zW9V7eK1cIR7AJ~kjD%ksB0hQK2yT*QVNEe8a$|XQ^=eS&5GEk=R{H~&5c$%DP-97QnyW)lkO7hvz|w%4e^kPX6|>( zDKn}_gonUIumfVtJb8UktnxI((l-?N27!YKvM>UjtceUtzL~16r%mt@8bd_8;M;<7 z5tVIxd=WYd4Jirrv>BzFPEuRpl+P;};;qnm(^KtP?8mURZ2w0Le{`;q0GQ(-bw6o~ zaN=Q7u4+GS2RZMY5S6s*2{PB`ga<>v#Mh|s540OFnfMMsfUJE^#upox2tVyGFtXK^ zn4h;da+nJW9srYW-Kp^zoByC9$(!KL}EJi68Oruu+({;Gl;x@#uvz_Ecbn ze1g6Rit;K7qlvjl_wnhuYGuR)wSB%geTh{BAN1+t=ZJrY`<|muV3(s=2U=%W4f@K# zz=|JdRWG9~9HaFaFHf4Am59dz&Iy4LrzptM{03fFiVP(Lkxi7<;N|kxi{2xwIylul{Pb$3NU3Fw4hl^>FqWt*UER}15qxd~2 z#Ux|BpFBw`%03N^!e_xRk0xR^e-^|+`YrI-FP{Tgh4dyUBz+bR2M}(-<5qOa!Tm-t zW+c^@dy~*O%WqgRe_byYq%{*EOqFKanRCYV|e4pW7M*5G&BmILuo=tqy>b$ zJR)~Ti8s^p{m^r+LO}S%ezr$}fpBn}6psbi- zMfa$8<#{!cN1vuZW3+3H*OGt=4#hr1tjji8h*--IV+Ik=eB#r0FlKD!~`%Q{P)9H<>gQTNHVRYKR zAqp~1_R={Sj(l-&heIf8alw}C$#AF)<)>Ma=Oj}Qk0YAPwhb+`LPqzTrTJnGD2FXJMlR}AI-s@++&)RQGtwx8Hg$<3$e zxz8sdVrt{df5FNH1w-~i0(_FvB*<271&PtI-xQJB;AImZ3~a5bLkz~)sD)$uL@zdH z@jKexgi-ZFP)wD{B47|QWSa%`88No>#;XF^DAT{0=R98m5|%@kgF)>q3g!$J(s4sesRuEb z=eKpe4E}PDTjM9X93%K4yB{$0%>N{teqVsWprkIb&2@x`d&C{%lW^gdw22WaU%HO< z#tDOS$Mvaudmy1a(t{eryN-(xnfta!5pZcmW#F(l_=Dq)Ti!uWf@co#)qxH=Vh0n~ zfFWk=`Q9Y8SeMWfdWeQzcG$RS*s~C)lCqwXyYj+qj+j~d72fcn_cI;dqDlbAZMLe9 zTfE4n!#B#7XaO0QR%J;CRal6dE-%NOlkbr79w@K!bZGK*D|=wt*Q@yMcmf#NP=Nt7 zNnh60tCL!_m*W<_?;rQ<)DNZrsQvo2B@cXD^WN$2g*X{wTuS9;Z-@$!-%slPbu*=_ zz+ZLv8X)?MOM2U+Z@M<=o32grrfZYD>Dr`kx;E*XuKIkixMPQ-A9>isjq@bi0%3_I z&X0o=>}t-B^BRC5?C2A%{`JADb{?N9b_+l4`gwC6-%q3Q3PE&5fQDEwX`CMycQ~Fg zmTr$7UnGg>mO&^(T+8x&B;DtS+tX{F@qDL}Bl&1xX}Tb3`vo!s^g0b ze92AT%%~U-BVJ_y>t^OzC`r=wGjc=T23ody6G`!-##o;pOVVz6W}gB~gZlO)K*Pg< z=3AptnyBT)77kh$8WS3#na-}7*{p758j)6-$H&HHBSt6QU)sbsNCamP#Orus1@jNF zLxEC+GV|>7x&S|DX9Xy~KCkXGqO&C9HP|GNel}7s!o?(51YYADWJ-ZVF0liXEL{c_ zEF@S5-@}=2?bm+VH*8GDUUqVyT|?+tKrqj(y|JJGsX#r=h&)UJbT5_Mzp%eT`W%je zIJ|+Q7I@S^ix47uF)pN!y-Wuu8-k>rp-nIAb7^yWAB~oxu0)>$;xUjUNg&D>@7HrN zSdJmXQQ86uAmihlJ_#v^6fOarb`gJ%Y-2YuLK~w)GfQ{TYy*e!wnal#wH?89tm4RI zLy&YaE=hCUFa*iKv+{|bVH>^-nuTY<{?mpTr=#{mWkvi=OPDDwA3sO2=7P0othO-v zvCh)LK$R9Gl2mQsN?z!{?W^sV_Cp$;JAo=;2H7Qm4;!}bJ8m~&#^bh(8;=W#%|>nY zb%B;kkgs$DODeYapk(@)ZEd*aQsqs3RbY^S(a(ZFF)`!{vvwi(C5`^;gvj-IP z^|Efliy}XI)6_Fgsh496L_}%FZT+&kQTdsKcF)nriW%@YL*bN3PnUT7H1Qo*4Tj0m z$t5?0$N(7^gc8)lEln}glJ893X`iRh_m11KgBKk`gPN-J=KRJ{*ma#x={RE%8q)g$OoXbYR6l@FS$SOvz-qzCJp|FuY1{n}L@WfU=<#h+dHjXs z<|I6eVR>>Mf^^d)Mz|;IX2xN*V`I64cw;c{#(B1LoAYa}@<3KVtntK0bYL>&!<7z9 zG6qTivyPs0#8c4=J@g0N1nC85WJN?#A3t~dI#=jV5kb;}gp#@m;-&O13HrTV0F>Qj zoYZTvzbL_Z=B%I!;UrR`TGSwcH-Xk{4H=Z{);RY0fuyGnYysqrg@bu{)l@p9&+656*T0&G zr*aihifc!eHx@wp>i@m7#a+Gu@E!l!}!uLmr`wxOU8E)oh?kW z^0FmXT1MG=DJ}^!|LIK6qv`n5FAsU$!!Q0@R%;)m+A1{WCo)gEYxIXSN29_$jA(3krKRR&`K6erO_$a3f!r*;vfv| zBh6ZP%Or1@ykgq&3;+#RU-o#%kDshRhnCndv)@D5VU{mXGl-ufy}4iYuO6d*8b6-& zH82qPwRcnT#|gfC2ERwJk6R$E@cR!ny~Xzg-(}-$@Ii%e0hIZKE*Ekp$v|eg?pY`6 z#TOdw3!UTlKjLeVS)P(qASqyw;4HxpVe`jr@6N(rg&iP!ftT^{9*7@IHY>Ie##w{E zh{>jiDJv^x(bQek7tsnn0hkn$hyEUmj^_!Q*%ZRj#~Yiui`{o>Mn2fSw&sFr$22Q# zk_bH16Um|yhb7YZ5cXL(B}OLkxy}J_WU}3Meoo4-cMi%U0s{zFQ8dukh<=9J15QR= z#2!W+$o{!G58ZV;q*uZApu`)!?Qg`q_kD3OJ;Q zCUSHj``>JKv$M@Mwp;dXyDn~+Y-gO&Lrm;<>MXr1OGu;=*ERHkR&3Co!z9@V{|*L? z^&&o){`o9CGJ&B^$0THrus~^xbnys1ole)}8hyWBqNh`Jp^t{&#+7ePo}(A&-8Oh* zHA&b=mw(6-gAw~J}MhUj>W?_8R;f z>8QCCd6WZv38>ADRX#!A;U>Uu{c^<^r~PAL5e3Ej%*8W)4t*p&D`<+e-~!LQ;R#8o zYRFv3$i;R_`v%=pAH(c~8>NfW3fBK0YM7~`u7wo)K!|?{xlzZDo{T3z0|N*m@#l11 zd;EP_&szREy@FMPABTN|Ka*;;?(yTKMxov7+U=f`W5e3WgW8oo2`_!X8y~pyiyaaWj0!zrewa3rJ2_OjA z)#V$+uIKaM01g8tFTv!&#{+y2Nduufz}B0$F4-I0B9Pfyn@Sg>4-69%z0c)O<-Mxw zCC1VbD=)3Zrpm`}@wqeeC?$oXM{G=DuG#NprT7Aj*hyQuF9EXm1^ETP<2g+Q84vZV z^-}Lnm7++Z!HkFXqIcXL!0fWn&c8j0N=(Bz`5b^LU`fbGw?Qdgf(>3I)UF$$|E=$e zmfl!pP3WeVg;5s}^(HaIqWYR&082!&L+Bu_eOqp0ME3flAQbd_?uWtR8Jsy4-$eEabv_eH2l8+WuX0ZmFq1U?6t6k!|s0xU}xm0uZ5&b-=^n+9= z8ytO*k3(!`OwHQBVT6R$tpcq`8Df5XZ7(`r)n{Vmp%?9yCP!VVOccKMc#R~Ggdg7o zrKy=p7mlAHaJQYktQx#iV^Dr5E!V^{=PS{yp+~J`mP{Lmx+uC5m=_Zs*3&nccrBT8 z&h|HHP3+5le0$rQH;p516P7EDLd~p_9jI5CBat-|A`Ym>)8cDX`}Oy4J6Sp zeMae&c$t*!Dfx@BG*H21jM6Oy?P5-@yd{Z{C~jMC>l5ZhqCAq|LqfYqOB+f#C4V=Os6#?@KyN0bWllooh%+Y%2b5n%;@wKU-9m}o zLS`i-mf=R}5lrG$%?n^@d(oX=y)4kS5@9g29tbu2n4`BW^hDa7;j5<-D4qFUAEL;I z@8Hb}-GwBhhPNt0f>EhmgXLaqyqt*!|Ew4rP*m&;7b)0IHy-rmX6L-^z1ZyV>=wD#EmI)sc-sHJxx zx;|XCu3B+)fJ5!uTus=!)pjunN};|4836EFWmXkyii-M}8E z*1Z85ZJ$Lz8Un0hBcBwxC7RzH1-Jt(k)X?DsSo5NnlTcI7i{~D0izhvG0rQQH|txN z5iTa~x7(9X=#?t+Jvx&*LbYN(m(5Oz*4Qu^MdeF62e()f>(CdDZ5jHFPD--D9*Sr; zE}!8d87_q|^Bbl%yt1l}o;~?A2^t985u$&D(`75YFo-XAPekXYuVGcqJW&SPG(HOx zKEWEiez5s7-=kq4`+Ix5g7+9FP36kRl&^ZgJj1NEk(+5Jn zT*-3+^buR$zZR9a32Ll)fx&h!18eF;b({b+MWQ}V03ijM?|T~%yufqx3{9rY1o+z` zSz|1oyS)t<*(i)AO2*MP<8gmlU5?u@P`9U$cd*0T?#jAM8hjuX8xlMRQA(T$kuc~Y zqg0A97()-Ag-1+8GsC??AEHcmsc$kW-PVWSf**|18z2H?C-H@yyjNffriHsdW)YUW z8*T7egrinS9#&mBE?sNoG@Dhyc8zV~%O-w9vvBzpQDSkqmED0Mfw|#{n9=iQ`f9x# z%y>!n%N=AaL$l(_oqWa7N*!qU_kj6wShJ%GwJB_0M1Yk<|vYsz(2^1c_ zT4BuQV%TS4p*#8cyy&7m14#~jsunFP42B+7t$o)ud3*j*9LfT6H^W$xy@WB`VD2O1 zw=pXY-p0rcPeCPvGxSXt7e=xM?0hFvYp2o9O*RRSE8k4rv(egaE%^%;^^s9ssp42Z}aa z_kPhgQbIB6YzaA4#UPp#bUNgc5^kojkUWTyY!X6(V zSLTIeyZkjgX;$leJkJIUwltFitwPF=BJE*z7nKVbIM8>xd2p zPOKMKdaF-*uU$u3P%;cEa<_S&7%yoWZ(;GpwK{p=9Ma%YrcG#HoJNO|;k-KSSXU*l zQ@gX_6JTuURM-L`hG~ytk`Rrr3zBG!{cE`W8droo0z$H!uE*=ElO-ydNM3VN(>Fi* zp^_ZDx81E|9QcYqvb59wX1NM(YOeZjeR%~5nE`0%;tYw<*md*2HX#X6nY4W zmm*oj#~cgI%v1E)Dh!GNm=vr$J81txS@&!DeN3v>k~V8*-{JaY*OBkaJNm$>K3t=(J!3Tt2G*L9O5HW$L(Z2ovQG7L)54Y zFW{eIb`n9OBR+N8OrK(J6C9!Q=ZIsAI=qtmY$@!#1HApX>rkh5+OO;APz3r9Ea?{T zrtP#@!r8#@xA`&o+yG{^t*^uPY`vV*d!?s9ceL{88#A0n@|8%v&{iPcBZ#38m)u)P zAw*{_(D`xK5=Ri72o%6PckKLlQqM1B#tZ-`rjSkLR(W?vo8>8?@f)HxUr-pfwzRop zOACy+3~3y|bf^mBk#t?VX_KikcP}Wc=-je6fgEvbQdk1Gn8!)COFWh}D)HYPg*}leB%L%~{ zOSTM0&3xW?^LXBdC<0G_*iol1vBc8eD3wvduiB^$weGfEd$Z`)-tmUNP`O^RF`SSW z6oHe?{GaOQ`KVPdY6_*-u;}s#ildCrBIea+NFN424)OK^84ZxQg`@a=55mrDd4zxP zg~QWk`pV0fnpvaWA%)_XI1o=<&%Y+Yz%qeNRl`JXU-0-R_c!?14{MYhUWy@1v-V^- zz--Qn4od!>b_?QSFePczD;?hO+;_*byI>Jv9h_-Q^|XhE!@6~RSqC2$3af4yFnyML~dhntG!Pa`oUOs^t5tdzf-%eL$5J-i5&IYXr#&@F>6 zRK6Ho&EpVVRX6N_sI64ph5;&@r} ztHPK=p3=j_{0U2E8~^O!AGdmJb^>lW&{bD_RGIYJ5rS^=hhQF(ftLR|d1Hx9P&e3q(>+xj{M zcqC-&S#VFzJ!_#ED4XlqlrgxU;%hM|x36b%iAGIjcoEWFd9OoHvFxJR$3kSPyC9oT zi3&QkV!y<4B=QC_<)n*H^P#_6{qFJjOaev>&0VyySTb%cg}s*H(=d;-PlF*O^GaU) zvAxWRm<c2cVxwmi(#F}4Mt1MlPfuh_KX8zvbbO|DWr2;?F+daM3Leca&9dO5rA_l_xR|z zp6T5Pj36|>?3+bJ_uK#}9_pY?_2vPfzh=hfb-E467Er}b>WQnbu7lm$5)z3Le&H`= zq3|)MM~}F{IG)cYs~gw|Z3iUP4HKbpTf@fHONqU|f`h|H9QUGKa93zSEd5_mxk{%c zd<&L^ufYGzuAxr3Yb)P@2U=bcTMEZf%cl_gwzs@$Gh~zI%Um&)f)2xj(pN{_j6B!G z=a3+&T9CSymgBmIB6+HSvqtBLWDr*^8uX)Gy&*{oi}JeZtD0rbOA&HY0FjzH1bp3i zd}&>Sf)YK=4J_O~Jn+sl1_4?POjK#nlz;+&xrHV{`t6`yFLoIZGm(Xl?lPXB)YEEN zO_3+=u3I{9mgqYT_8V}NgnOJPW01#d>6iL-M zgGj?;Rv=o#U2764_vl``V%OL}3G;)2`b-c^z`9qIt}hbtR5EiB-p=65ByvuR`Y@nB zF&!$orF>@;CJ6c#IK)Jp2>hnbtUM)%<#A2#NECpJAk_8siRGNIH4|bFN?bKc7 zPmNLo7sPjw+C|?@rl#q$S;R@mLsdk)@wN3pH0Yaeu$KKZ=o_qi*pd6qWdlu__vnMY z?wM1g7q{jpe_y>>1)9q%Q<5;1L?JL|mb_L0bkS0jDB?!_!U`g%`eyPpJSIVxc*A1{ z^43d2YE{Ii$=T}T6EGHdLFX=SWK<#GT@r_Uh0d4Ho#)5XnmD9w{@LLlnuczLPubKg z9iImq(F)ZS>^D`8{Z(yczMz_41JA~fevs2Dp%mh?9X!>19umvQ{tfWpI=7w?dG9Ozu!@)YNN(>* zzbet$o^7v;dcH`4{flqFyLxtf!;et0;T)&mIwYT>Lc&R3K`%HkqQOSIzxiGKf z2@%V{9qAQ2CA82CUv1vAI?!YbX6U(`!sbGrL062RWL3y)1Sj%b|t(eugqVs-Hu8V|(B_EftcAi55JuS$8Xi3Px2sy(w>Y+-AZ zKlw{ktepq7+lJ>D}0V@i`tNaI)W= z_G_d{P!$Tp6LZnaJ(sD#l3@+|JJEMZ^-Znn4e#EVT%>t46szXEnOn*gFEO!0c z(VLhBxV}xKk0m{+Ta?8azu1oH-VhvpF+DpI*ZB0x%l5x)!}>)dCcIe%#}&F4B5@v? zV&cU;lo2vw<`Meh{Os(bVL^|Ok^s^cQKP6eFy+Hx%1_bWxSpc4>M@n}$uP}1G|M&s z&(t30WR4j=A7+?AhP}x@j=uQp?2PDhKP71guCH54s?fPkv!Xk7xCH?vh?)saR?&H8 zt+Y8CD?IPIIcx2aO@0aIDHd87*N+??$*ExKz$3G`E9rMJd_vgK?toaghS3g zf&6m8*aENg!67!R?jb$K%ct{`b=A+X?Cl*Ay%mywg5z7r@G(Av0SJfbpSW%~OahDW z_!m82mnc8E01e5UgmA-J8zFC>;0$C{#)mIKP*GQDeWgQB0; zBx*j02vb2%(1FzJ1_qqz0Tv7DR>Y%BM*0bJ+^G5yh}@TO?Cz9}+3*~Pl;J34UuNM* z-^-48QTGRrUn%<7^}$4pxiY-&9u2;=$A;i$i&2&S<2rq~Bkz_FR_Pm0`Z9Xx%k9(a z>Pb9|`Liy%&yVz+bRQam1RYgPjs#g|2A@(ENgE&>K45<|3vSCNk05M*p>3y~4uKfl zJCYXQ1A&*g(frdI$-*g1GmJn~@cmfFz+0eFSKxC6$2*w>f9Zix?$U|c`OH&4-9|6oT|K^qlT z?}$ipRSSz(KSp;OVjkYD$)9d4;L+U*_-tbVAK$Hj&&AGjMlKrMi@qV$a0=84V^6vosptNHa%7TU6GN;mLU>!#}|A}gT$WDOMC;|uR>~inmFWO ziz*;L_XW+9_@RU%Ccy3dyfo*VkA{#)wfA${|^6^u-LjA)6|)6n=}SlV-X#j+<35yZRYS)m)5CiDs~%um(^2 zhHp_ac!fv&UAE_=&E?z?#ed8jYs4%C3g z01dhzxl27YU0{5T&&8lz1j}Fz0Ldr)7yr8R@bGZ=)4fLz4j%1&{@~Hh=N~_K{K?+- zgT3vK9`EdbwEgMM&PV_5{_!8#QsbjHpM3PuM>{*y2irO9;WohV=we?e-HLoKL}WPj zc;4ZS2*$35s*M~6L-OZV8#K{dfMXA*T64*6eDGM@H})%rNt_|C^0@D=eM(Da5%Hlf z+L&@N@J(UaJj}SJ9liP@GA6e55XLUT)KzCVAY;_CE*f?54&0s1@Gx?La+A(6u^Br7 zIl}~6;uJkExwA7Sy>?lh)eyakqMTnp%x3ALdIYm1BtG8NLeg1+WThqqe)LPiN2#DB zK$~nihyp(n>Z{FmY>~X(gipamAYiKF3wGERfymboN7V&_-hfY|*7>KT1t)|bqYjh+l7-Y{)L>Hp2u^g=kGE$E`OkqtQo9}k@ zeAT=ETKAp9x{duY8io>$pgLyk>X#?JPoO{bt78(4(WhRG z<2U1QtC7Mlm;<;Gzc;;SwD!EzE;dEoksEl(mC$(^o_Nk|19HP{rcudXL^pTjc_#>$ z^h0eOVavR%=kwpT-E})@SmjPRxDbApMGT?iE8CRf1f^u&CACq0ymudS1IgK4BMT=y z_@KFacyXw^1Zv_67|(q^X8l0tUC;moB0~pc^(T)+p+T1r z!nFati$WNWPQ1F0+_QMLkKDApBQg^1zz(xGU}hTp*7!Tl>nCq1X6G&O58o31NFSo2 zsdBsLurWFyu_+k$Ph4Cwo9qjVH#M1^s+@R<&Nj$ARM{T#6D>p7dm@nNmQCEd6TCi# z1RpWkyYtnCn6J7ykcKJDa0|O|TA$)8FFoVMCusgnTU!YlZoybC8l{oumPY5SfP}tv^^9!WfD3 z37p^m8N@O+LXIO$&;EQq#%p$wDg=|!*hWI3kSDH6c= zxoTC%&++kBy4APeVi40E5Iu=VG6aZxyOdCm%kLCY9Ik-E$wEhK>ECuFzp{{RR$Plp=_yE^^QV zgq1knI5$EPlss-lHKdO-V04p2HCFAa0CM8PD#q+an=fwEW27c%ZkW8L@qCfx;`=hw zdDZJuvS;ZeMi`UTsq#@O4kC#rdpKT@-F@ebxc>1VDMH2pZA?(>)|KkMICc z69CG@w=(Fk@ll1anG@LgC}#!EXTS=Kh<1*TW9_hrYV^g!v$GX*Mer5v;3#N};YR4} z|7GPlw}^Tgk?;6(k?KtG7dZdMPqZY2d`u!Bk_G`0g1Y(V68zLO3~z{;##N?CsiEDl zE$7mfskUV%ZK*?BLJi1a&^@u{?S`!j9s_UG83XZ3Zcr;-kApASZJdy1gn4Qise*`Q~&>CHv_-Z4Gi z*-m@8vm?DUJ>2=&^swBqolkU0e5xJW`7G<$&gVRRV>5d@+S#39XLn*}1Bm*V_Isz! z`@LiO`q1?Cp_$!>+3Y@i$ZA=29X$!=2qWL6x6l zJ(3vO$`L{4p1)trRS7sD8N>^wa$m4=3prjoziu$4D$9bd54%Ndt2!IzQ`S1B5M*pY zdo*4_tReyw(RiqrZK4*#lXXwz1__?cy?&s%def?b)=~9_#Q<<@x9Bp=SMzX(jb5Aq zvJ-#3YT48)B^`W3T}&Ff?2nY6NM7;hv;$&}My*>_bC!O%C{T^}6QK!WozoZo$I+W<2%SpNN`|$1BT4AZOrHMm)2?masx;?wVb`JbUfT zrs5}jSaQTIlvjLMsDl~hx*^^oggBDF1o>`MH0nxX_9|$)Q*gMs7}z*rzOq~vXaJ(N zjhS^Jc++zIws%I!pAdRc2KE#!XARHDYql4Ja8%*Dvp{U~lp;-EG!96Wb;e$fqzSm5 zc@5zbs~1a(+Ut6~f5z$vePgi*Hb$qBKvy{l&|0&nc&`tBi6?jBQ#!i7Lmu)8T0`?@ zyp%Qb#t|@k^^ahlqqL~}VL*lgA9&2x&QTu*q!Ga$ld%;GV$lUvEp95M@oHCrT97c) zNdVc$IJxrVpW--vVS9Ilk3$C=aZx|=8bmRy(cA=>iYf+Tswav{_6VTzC0^g8lv zBNFei@Z=Odu#!AE&jx4c#(Y-9`_p1!prTD1d= zdPR2qU$(9K9Gy$FM2Dlb8BGUyBbO7JHTQ2%^NCyDA=N|I+#%JYaNc+~dDSdmUh%UF z=vO0XsVv{ipQFoo1z#}$EL!fkqBwSvKASPB#GN{o^GdG3s&n2rpg}V|jAAEtIaGKr zIJviyBOA|hJWO&kKfswhBWc084g+$_p z9VQu07^YxR2B+8%h?1k@9(}`@7TSn zXNW=R-a$l8*0Fvc2EkEIbNmU>h$@-H6DYS-9omH7c9H&k1B)~DO2t1lTO=QwJxP8h9OaR|+r zz`a#J8`Bll%W?&Sw>w?($}&qxEMUV6yQ)B?%Z6-wm%ZZK$fHj3kQ45NQx&5LkcJYU zddC}Q-F0?21H=dO;ne*lnL0_XjQyBSktGq7l01EC0+VS+h7Bp;STt)mB6PPT3_gqiM%f=~Qi;Ic(;zGu7 zhijDF)KYn1woJT=2Q#?J3O8Q_Q{f@DLFI>fIZuR#DJigRZ0=BcXbJrK|I^_PCU+_& zVil=AF?a9=^#}3&F#9?j;jgNwfBz3$UC2q_S&)BPSilg%wF_KCE{ij$R$;jsYHiWDngrv z_Z!nR=na^Tb5t2;ajaVtAbW(y9hetS)=WoUyLFCOI z>q;J`uyKtizZ)ZY+FeL!6WYGTYq-mZqk{Kvg$WrDJZ0m_fvlu8bRxjZs;4_d6kts+ z8mENLjnwHfHx<23Kd)}cv=b@fSXgZqYcsOqkH zYl_$m^Pk(m^p5Arw#_uNfu!uavJ8)?kuU3W?GUY~?_oU{_vwn+$&9rm)-@`rE0Tr=w4g6gL<%M4exlfSS@cqiwZsvXokbiX_ zxqo-=56>Z85C7)ye+~ccL$1nsNO|8)A;-ckDP~1Ew?a-V6JZNTd*Ai+RZ%_o@6x%K zhmgB>2LPSAD>s(ZV~8Er`2haCfS48w|Dn)f9gIgw%3h! z;qMLPz!G{Yw}TPGp45XH?^CNVu7j8fsk#{*>US@OMx0bX1=E{29a@yC?1p`uYq~9Jmws-391bh&hGd zGst-iF%$Uv6jHfgfBo7HsE;_#?%?mO_l#1WKbRO^1O6j4znB!mFwxoJaD|ZItHKm=E{A1tUxeOH?$T_W@edSTSCkL8%yvEyUUzn$i0dy6--aGCzP)@BLvo zLPJb+-(3TiswoclQAO*elC$7aaCuAhYANm;KXvZi`+{*{%)jv=gy(S|zS9y;gRgJf zRp8#^_2(fcLfqf}kG(EpinYxisT`y>4OjW6Ke2tr>FY(#%Q zz}9Ua+_G}CHti>^q;Dtl_Raf1B)M;Xh@%Qz=11`LPwt<9uo{lX2M%LCFuPQH z{{g}8ee>Vkzir5gG3A{9M!N*&p_wGBVJ>85FKd`r>wZQ znXur}VB9`sEQT|43CDMB_UxC2Z00%BV-4~h;6Yju_S4$)Bg|qyZt;{#oYKC;(YW`) zL}0sF?w^|6AG&)#)`R;wwf>bH650kjKpq?txy@@t_ui7$$XwDH{Po`RB*snNUV|QY zD`82zkOi@n6#u*5=CPj0hbiI83poaFT+T>Y%n{nVHx6lZ#PiaJxzgQ#?_dAEK30Qq zO#5liDxBvQYF^0><()Tm_YM?0%^**0Ql<6XKBD*D*B)%qx`Y$qClT^O$jDP6WPMEa zKWn9ih9xs>1J2>Iqi;$Sh~8n;-}Qgn$lL1idR0a%U6Wmt`Uzn zU$?Gjft=^oa*k=nju&eB!`H3JuAY3Z5NkIww)eiHWBSi=4EH89lRc&0ROinNtvAAh z-|TK|>u|&`WObYT*Z;Bn>7Mx!geSD;kRH%-a6R&9Yknlu|D*Lr?4Tq)oIv9Vg%?7| zU(uM|C#sg`CsHjK$J7^7IPrWS+Tq8W+c%>WNLA^a{@l4AY~C{v`wxh*m#{8t+Hrwh z{mGUq$DGo-xFo21=Lkmi$o&rJgDv>Ag#Yh|zFX%x9@tVJLp-v3bvPqmQawxQxjWj* zAczZYFTvK9mG)i!_7tbgk9&wEB7Bm-pF++XI*C^9B#c?lCHo*r zz2By7-7Tj2O4zab_8NbX)~H+vW5|1ZX-y|d>>X?PQCfqS+2mFteRc2GX)Ti^#n|nC ztsbQ1=RHWvzGDwQOlx3F*wg&1Y0oLGo7eV2QtnE+Q%U#t)z%nF8Ef2B+c-;iYi$n? z4K`EWpb|k!4#C@jL~g*kb_LiRo-Y5 z1qeBQ_4RUCA=tg2FopG&o_s#+$@&iYp!|=A<=>%4zxn#Pl3wlZWjs?ZvYQ$XX)Tfi zp5-n2-~B^gf>0vcB_Z22(GGK2%QhdBbUYlpoTK|Xt#iM5;2w|~Bno3Ur@v3)O_Vy^ zcbxCu`*t^=qQQMj`u6P;+H*BSkF=hHgh&57YyHI`VFphlr4$s;>ndrFjQ_7J=cm-v zZ8aLD4eiWS_?*q+Z>%_XMrCP=q2Suq!eihb@{Bzb%=Dbns5l%~;!gt>;x+jptf>1& z>g6fbAF-@=w0G_Yf1*)g8U=ffYJ-sO8-D`I>P5l{3}teH#lJI@QJ?^q`!IqTzwds5 z@{o!0=)LJ!jf9;bXE|NaXcCAD> z!b~R+gu4-^mPpD1;yCY5+&`ajC#{D~U77o_CesXXNlrF7r;XF8I2 z0l4?BQ?l|0Y4}01xbOW?MS!}rv-t1Y5EFJ6fTC|JGocr zTg%a+!l1~irX}%!uBd~zA0qdYDSKvikRZsv{m-{Gc}i7Gjohj%3qdg&PwK0 zzQB2Is20@5{Aacy=hLD7zx{82PXp5K@KU_*PQoni$qrqa@&0)>Bg0fg$o}pB{`*Fx zWSntIJ!jeTT^bitzrCTDBW>yJc@VX_?{8kP?)z*ofC~2~P%^5-Q9X??Rsf??+db4> zTe}>W#Ig<&yy3ok02l=o;b@L97PAERqgayCJ6XODxNoX;=xJSH%$}HcFa~o!daDt` z_R##}X+jSkL#mmZ5NAim3Ex#I9Bacw+Wo_on5bMAROLVw{Vc}Y(J7~WMLS_h+&1^^ zTqwh1NRib0;hhar9{wFhB|m(Np~g?{WN`86-)S)M!%OPtIpsN}@vDi3?PyNid#TZc z`_3-Vg3oC+?UQi@tflwReBuPw=K+)e;rG9y@EHC+X7iDEPaywOGPQ8;sM&@4cqpSx z<-m-+W+~$Saa_5Pn$OnmyM2gp@A0X8F4)pNIhErhHRn(wE7yQmG$L%K;7vLA-p}b+ zCY6{<=WvP>kUk!A<6EQ^Ze-TbydYB0?tP{u%wBpQP0QX`$a`$0bE>oPZN?Q(DD2*2 znXPK*-TSYz_3qw{WT1O5A!1lG@;Qb!U>RBbuZ~=* znf$^W-z$>?L?_0=gY>~8jW+c=lsg3*Kgviud=*4OAqys+Udu8bj$_^|AI?Ri+ zsha2;A-{Nq3AOg!I!MNS#E9Qw`I`IoQV8h=Qn_zzkv=#z4YE@BQdwvW_;vG;4*Pq# z&LLpIkKeAjEofEV&r{u{9LsJ=Iq#*CKlhH-H4NnXCjmO9-ezG<+EoE%<_Y~mPqv<=f+t#f##~|{8-7zb9w0~4dq$)jT{qB+`ncKB;Y^mrTo)#1m!+xBp2YX`Fy`ui()L^L!h8?P?jeIqmDy_rTFPc#O zHmXfDcWN@oMomM-E*cQ^!cd4R<=3n-+@~$Zh80^tK(a}~egP3#C6T)<MWgrKk2Ax%PFh_yvBO!M(06V2m?C1{86UzaqDX`L0F z7+0Z%3&GJq75z{rb~j0b8xvdNe(}U`RsSt;*bl;j;K_NQlELrix)^iHeOhiQr?+GC z%QW8)_Xt`M%0WFv+E%oo)7}p0mYnW4w9vZ~k&{3fPu@O?cPjJyd0UlJMH6e5&MP`` zRjE!r2x4th(>t|sReC@dc8N}d1d-&s-*AZ3rDgJ-`Ct>C4c_5)faa~w*Ef8>$**H{VE=utQ}|S?S4i~Smi~~ zSsnkmTDd)!JeBKZmyWIanQUkri|aSp&)xgu%RyVeUK=;H z0M_#_EFm+j=Xt0{a7Mx#MXO&;ACK=nQxo8iAKiWj0LJmd55jt_gi1%wxDSL9YhsWC zL1_YBA9C+q(E+@KUGNL|-@UJ4uaIwJe?t6w9D0<6KMARk>xrp3^e795)Ssg)nn{C> zI6u9P#FuUGJ_(M~t3hAfw{VTl3Crqe5@Gl7P|o9%aHy-q=oo(gEM&+?X5$Ogr~iz< z)jHaeNKA4lk&V)gBga<_w@8ZD1`O)HGs>iZUy!7*%t>vTm6a0mP{()m5@fui!uKXN z-R)07PwRlqHCe2GH+aDDoWNpl@Pm^B6nfd##7okm0~do+5_B;hfG-zwphRS zZsaKM%8QoD$+=U5TRv1PJ4@CNM;Gm@Y<}KL*MeW-xaUkG?Einj*5D<*MNnxYK60Pt z_a2mq()%!azGry(6HO} z0XXr{eFk5TN$To;F-)cBOI1jJ?}xZ+E)x!+BimPA$LE@WiF8rzjnTcHMJ-`+t54g^r-oKLVSx2JZVaSneMINy(wdFsX;otPex{UJ`#O z@&ERg{8-D6-crVgQp%eUi(j9~?_>GhliveLu?>0g_fz;~$maxE!`}lcnZFMy9KW%~ zdmmUM*82l9Ry;^an)Iv9TW_9}&}SvUAbiaeHFQSh>0V@{c+#ho^X{8-( zIizXt(*k70p(^_HPV?}J7PR5LtlqP?*Jaax?fTw%N@H~C-1iWD{*q?&qr}_{+0ZLF zxZSs7Dv0?>N$3zSJ_`Bx1Kyau9ORjr;5$RLfcw_Z99^*k0;P4GLGl3m<{4~E_YWFl zj|9Aw2gK1Y^j7#U=vMeI-0io*-Ftt4v`4VMXOQ9w%J>!C(cZL5ZNbmgZ~N4H>(LT{nq*tcxRtXD0UsbeO11sX@v!9_>6zO z8!8)sK=}rmVyJPwdymTtVHvNVMsvt--p6r#ml@JWKr*{`>%f+}ci+IM&*|uP-%;Y% zDCWPt5@kG@Abcm9HU!1(x1JF$bl=ObC8?~_y*m|g1=R8FC$?xuU()Va)2_G)Wq2Yu zv0cA#_kM8S#qs;4i}nB7{r9j^;otYu6j~$2C#>UTMi{3(NDjR3J}(j9ld_^#cjg4r zu{l3p`9(Q)CCWMP_?jW^dM;UI@%NgyAIw+8TwKu@Vob!rO43f98X?spNa~XrzQI*p z{r^#uWo+*Ky3CNM_$<}K^e$e2K-}!U`QPBwb>D!0>)+D(WsPzF-}c@HHm>Vh7u#os zoO5PK9&v_ZEZQ^5_=hodBT=M8%9JDBSkaHAM3QAoildhp@sJ!!6Aw8wXJ|=@eD4f7 zL(6T1#=UWypmA%XN}q#k7rBMgn*jDh0@#4kI(XJYgx2pmXj0g(F>2!}fYX;0%}dv} z*52o5IHc*=xfgivNyBsY|NmZlt+m%$=lvDnaVnRTQ8g=gME-IGiB{w@uECzXM`OBj zzy}+5P!~9;`DN(zk*4KiXvCHChQ)G?zKkz<(o(NK?(uQ^4-(+pPryJEbna4TJaq`2Q%{}0K^!jN` z3C9VrtXxk})=k~yr`t!*qx{yO`;&g0$aEaw!vTFe%3wZ_wzrkp6^rQj-F(fcqFuu#r5AbTc!=yCy-Aqd!YBNtkeRBE5?egm~jb8KvRSw$>xKkNjq}_~2%dP!ND3H$+ zTCN=t)@}nTgqxMMlodp%biUgS+T?SYf!qYIWp^W8@^%h2*T>Spu;AHmUE~D@HWfDsnO+imH0kqwVIGC zd^1tf$ouMALVrrX0!ZlS%2&Uu7!dR8UwI4% zLo&2tey;h-xtWX<&4*7bRrp}#25(yo*IVY{eS5HfZQ5Qz{kP@iKm;TxHyOM-7ic%m z_=7Lod8Z~?5r^{${ANR#`npx&dz3QfeucH<->Xrdwge&3a$UShO}rT$l5pzfA|!s< zlcC(|249FJICiRI&_lOXa*%o~+_AE7v#S4aHxE;|+O6~_;bC-WuSdaz(+dC!3+k3t zSg6-$p$dcEXU&Jrd`K5_`f|r0Y+;rj2Jei@Yn(O6&I`87s{Z{)(K+9?&f2;st5a_J zns4vc+VKD5!#5n8?N4F4w^r!RvOUY@dGO6eI4zFA|FI*__$72Sq4a&)q8bsM&A#xEUy`35YF`>TD;u=b|37DxPpjp zjC(WY3rDLP!sychCCaA|XI_itL77+2UgHDdOG;S_hS%Zq8-g`1H*I5VErt&R>fhN` zZ3?UUhOgn9tsxpsxg$+2SdAPQ45=s#hkV<#Vsh|EN3Ka_)Eg*wkDuOX<*ANR2UKS|4rrcKQ7QW#;hQc~ATBOj1HOMH#3YMYwxmW?3e zz7S{$Ydx8U$pS*rrvqTlr;v)Oq=AEM=~fI1Ls6P~SHpeQ)~4lmyGHsZ2&_zf%^U$HOHr(+kTOEwA8~_j2DPI20DevYdTk%EQN! zRgX`Tne$QI>f2PrnD5cs?-3=INI+>p{=wv9f0I6o=+p!Z?cOAuh`sD2NFo^I3u)~y2D8@f6{aIJ3j?`2mqXRVT9&BHI!2n=Y-#ON~-)>vpo z5r?JA4Mit5m3-T1K7D1R90b%I(8pAet}ZLJCwPP{r=s3Ze0xw?pKPWES4q3cq;0K3 z6G$0i`8H$3tK_@Ane$;lc`@AYEv=8LR&*roq=$vqA+W*7?men5C<*rg)x0MLKcPer zdbcvxME&&s?lEEELj_t#D@%pU1nD7`w3$&s9VXxQj*%Jy01Zj)P3+_KGr{BN=WRaP zN*dUHddlQT* z;XvHX=Yp*I<@W0~tFZKG;M(uYlcBj?j-dE;l$Fss|I5JW4>C{uToamcT&GnJheg-J zh@P>Yx}38mJ8;fBTPyl(%dT1*+j!lyNt+<>ZFgh?Z5L@JMiL%1rV75|p^dl=xJTQv zozknxCmL6;yOmsyQNkz%c8*41t3L}X4Y$Ifn<)-MD2CY~B03`$LxKmVAUP&~xVAlv z#}#;(O=>eOqP82Z-Nz?IM5x@f#8lK)R=cg}Sv$Lj8-GX%2mKt4D0VDRxcfW|r4@R+ zd;t85(V4(JH1B-Dh{knS&TB;3?~<6I$OW#m!Zxx8n>5y2o1*Y1su_iz_4bRgI5QI% zR^bjU=PR`~bz$sfBmI_^Cybvjtj}w04U$5zs+?VhTMeoJQoW}10fc55+EMdls-Us+`XSkmx2-rIHOBG7_eYxpm)y0AoE(d z;qxAQ9pxE`IFxZz^DNb;TH8TiE^6U#E>A4xfmTxY!EI_ze{+^CU%Te4Y~KDjjmqj_ z-Oo7<16B2JWq|zav|Q-mYekMo71)rbTBC9!+t=SdVWC>z+{Ts`n@qmEQsRa!r^d5t z2cdI&TO7{KX3PnpIlWwiZ<6!Kp%W~BSIYxGXbKyph^}Mv@owE@=w;u$hDQMP99Q>J z+vP&_^KvoUafB~m5w3cU&=T6q*Rc4`$N^l%vWZeQ)X*Vc9)S#TUy|l=ir4eMS zLsJeD8zkfWu;smj$=ufE+{3fEkBLLy-Li~NuUy6?<(UY$TIMgA9L8*Mkf6C!g_TWO z&CyD{7N4jH8FT$~YZSV*9K&Q&+i3Gl{JGkj_W|(yhp%HmeNKrUVC%gCQ00HdfX(GU z^ylkYGssib+Mlbk)w;bq&}G#R%p}jOKY!YniOcN)jkH_?A*>}O!x_|%8PNI*o0PR@ zxn0G4sAjaxXd9J1{>^S5KkM_d8N4x=|g<^!}l#m zeW`e38?*!pIeT-(;2j6OhEEWbHc`<8OPAcj&#nBNy`m-e6vGD;^2 z&0anAUcG2fE6vp0-})47-Xg)Xw7CXaN)HHoT}i_m=biCets{qyUTpW36s#*2bmP7JR4 z;#huOKJ4~__!C;9S&(S??6gvuCw%<;O5~GIqnI+yy;3VRW;5<9o6l+1d9aSJz2-Id z=F4GKqVQUt{P3f-E_}bK;zk5hbr}~#F;z0?W97Nt<`C#XsJ>RAkOF5*5?G!SjO7Gv z7Bn~3oRZ+O99FC8>ig95ryduBPv^{Np= zmXw>6di2AUzH*L|#tMrnXh}?nbfo5cqfZ8FU)}P7I(gh<3;N$sX`Y=A42t7}3}k27 z1)%vT+Z%6XS-{u^Z4Hc9v83>+)?XWFy$PD~uA-7-zFZQ%&+;u>?A6$wv0nl?+i*+5 z<6K&~6`unp)6AxA?!j6B7X;p)Xg)uEv$I9z3-6gzS(uF_X1bkGKI>7?$kr#1&zKb{ z7t`dT3fdwPcK)zZr&l_UbIZ;ZoDs)Ec#$v08vJaH5ef_$Vr&v$UE>ny4MRa~>~;5H zB~m3~TwYptM43-584j4hWx?%)f5rmi>%tfPDh@u+Vd{%&hf77f$i@EnQ6*QlDrd~N z`jS9lb@gUbYnxT`1z^|^n-5g9M9-#HSBnS}0?g0eV^=o+|r?oA6ps{LPk0@SJ5(!$6!N=jjZEx7GbNRSM;T{R19wqgm(mXotc zv=+=zjqBkxOH-^npYcM?z&76yuEa(zd(&j?Kdu){kW;diuz>=@WZb_mH$7&weLR}E zw^b=>>jx}lCnhd<;vQwmlOx`VdPbQq=mhgY6s$R?a3w^zb+x>As;qavVYc1w&`d4o z^#r&e?SBQHLv8Pg4>9@Xd%s5A$rm`0lVOVr3Zn$S9Ndgd$UDeYmQN5JSpixEnR@=+ zgHRC#J&EU;5n}Wvck2?3fWSw%5NrAWcn0zKGW#E^@05>lnBxX8svgLbY$Ysgf}Wq@ zJ9t%ntF;wAY?Vj!P=}{M0F)V=V;XrDv`tRfpfsef7a5!^0D`le_Nd3&D+UJhpc4H{ zBP{5%J%g!do9Z?+s4w6BH(K2m+SB~D*^+3fqu?_ zCyVKS4Pg_}PB^vphH^CDjs)}hs`c0s=-F(bJZpIQ7zWi3WG$Un0rBh*D{|rk_1&lc zt=+57ozcheSAx&d0=4zen*}DNAx8YbH0GERfurzn1wZL>XjxwWLxRiY-gDlvk)}&& z=7=zh*Ee#kPK9YB{~~3rI^ojNt-8dm%6t-jHABqH1rgj6R{1tqsQa zeoFZUc4V{dR%&nS&sT1xNr8o8{NLjBW{VQ@Xrh!^(ubyX^GaoWMTyjtYQF_4UP+_A zx>egEP|5xJBq{0+-D=K55kwN#C)dNZi45vlCiqou zxqNH$`BnKq?eNRf41tGEcye}OSy><4gfX$;Y3hs6h(ca#3uMxlLB51AX_~*l6^6?} zO<=>FoKse&S*|=J-0{V=mVQFF5L?FQ7@AtL-nN}o^E%$@2w1Z%ueF}$V?p?@U*+?~ z=L^m?)$UX1lUjcRmi2u7h~PKP*52pkZJ7#`*s{*!Yb`tcEsIt<35FMJomy*|%_2Dl zJIRMwV*yEvL+|%(=H?p0ij9F)w#o2=^MPF&EZviPp7@}3{t2`2#SdD?2bhiA2QB*p z&&t;hG?6ZME`u{cOsmxw&g6>N2t&7)-JRmIB*@C6k(>WubvJ9a`{sP|%TO3o?~Fzc z0<}JB&IMoU-`pCk^!-8M3^Yq?_&Nj2Ic?3TAOsVKxX*uT?aS-%Wn~}Hl{*syV+T7yAUwNf0Z=N9onhpC~+wW6h>lcQZE!aYvBpxm9Cmvi+Q%92!&f^KF_dC z6FXqvTXzI?m}Wewe-RZHJJ>j($CYS^dRke-VMrXb$go0={`*xkv|TrI`vdK4Ab=%mm$jN_Na@lG_W zthTIWx#VyoF*iD(-1cn5aw8NFK};kPi%@8!o!qJZwk$P08Y9O5IS`f{;pdo5xsoHv zF-nmf!DB2MOODXr7$v0;dW=P4PMfWiYP0Z&;L(PMgGW@sC{)BsZ{Vu>IG^Mao{)Tm+ZDIU8H_Vtrt6`A;|f7+MyQqpmsOgMxpFPc$~sh^~>aIry;6e=DhXG z@Ki6xRV0$Eev5uIqLDNWtDPz9Wy2aHN}xFj^8+oGtAD&8H5;=R%8=#I9DYhwiYC|L); zBqxU93Wnjyb_acqIx0ecE_@Ug%g~s`vNXXFhep(4pF$ulNhgM>yX;a#nnsXkph`0! zgDx{rZJQ+o-d(2XrYDsrd^=@hu%MQg++EHGh zqm*Icg=j33PGprVrt0O6ERPAhX`773W5$OKGnyFiQquTF(&?Cr(lBFw9gIcwIz4LZ zxrGaFz=c(O*(DdR=gSgG?M_u+b!lPh9w)2sP$%e#9?^>?B%Mx^18br?-Ho*o=}r^W zp>2mZ{%F>nR6n=ydy!PXlTgYy+hQnj03~9Bs zu^x|JJU)iU4R~z8qYsZ8@wkZ|nE6z{D@)=jULQ|kxS!&M@f3}BI#qo>ReQ(DV&KT# zjz!h4VNkz@K@`!jWk%DTF#+I>gQ>>vjHh-kRjXnOhfGMln5uu1Jtt`Xex9mcF)@Jr zcNx#p#njT%l(F$mo{zt?QZ=VT_7}TtYI%ltrNaDUi`LeoAGL1oRIR%cix8&=HK^b7 zP=oq8*^n1R_4@JDJdSUClZ$D5(~F@NQTLU1BH6rap5igg@Z!O7Kwa&2Oe3*rsZ|4L zRp&skIRk;_cph%ZK(HYLXowfYEg0}yK+C6=<~>a3T{aSNyL&8}rXJ;LpF$g{ZEm-$ zX_vBY=HpSuXg!~7u7H7l$wV7~N(XpA z9}vK-jdkiBRKJp}{z#VClMGU>2zHx*K94hWfQy&lliU&lq*)Jy$828z>E@?fCZ z59$Smlzi^h9&`zUW7$#_k#*UKEPhvB6zU?50E6r3_PJi49^{rtZC;liWDrI@SG+)| zV>qc?Mh23#qA4YUL-|==J?mvX)}O^Xb7}mZ<>UXSvc~Am%Z}bU37ipLt#DAFr2Cny zQ+h`jmhQslQM-U356xG)->h|4SOL9-rZ;T@)s6jD$Y zj>E*!=t^1_hz%Y7@TMg=lGbJ7O|93fnLG)BkyKtkO^yuv0E1hHdoiHQT&QHN&Zlv$ z?qu;~M3de)d24m-fET3oFGwq2!06MOseOmAVR`c!B?krVtJmTjk*dD#2s|V_Faqp`!niFMV|KS=Nw_u;Q7V$g zKkY5AG{>cRrcPOAMbjxX%#in4hYx&Ug+mr^yN#-I$P&0zy-EnG*^ECoz!wCEfHNSn zZnj(kyf{>&7=Zq-!35@9D1l%l{;g0bp*qbokPWE;hZx?&J z6530%!qAo8CPkW4c&%w;Z=3PP*&8?B4)%87$bL(@^_COswp3=LYKvuh6rTlegO&ym zU=o~Bk9Yalepe71;AsXGfEx$%ZaQ_++>~@0{{2$=Zyb0I;l$qEHb8M*u^=;K9hc(! znL_z36CS^%1HRoMDwR%3kf|1tUlDR0{HQ)`%Xo1gJ=2UGSAQ>y@%Mb#Tz9hiL~%5h zKOAG=KOBp3FavYYfYm?9aktRPjlU-3)iqF1*D!PookD_j@~PWy(?n3eoP<8iD3v+a z5)8?$2!msbPgKfj_Yq38L8(Kn)glMbO-ZF*Q7IbQ~s# z7M%$8-6AEt;*kusEnMWV)IW@=5lqp%w&*F`3FKjzYaULh7*IXO>D~aGXoIbykqzVl z1F5?ss+2>$jBh~y69mt&B*AXOs@a{Y?Mc?Kfl~{!fL4S9-;1d{hpG>OmqF3V+L2`K zULK4?-0?%$DYcW9q`e?uszVD;WD=G!sXQRF99YE zlf?}Fskmw*bjD?3o`{xyH%>#DCiJ~_%2q&KYNv?)7v%dCffA}EO=F9c-D#d^IG97E z-I0WjrVL%m@@h);(-O>puzia8eEleY;RPle(rLzRh~^~+voQs02d9#{`yz&U;YIZA zhq8r#h~Sqw_+j)0Yn~@;7@Qx&SLQeE2f+?uH9;-(QuLcZRrsR9TFm?r1HV1)T{LCPOX*rn)Nt!~4i4GKVD&PQz!jdD6Aj!gYPU|AlKbIWw_9$!yWR1|X zn@_=rNz;WL>}6n%0M|EQ>eCJ@Ho&7m6KFb%inVjVa}uIW5JY}h2-Vk9{heUn)^hyI zGeyRpgcs~|fo)uU3v5;*Hki>&TU@{6!ZCh}a`GYOMk%LuMQN!TXOz;poL)d{t>_AS zz>vAjh&qVpqQi@15p43tL3%7Y%p5w1=b}S^CQbMS_O38QiyIt>r6ospX%i zbIiBvFbHULa&ZG~KYB(YU=S>BNGUs2E4azU+nf!_#Q{2(C_yB$p*y*_ITDK_&28YF zR`IwCk1QVDh#0`Wm~uJJfXUHDO;_Fx!&}nlx5xv? zTD{7lSK0jvyI*Oi!LeNC)2I5o@Zv*_BGcX4cRnhUnPyhZNdg7r?+kvCY{N<)F>}m! z&JzB|%+RBEz?BBy3vu-nnY)5ic*!h{{cPGLf@lh2vFv^tL-D%&N^quXHJ_XGW`LXYrpFq3(`N|1i3|-q9>?Ppm;0)e z`zp$PmCJp#Ee)=B29J$+d>oG~9yjB03m&)PaT^}}czl8$3OMKv7!jAp5UZ#SvCTri8WZy=zZ*wv@7q4?a zu1i0za~G}?_>Oeb{3EKK<*0g=64$ecmk=r$CDjB?sBIv=s8 zQnjaq-QqGDS9^*wGejbU$;B-Tz34O*Tn?LzkkP2?IrSvei~cOti)NPUMQ@hsMa`xv zqFv|wjFmvf3ODtfH1!;NE{f-(S7ZhGFZ$(HxHsqcc@gMeRVdb~Bdp0Hv&uI66@EQX z;n(@3AzVgtpv6V>W<pMW*P&%0) z%?e!{(;Z~DtgRx?=hK>HL@2SKzhkodIibf&T^s|Mbya9j%)ap6)9Gj|wX;jJS%lnQ zmyHE{MBM>wJi`?1>#`JIrwx`#GcCqIrFvDuuWHu6P_H}rUiUKJsa|GQ`8w6Eol-WP zv%Wvw>G|ALUmz*-Ba$i>@@LZE_Eo<{hoKP3uRAtVBSja81--lZo;Q=mwn?M&uQRlJ zhKcakiI}Fg!+BNTJ5Zy^yR+@rbligQ#ICM?-@BjM*WoeUYWuvxlY z7gz5vkM70xAxmvkU=P+`Oo8U1H`8vZq%Rkl;NK*WdY`-w_R=J|f*~IUk;8vN z^F8P?XO~N^KNrWUc##0gb2t%++BP><`;6lt6W;F#WBxhsLg%?u?Yna9K1T(_FV+VMd@7kQR7 zupAAv4L_V+K-Q=_SKl`a>JJBF$$}r_r8238lI}E=T&rPHFZ)+JEN9Yiz!7LDMx&kB zfX>DM_9eLo_z7HQA3rbTlu(6KJRA+)x7TIOUk6t%!gm-E;X;Did?MX6jm zW_b|^^l31a-e8#wda>u1;`t?W$<7I^IhO+4lM7%D*y|Pp-%LBx5tgaLm8OUXCojDy zO%+H-<3)7n4Lp9y3+YA7BGri}hcGv%{vBQ@7i6Ja;Q7Abp|nLG=M7*}!Qj9RYU7+- zhg^2CksBBk7N%;PNmhR(ROyp$vN1_NuY$lOs*jj8&fy6A5mq|A=*N83A2B2JN9fQQ zElq=>8)pEM8b!IJEb@?^ks&=JX9RDlB0x-onR3WMI4jFb)$;Uq4Nc3*3meZnb>kxR|S(>(Z3!+F`F*|H*Slb~q+NdG*#1$^^V1; zv}f8~zPbWMk)c)cfFbB>53sDAqeTu7(4FcNYK8A}7?+J33fE0$V=^Nb!7Ff6jTce= zrJ@e|m{~!q-4Y)|;VwDuby9}6>orIG`4pXO4J8M(&h2fE*ZeKD8c z>cF~r&md2(hdddS$u%gG8`m^)s-G#swA?=?7x*rUUW6~F7J6k{ry8zLvcqj{x2p(;CICy07(4yp4T!1{I zRz&P1mv(W#cS*l@$-xA)3s@JShm`QUNsm;qu-$2=gm zbj;Chclb2t{>6=KJ=V_BMI41o7x^e$y2xAz91{TO6bDg%75NKUcnfU7s>$Szwh{-Vaz6-|1UTEpF7(spXfjJ|NiyJ<(t27@V#vp zfA;J7H-7pTv0DcJn_r&#tU*68j3<<0G-cmKs- z9lxvmum8o{|8Vek@BH8YGV{~_?8*CQ_W!T{_P783!oklpzIpH8ZuuX-x;Xor|LNa- zchkT6Uv75)vVP>h9=-K{+ugVO|M|&Z_pJXPq@mybgr$DmM_o`SB3*lm#nRa$^TkSG zwwR}Y_@S9I`ME+RKWS022i2OAVb!i7*A^jf%3NW5zLMXZoi0z5=8A>!&DqcA=gNiB%dQrWAo$1!o=tD=TDR#%FpZ`zvGVF=)~xb;hoz@@3TYApXq-7r*OW&t*qOl&7K~P!;*g6F`O+64#ak`yo!g3O} z;Vp5}7bvpL_VR7i`5-ALA}c-k)^Bfe;dw3-Z%#uQp%6k~f8pk=-L5l%z~mTRm`)GK z^aJj~4~2t-+E@#R<+vTeYx{U;fB^#~aDg1B)9dVZcw8usAd*XY5e@jU9=#vyMt{>A zxgTpCp5(&MC^?iy5>|x%+)hi`)A@2acRH^y*w92_rJ7gbD(ZStek^t&87 z$DyZztNE)o$MR4DX%{b@eKwuSk&RYlW26%ogw@|T_;Wh!Hiu6z!gbpd=v$9%O9+%? zGRz2mnkr89fobBRq(~&v=dbyut*h4p&L?4z(+UM|X|dfFUf<;#?M`@!xS^+u2YWN= zOj?dmN|UhLFggx2VeFVgk#IU4mWt&cp3fD_O1YMbmn(C|%Rd|Wz z`ZJ^8pub8(l(n3wts-4oO2=XD67De34nixTisQ0APW4qRKsv+iNSbGPu@`88RIu0! z?HP=^o1kUePiUu;0o8)VB1L!UcPHK)^9vo4&~Hb-p_y{EEfGn(POs6tqG7ZtVVzDv|JXS8lYU#@YPt2fC72+A;h|>KkDcW=<)Ei!;g3m{iw^f z0#T+FtgoxpZ}gt49d?Y4jt*%Y?C7?P&gvcl)sS~tw!HYcEOZM!yM3v(08#)#^&lWn zyC)#f*BV2ne-;1QT?dOrS~^2J!tG0vTajJu!umxx)iS!bXXDg zld#e;4oZ*OaRCIa^QW5&kX+oEk#*jbg~xp1gr|XxN%u6cWd(Q+t+DhmJ7U6u3GcSl zXHJ|cl(VJT3gN%mvxQ5yr*zb)s!FkH9*ncskkeq=X_-$MVZiV#1uVtTh)F zV+Uh;izgX@d`%|-azwZ_oskYh9KsazetNKj07he$mBWw?164_c)C2?ivRZIvk3HB46V4YVAHc?;K}cQ?_*L(@}z)1X61I3A)e(zo^i~ zf~e1izM&?kX?)VzKpR_w8K^3-OA!wOjit7y7-AIyJqLCeG zP8j?%S%&RoI2jfm5bdYLWgLDbgjOS22D&&vWiku}629Ir=56UBlUz#|GcKVpA_|>a zd^m0PfZM^f8aIj-x1nP-mcUQF3B?0-3y4mG(5sySXPN1>+9{wHK_I4^8%Hb_+6ari z_a}Uv=S0Fg7`psQ+2_?qz5(h$DB8T)8Auo>1pVxpJU+2*sZO}|dK48vIngmhJ|TQR zC@`hgTWTG=M@tnyC87ODX^NmYof`0=eiba~Ut zeHqWwQ023aj0|oc93ED}kyw1x0gDs=&RMFAMxL0k!HfwDyn9f(ulqT2S5L5BK z{P_Iof6R){T51jzADWpe{ZrI?e{OE(pJJf*&&`$Q{wXRxkgMd1|Ckj6!_oY>+KJ$23g58Xzk~sQehM$Qnsga;i*m7o)cFsZ;IU6Z<32o@P&QaRs{Np z&IOyTKSDSpoyoQqbnCLAi*-fg6s&&rOolBcr5UFtFN?iGz7U6Za`AgaOEbYfN?v9h z{yuJ)D8n}x9?Ed|B`{G7SVGVt0j2pY;o(4YT!*=Eu9K=+8Br*%6_SfTg=AtuJYCoIX#0!Z^B{V;FntW0t1H z$_$Xj=(0meFchOKmb3U)YVlVrg|ql>a*>Alw;~e!HdM(XZa3l9zrcyR_zOzMMh76k z9R;?|D81-d=G!4`;WGQJy@UB26qRXb);To>EYVC_D2aq9R$FO@t=QC|TMOw8Hp&C0 zWQ@iY*^=CoBxr$JQhw|0M5^|lasQt!elN!F7wR*-c0b*al26RBPTT}Fu_3C#Jzm}ypr?@O#}(zXOY z&F>{NUnz0@X{_le7@saT8L9y^zfmG~DI^*tAK|`6DU(RkD9d6;9U_J^;NL=&FbZaR zl(YA82X}ROu*01m1gsEmGjx@ zRl#94H$$MavI?P3cok-Ol-Jj&{5&*#OPmQuxLB90ezRty!G+Kya&1X1OnMT%D<+b{uRBaD4} z!fvhMf3I)pL9|47^Md_4KQCg_Eqpz7FS28eUC>>*S6`SdTp>I}F%U^mOT_A{fRev+T8?NfgM7(6`z=N@Mn%Unze@7a!X+5M?{LFgj0 znQNz5oaPj*>FMs?W-V0Dbu(bZsX$a@Sy~lIwWk&{e6f(KwZ#d}QZN;}4lMOkrWXWn zvhAr+)R(G1Ovy9J`aIzFDBNk5Y(9@zIuJT=xk0;&8lGNf+Z{x~oTnd?v3zXgU1l`( zvuUOb%kN0hx7q9H%thDnKh2D9is34Rd&L&<=)A7MYN3^8)<(7Vac=9%z1(28d2ar- z>27g5`fj3eu0PJ!>t5o4M}@SM(KN z%{O+awV$h_-!q~7sik)))MQ6h_>-1HYzCATy%XIqrolHosIhucs4q{2m-%cPfrJ?) zUfwi;6bSUTQC={``t#OCi**s|&+CipCs;-qw*fsWP{$Ke$0^wL2{t(J+klJZU( zzHoGlv@HYUp6+qlj;vh9ZTi$*wJbd>EHFyFbL2Gofp;2->lSpaxnI8iWc$@Y7Wmj@wIC3m-WLBkS zApKGdWaHA7<6ehrxAbbCPa59&LEU@Nn=*;9=tt$D;!* z>P{%jb&7o@w-X^<2P8O~_^a+-}TvTAJH3+oIi%wpzv(ibazmRg@H7PsUd$*ITVIUCra}(6@+#2 zUB2csqf3)H)aw|HYQDw1#z+t}t+6ShF_zQoBJ58lmQZg?b>wFrDa@5-rfIbKhKW$; zl%=|4_$P#Ur_{ZcI?N0W1RwJz<#6tNX})q_er7U1m!JDUJU;3brV5j=e5zUC!>}x9 z9(tE6h5OF+noAgp*C$vlEzEIpWQm~agRDv@9a8E98$i1R<4gn#)j;71xgqe;<}w3R z2zjD+zNfJ&ST+X;o|>10@)L)P=D5 zVTWaysO6`z-!M8wf*P{TFvQcji8I)wx#_$N@ic}Qjv02??HO!x-nKLOv)IrwGBZ>r z0}kx#>Qn9wmP*mWXYTsUMBdxt8qUHjcPA&k+KFvJ+hihNE@Kwa4C9@dDrvBD%9Ye< zERsW*Y)kzylvvsv2&fbgK(v_H0?-zx>hJRNH|W#Dvsi6*q@#mCL{}FKfw&zk#Ma)? z;dVI~pSk?$Lb-w!$L)B+?Y8YSt>j;l8^1o65PnvwyF`I>>_xq8bBUKC)QxLT1op}$ z79BfNnybjTV=a|u^Am+!ajI0DWZ;Oys`l-5mP*iqoOq}Lp1M*Wvpaxs0B*9*ES|~5 z>(~JYinzo;rx@%aD7*VFvoblA{PZkO4mwmhGe>X?BaPz4Cu4`jUMWmGq%ThBct$ZY zjI>|Dh^fBfy2zHBs1zQdJ%wVR%5aUh*6&#b>>3NF*RC;AaSaY?)gw7n&-czot^h#t zY++`ybhf-Dyhj)MaVRa&iNecuf)-_dQY7T|YBw6Ox0uh(aR4{iN!EUda~6Q7%mTYx zX0ZHui{Ru=#?vn zGnzJ+pDps@0)QsON2^c$f%!}OVz8~ zT&Xg=UE(Wqh3PG4&kzJJ&vJ)*Eaje{!21z)T*5HP^B6pT&QJPYtdRM+qPJq0wG1m^ z-d*JMEY>i*_xoP#qWk$S6Z`Kh&5poL_%K(8*~hF*^x9I#cy>@59WP#ODD?}|MYB91 zI!4K(xU$94=QoAmQZXZ9L1}bxZ)tj#pzoxt67QU<7iAXsoyWTq2!2s}v?wgco?=B` zaDVH?j}tx@SafCmjumz38!go*LH8FbXATl<$Yp-VE9nGQQGElVmFs!z=m7QUBGqDnq+!L1$M<({A|N9n9u;oAGq z0lv&9O#Tr%Q0B5zA#d{~;Rm?uj%%^WqRT8RF|^_s2gq^l^geR}PY2)OO9Vmd-C<@s zVF2^R$?Qz20%kf5!28h_cUx+YmIC0p!L{?CPqp~HS*;kN%Y2dMeZENZzUH@|>Y$(M z;IcPC>OPUy#f{7^!8jpl3ty@)E$Vg2Muu4(B3AK?*?=$VHCcbrlQ)5(lNU`W_~3o` zs>x%WtQ>I37QwZ?zqHg&48`$zLYxS+(ZZmK9av>XeUU>N$=#M3L-zaf<@xFS2hE+Z zz46Q7I%`*|7UyS$`WuwM8qlJfBD4vKM3}Oqzh;@uK0EFkegRZ~Lpa|MoOk3p4*V9; z`@7_V%Z*ASsmHpZlEK6B*m`C;Y`~QskE07ioqgocJoNgDB1DOMR#82vKWBu6VIziT z=er$zPa`26d>13`n~cyHm0kNTPm>o1p4ty-&ws&E$D1WpHfN9Xz6)&H4}KHhW^1(= z*gfXUPx9JqT%@mhnLx;Y%MuY#Ryt8Sk()c6uarZQ0-LkVk~1F+T5SHXvIM6rb>hz< zA0vp)zWtv$c{iPS3C-AxigD(Y4KwsGqJ+DjMJM%GS`0tD%(lW_#%45D-#}GpyFB%m zJx15d5xyy_J<}OX)wf)Z@jO-OXd%XDCUm32sdrDXL_6L00|QEa&vI%v1~`T zE8>W&KSDi+Kp~S{b$zhc&e2AJ7qWwWFdff!PEx)kv3cX- z>@}?+^i-U1a;cVY1)dW7spR0@BhEC7;xPqA_5U-%#WA;gOEXi2)AMtTuMh6aPvz!| z6|D~laP33?H7}c6Ew%A|#Z(BkCX$UU!V61iOFJ9vIPTP8`GB?judopW@X-K0UVx7y zAF`l%=*DrdGHQI&nM!5$&aGQP(}RJ9)i+q0JH7R6dFu%`8R{f5{e|E~rPKH2C-Q|y z@^i=YbB`1z@`Hy0VS9@OIEL^Pj>bnYpipP4vDh+KYd#ya7~_DrCIcdarQhno7F zpWAv&cn=hDM0RocgxdkqM?AH!WKAPoIWB1qi zg+d<9em+;6&zE<9P2Pih!QFaPR4`v65*fh5VdW;LQ)?2kryT&sNq~taa?V8Au*GX| zu5S#qH&U29;k4f~$IKw6R4IhI7YGX_FFs+=+WgVRo&X*4yiZ{~-~2{utzh1O+QSXmc1s6AK7zwijcLYj8*NDSFjDh} zFCrpq%^?>ob(T@YiK&%Np7*)v`4DG}jSpC+>TfXqab5d)~1iC5gXr5Ak*uu1tItbK>BcUB}#*#RSkv|bxdF(b(a?&D;j%Q=eIIeZ; zn|&|96%Lp2`nTTKAOXj>fwik2v&C2>VYrKyM#u2Y9pH)corL~Ye@nFKAvd)tX7e`$ zpd*zwgl92r!{R$@=oZr^(7bs~{f?EvFD9$sN~b*=D^SRFdep6Um*a(r+B(wdKly=A z*QaG#>P1oLak^QowwUp%Y(wUx)_o_6PUmOA*7{|Urs6BBr>VIv2-w@cX0C1?y+Cdp zPIr2&%iWc^c?oBp30#`0cvRTFNAs1lrMZWc7Dw?+^Jxj^g;}A6bds~$6&AyhR`0{Y~-LhVqumURI@@(zpX1b_WF#JbdS2xcHB&R z>aiiBbw{WWlQ`LU!`9~iMA!dqEo}3)h||=6;P;BfX*}P3b|TPSafA}c&x;BTP`F^z zm|MY9TPcT516dG92=T|pz@*%J-{Av%QSj?OXr1(SX8eMlo3Bi5857new%q3n`Lj4j z=sdfP@itB34*HSDKrGTOodcl}pEW*VGw(eEg_zt~t@(067{f(^XOpz|vAz8Z%yY&e zb^~j9zPhbn*0+=AH240T=H8#nfX;v^Lf9lL!kR?mT&hviu{yQpGB=8Sw1_Ab|8$Uk zISe(DjmfOtVVsT=jf%-ZF^(udSu)&2!VPW@4T$c}eWkMp3#ZQ%>90aG^?mcjeAgKh zuw|}9BSEO%K&!0xm*ys$^SXXs+BTCis7FgQtTU(e4X8hkxDld3sIfHn11$fSW9w8o zzH^Usurhe6{)c3Z1;K06xOg$6UM0-_oSbW5uFG;^p4aSi@eQ-)Y#?my*{-kwNo?;U6E(zb6=dn;Iw`dMBAU* z#0r17rheE6!oVa=jPKQ=(M%c@%RNZxG`?H`GoZEKI7DuY~8wbj@M4lbb>lXX+RKJ+vmKilwtcXe;ls z|3Cqt$A}(OuW1{h2_`VXoG0v|J;Ls^2syf<^6~&XjH;+>0$eYRC~fnxVTr~%Yno?O zradMWF=1H^f|P6$Erajaw!6uNpA({zTzHvM(Et<9a@0^~T~42#|wA-(|OpLXpGzIAE?e@L_gA zWy!tH+?`+4h_8Hyt8uZ@i@<#GMf*kXqWz*H8s>ozR^o14H23TmBW}3hbhl*?=#XwX z2XzGM0*jU%UQy1C!7F?H3f|dYbiA~plYY^?%TBSaRy}UK!}t`?&0%px-O|)!y8@`a ze)3q=`Z_&DEExtGeI_bE*6MA)tz49E499h{3F6<7eHh00r|xkZp8r))eS-<5=IcMO^peb|-(6;}3iV zCZhm*H2n27sH*@bG%k1H?7HTCA1Ht6Hl>D%eFl&#t{0bn0*j5O4VrP zx}xJ0x6NnfJXhpKJ08|Mg0Ph~WQbF0OIOx`7#RMMuQO{~o(BX~<8p^c`t+r_^KH=K zVwEsEs>@*&Dr_NE*wJozuGd{lm_WF1vTfPVViVX6X2=q_>kEN90J3Ab%9+m}@S+-~#bwmeB%tpD+n5DLds)sDb z{uxNk9HArblVLBRcm#eK0g|s>GFWW92w}J7j8q>ldJUu}^bH^l4z#1urf(=3`qH8C z+D<#^`et|`hHzO+Avlu55R@{n-|{6Bu=rmVn{%SuVBUF)DaeRU4V(wpDA!Yu9h|n* znUmg~d!X%q9`=XW5q-TAHb~Z|YCnMoGb24q_u3t)h9da)8iWhej&yQsGYWHrFTVB? zzT)AfL7WuF;E`ORNQWq7_g6&x{J`Lm!p431GmnjTx7uA|*q5a(H>DPiF|O#5^rD#K z59>N+RQP^IbARhl2l*0L%-g>!DC6&4+!=3jBeV=<6BE2)X7GTeZq=;s?9^OoTJRr2 zm56rt#WEjdZtHrVp1{|7NvgU6>U zv-|QzO#OKoUqfPiB$h4pKJC684#@8r@m*$x8{qz$2JWw|v)f>5uko7k(-!w<9YQBi zo9gr|Ol?$7+}M9ibC>6l>|>Tn-ZNjBov$#0DA&(|bsZ!0X|EARl_U1Lwt7x3mv28M zgpaQ45k7RU$NdxuetB#Y-r(2cUV41`rtt>?;|qPMgBfqHu_J@nT~5g-?Vg62LVRdJM1YF}yC8*2O5aL#1MIQt^%JI-buH zmdg1nS`ZaOPx{Qj!DGJMt{$o&>G_eY3rn*(PKaPD=K22oxCb~BA*;>{8UFf7BUOD| zpW$rN*|=fU`6gDrZ(;2@_1Iy9V6dNgXh-yc2H}#&wfU1A!g_j_8=vk7xI0Mlz`2>Bx$vS# zZd>Y#0SDVW>C=6M@*i<6wk@bR8i0GM<}w=@Ik6AM zV6`Q~`cRL3A&nLg&Qe*W1)m^zeP|jIxuuz0WyNH$G`0x>KN~i%8P-i3_)OXaCE7lG zdBWNdwXF>|TWa0m!gOKfg20G?rEG{qKqJ6XzhNm>6ierrDH67arrjF4XT%ENgoqB9!n{$Q+NmR z7CJgZsDdW~?X>}1JZ({kM$o;F@R!nb;j8(U6E5aL|A4u@FF%`KZPI9I%rd3%rJGp@ zxiWWtm8BSE#y&DtY*u#C{NM*~L1xr_UunEB(|Q$BqtY3Il*ea_g-XjLo>6uoekN&T zA$ErSh;cJ}F~fLa)G_+MeP&mkVd(HQG!phqOh8y5&z6KV$3h34Jh4{`+!J|WsrZ3h zxuTO{Ps7VekcV*?!Wl;fM}?0A=g1wSqXPeR1nt0^I3=As*}#;3NAY#$pL9i6;mc<0XTr*tTP8c>DMrd2(zUofw}O8lKuY zvU6y12lZmd#MJmWHH|9V$sj*sU_V zPlJ4Za1v-V{rh7-J%Gno=c>zm0R9px7LRmMK1`DwGaibC!SKZ@V5r8OJGnPJf$dc}cHw znj!E1h#JQjQ2B&&slAkDn!h51uLG4S{HQw2A40^x&4Dzt+>Y}UpX2nZDeZ$QO=(U2 z`}n&=6Wp%ZP`gc@EVmEeS{kIV{nXPe<(|`}pXIoRC=8$2p~I2d9S@ZMdH#-4IZ*Bh zrIWuqDE+7oL!Lw2H>97T(u;u}n6?ZO){L(v;opzd5z2Fz;!ktxz5LOh^W2lu3LgSe zEyA*DfO@-$-rMvjZ(-N4+CgET}m6gH=45dU^@pYPFaE9gF(ahqAS?_;V{K{E?&MY;F@W~=$m zsz9_2k1Tb8eRhJxwGpsTO;@RzIbWu|ee|Gd|uaGoLWZ6F0YFKd z-afzmW@c64O|k&uMY1+_+9CGHTv%8-%tPF|L2YE zTkwwo|M$iWLpGbZOYxb$^UN7L{q(`Vd-Ib16py~lJ^N+`pJ43ttNbeiUweBr{^37a z^e!+RFC3kDo*$VJtRozqo8CM2Y2mtOQ4~0nMZ}I$W6(I^Vm32_W$x=M&vq;`VxbY; zn-Tnn84sqrV1_@X5Ae!2W*f|9Gv-Bx@m@wmwb?U)%Z(drbM(EF2KGQA7ox~Lc?Pg3qx2F39lX?!sQ4?g{1T>D|@Ok8F>yIqD6n~iYAH*CrR z=2`6G$zpTF@U!g5zvlr&0C@9K0whH~FFE~Grl?PT)EPZ_3=UL|s+u4Hv4=bXT>5?) zE;Hm%jwAf-nE{8^x$|)SonwU)(WM{E%;+PF?tQxf1PPqXXgp)Ga9leyLYm2#Eb-*R zY{uM-A_nj=J=-|;i7HL^xnTx(3j{?t%Fc6b2Cx%&2o--HbKO~9sak3Rk&4ipF3h{Nnye0jw` zUI+ezW5XIV&&p4qiCq5n>+_?Rr!QRR8(&8ggjq!6@zD%<;T=1A{_AQ^bbIeVUIc+3 z91HY_mrejX0Pavw_}_j-w1mjxUjE6jea@lp@r6IVT*v8FoQ!1Jqf66qnf-(D+jqYo zVg~W*A7s_ue({*8Ma+VR0ZD0tBIWcb7?Y$Yy z;Q9ZGEzj>w?~d6>mOxT| zu#y&65o4)%jky?BXi*j)J-^BoWN5qz7z+0=|NS@t zOL8(j;NKzQ#iA7gu#gGis$jSB?1hW@+z*gRp$=q%#>B!O^0T@i1PV)m13!cFaLU0Y zz$A$OIcj`wUeY6K?+JOwUk4Fgb%5W-zaL*b&0+Ou$o+N+yac}by~a2vKbMRIUn-4t z%OXiQxFR4lV|;@DzZotsOQHO71;*EMBu=TI&KZ^q$}Msw;|HUhu!{^zGBi-)fz#(6 zzrZj54D^H?JNH|`Tq2Eq4LkU?ICbDhpzy%59-JUrzz&G5meE*zlu*c_YBU;+@*J*Y zeCGkUiIiIZh0LtDYyklA5RP90CBwL5QDSxSq4Eo${|o6kdH`%kI`}{4wsiEt3?tG$ zkgNYma`h7R&M2_)!e_zPbKhQYf+4AU$2^eM2xekX$YGItZ*%aEB$AJ+AAZnL-~RC~ z`Y|S`8bkc@(Rh->JdLUhlsdC?U}wuqhq?9%$JB|TwzCz-w?WZ*4$>|#ttk1fs%rP1 zg%-R3G+?ti^K9l>=&Oky8Q5u3czN?hL;}NKMDVAgf)p-66h9SI?bA!CI=*L9$8+e< zv5Cevf8z(xe)DgYK$0Wt^8J{9{NabU27I^yCFyTJ@;`q4Qz>HN7x7vC;uYwi1pgREVZn3E6lx3Y15{gd(Az3E2(9Y+5A zzmXOGH{c!(zyGG+e_t~?Ux*kTtZxRpoSJTk|DxK7|M-#k%QC$QFr6r)T(NdUJ zLy#876W@1}7o`ShMC>Vgj)q&n?iQ{Yp!X3TN8;gh+S-1?ALy_Hn2{T-+5#>6Dnxtp zb8s=6gHRMJ4{6!_!zlYiBS?V3&*WL94yDd;RI}3 z-+AsXBeA4iJ{SB3JQbGEgv)sC`i~Khc?^{pbp@*=XWzg-U~wGHmg0+}tjkEQfz+{f zy}4^HI^n|^h|A^0KfvB|qUGl~+9qq9McZ9fk(UV73cQ`P83D|BU}27+E$&X6pyDzE zb^>oMNIQA<_U$vIgJ=JO|BAJS#Dzdu(=fx|pgq+AZ1b~Q`X^)IQ`;T~Cc2YJx zN_alK11B##9*ObX4Xo)tn#<6bqm(2as|iY7gQ6UTa>D%N%g4a#{k`mopF)bh(%%X|d{j*ik~ypnrc`S5GChtWlgBmawV(Bi$zOXKrjN^E;0E9PN*S`z;A zI(^uRuNLh3-#b5i@63>m;W*UgpI`35ZX{Kgdpk`dG6VFA#L6b9J@NI436g{6A?}K# zZF)<79Qn~Kp>I65`7v>(*ujfO#qsXp7)Np{i;oFE;J^8M%z9@a52<4u+Mga@#m?jB zzaqBzWzjOd)3r=Iemw@g@q>~4T{u5~i(jDWN?sQ;hY5&~t0e1O<;Bh|?BgEOvoBrq4j!;D7-}UXKcklb4=2dK^rjOohd~n<%Rq_;vpZNZg~6;` zadN8Uu}KBaaPH6NZhxg$pgWlWJ9J%q0jOO%Ps~0~f=q7ZRaRw&5pT_jr$DKWH~n0y z5R#@iUplHKxjf5Bn=#oHKU;XYQD*a^Ae-4c(uc$6F;YRpJ|( zpqv!6VQ&=jx)SQ*cO-$e{0~g7u6SU2`N&T;ZQ)|=x94 z4h3e}sR$8Zg0N2O+XydG3Im&l&0KZ|Aj>)RovdyvpTc+86SEcwW59^Za-lNv$DAlB zog4IAZ!rT4e}eH>xfvZ|j^cr+xZ%}Pw}|s=5Jp>C38q{z-UJE7^cy3o?N34$JP0ot z0-Hzes+@94ooO%`Ld8@Ms+L*VqLJhuQeZuaTC=_~Ge< zzFVe3<)4f{8Oyb?@+%@pNrR!`OyjNb`ox&vKLuAxJiiG~#PMq6d%WQ*h&^<3SbU0T z5CKI-(ShlCZASNTy#CfSl{?gP6MY(}Do^p8pbNy9`mUWfjZmaeNZTWuV4MryC5#MQ z8r={QhjqzqNn=bx-(3_~1<-0h#{V?%XEaja15}UyZ<{vdSvddrV4YcY!V}JJuScIQ z#>U5A&J(#r{4wKWO5ZLQE&ce{9N#3qMk9+L)BLcU_D*P!>a2@?Qnz^HM zV6rv`@x>EJ?2sUTgQ7d&UmxRhe`f9+fpnXMp0$s75c5r;ef?Py$b|WFZ1~_{PEy6k z5bCZET+W|UqDbJ#R=mEIhpsqK_QjG@xc1;}NfG%A+XhLZThjPw!m=A93zY-OXKedO zCL}-l#bJ-fy}%Zu#qmy{OYqKcQgWR11!A5=)eVTRQGqdCoPU_CZO#{HJirPoGPm@r z9kVwj?#B6;z(9e&iSK)pdAAD+&_~LkM7D;=gfb3* zC=3&wonN4lZqF&83HR-KaJ+ZIxoa-R42TA(r%R4x^QnzU%-xOb6&p^`rTFI34~Q}M zMwu736Zt_Om|!$>V~9|~1K({54g8DVvCs$n+Xj3tPwl-KnVCC)t3NxbK!98pY$s6f zLr|+3{c8nuER#3O;+z0z-{8-yVO^?U+=#hl7y;3kh%Lqp6%wlB;GwmyZvu0vPatvJ zG~rd{P{5>&at+eEiX1tmd2z2R ze>vncx2m7O|E^8E84!P9*qG3m#m0}D=Eqos2t~sTwssaSJ#q&*-hzOxdQ|bf`@r}7 z1y8D$?3#5!VmdJm5Xi@s>%)KHfbOlrU(P1F(eL3$L3+PJ%<3D;Wh2PkaFY0zizhlbz$< z1o1P$Y*VooTWK*?Y6Vtqx;P0=K&SFaUUNcj*qo(m40+M_ueTz1RZ8dc76>;Dd;y0z zPmt=h5y^A7gllk>Fzz}GIiSUz`wK7PDB)jVey10;Ok1gyZ%H=|Q_3~*17^Ql9(O?? zU;*-&dTD&bu$nB9H@(2@Zsbm!DJGj2{LJ_}=r>7~zB**E4vU#3)yI_F$f^-Ue&A_( z6(SsoBCq9U6X_tv78{5EJemQ)DdMFK;diV#kz2l;rx{Yg0JAZiRuB;zXhrZHeE4>5 zDia6j*1!)b;UePma68Ld0VZ*_3ZxVVFU2e<=gAg>qx560ISpLYw!c#2LIS=Im}yH#3;jL!eYY2tib9pNPPOF; zxLJ6&$%fq$d09_oDj~ZPeJM;&Z5&Tr-};7WC6VJ686YsW>?9n@-27E0!SzsI&6Uc^ zKJoe(xmsh~wFCCYj0f*d80Fnyq$crq+GJd4j}L$+sjz|KoLj0ySSw0|0J3wKJ6tdD zRB?@*x}sEI?g_`%qLoxq|bB0YrRedOM27>+^ zS?06>ErYBIIh>-RA)h}wmDN8}_KB)RH5Bx~XQ~-^BAQ)(2ie!oqzrHCh5i9cXVYbs7r38F$E%zrYnzWL=7HMqKr+ZaK0+c-{URp z43r|Qn9e92KWmtk6=CL6P?hD-APV6!k2G-30PA4PpZuM}di|U*m8kL~%Z{Yy-GG~% zVv(dYy|Jhs7cb5;Z3YNG@&X5s4%YL638=Cc&QM~_HBJ?vmH*ic@6UZ(`QBcXa5K@E zzUPUR=v}CV*i`^uGxQ1Ad`=YCVI;Gd4EuW?-FfE+fbSWTpJFMRKRiR z)!fqZE(nKWPkc(`JE43?pJ()m&=HIWd&H*#;~0;6>bzgCSumoX1`mJ@C?x99_vOx_ z_f$>-Nj}p?h31x%CZ;(z^hY0I_3s!QTQXFS^9DS&PBBaobc3mgF1lm^3<0wiL5K;7 z=wu3w7d*Qe9mi9QscziYlmpuzEY!+tDA}SyzRc7Y(lt9e59w~+w#e<_284Dgj*t?fcTuQ3rku*!Z0YPftHgx^;% z?rf*FKsLXImOdaVJ%Os2P5K z6ZVu2N9E2`QX7>nU-zEKS{3sh3xnQJy)PO<6_U{;G9Yb(?9fh5Jk7)dQ1}W;O>kvg z$Zn>o%h#Gnp?|92L;Rt9662-fN8VJqT=oIQHjUq_@RkLRzX%IA`YC(AqR$r{ol*)X z70*qqC6x+I!SJgDHCWA{;90Ad8j`uRCwDG3sovzd%{gdSu6wo9wE;J4kz?W_F1Y%V z)%Lf-Mxqndybb)ok3`O!zR8*OL1+@yxB)xKKDtB;aj3CB4ooYbT3d<7#ZE?X ztYZmWCa%)8<7noZ+G@<5&SEJEvyykRTKw4;AHL(NcHGFa0xbym(Y-X|K@EW5k}`U# zz(^{2V}r5D;*OkLH_Tbk*Fhi2Cn~FIrg+hK;A0ce zs1Ba|LU=KGT(O*|UT_kBSBBY%iGkpNi!`n$l`w^2csOZc_0`%vvO~7u+rvajn|gl+ zScCB_rXkmbyNFM?1(N!7)nrhZm~KOJ&un=bwzIqUjlHGPhy;Sae*Lchv#N;KLJX}0 zo`|)IQUSG7CkUg;VYMye`@2-Q?r-1y-Vw@Q7f}xXdv)MwUpeaQ;;13R?p-@iO=W|; zN)Pg?E0X-aoFw6YuQge=L6$3r{k}LX7^#6K_LYOYP7m_Bn-jA^O*>e%tTPj*0Qh0t zk*~qRu|2%I&iqFQ9E!-QMB7AX_LEUfHfEgP8xEZIB;mf9d+PjP&ix% z&X%V^J8;tI)()KAvO*d`xpv@a2hPetI(Fa)lGF|y?ZDXuVlNw{V+W3kns%^iS!X8B zKpi-1urMrpXXhO_n3Ft2{|&B7yKhPnw9^P_le48kH5lJb3T~aaZm7t>ZhCIg_#3X{ zX1jx+{Wd9NYq!mA*&a<`TzhS_*JkA)9eZs!MQW#wcG~O$t(OhbvC~FDLpxNBtSiH2 zpdOpmI2e?bv-AF%FJ|Bk(O-k>(*BxK1no3J+GJ~KPz}aklY(0({u-QbNBuQv{0-M% zv)w_^{+blBwZCS!%#J27uKhLIU$b(Mj{P;9BDKFp`)hWA*2@Oz*k7Zdp&hD5)|Fv1 zP=C#891P0J*?E7>1@*Ze zX3Nu{9XDxoYtPMY86b_IT)S?x>t^L39lLG>NowDX_TB6Pv6l_fvF}DjO*>e%tTPj5 zpzfPBSQwVQv-1v|OEWUvAv$nqVcLOHj-uU0Nt@g)1FXR~aMFTYwIMO)=x~Q@@UCb)!>;B}aAd0A=K`-eq|57K6P3 zvcWEwTLa_Lsdq-XLJjDen;U)VwjndWG2Aa|$rU zpks$SLoKL_jZxi$4)=wD^j++W@&h{D7pW;-Y>eNWcepdsp}W`_Hz}Lk**LQ^`11n0 zk0Z&yTTG|Q679^emKLaI#)RIA1+~;>q|FhJjuwYc7gtT};^T&0jQ(InNx%o-@B7!% zSMbgU<pKW5F|lQOeAdX{-fdJu3TN{<^X%jFQ)l7Qv(k^M62O^l z=eYm<z8=gG1bvxRF$TrEry2s$(@oFdG8i#_OJn8=?28}jE&w6<5aG&oH7 zCYk`*^(K(r(wVIWr4^_p;58}^Kq4Xd!sJgt?8VbO0NI0XPPKK%FB@+rr+~LNFDIu4 zi$`gB#g&))&I}pn!Q@vB7`_ikL&5C%Hkp;^j}UuGHey5pYepV_RN2nRpa0j@4Ba74 zlnaXbzs*4d-h5yI5MHulvQx>DUI~RdjLs^qaSSsZot_tFo{+x@*R|R^Ef4GY$~A7s z1J|PF0#!QTTE_*IM^&iE5%`I(bXv+F8xbVMpa=o+-6rTIdxC=yF5IY1sEvJ2zltEb z5f=+4x*PFy#z&QJQD|S)VOQKB{@+=tYfh{f)HZS1A(jwIuV{hz3aemuVQ2CFu72>;o86 z)O@YFKm<(5m8SCh1Wg)QakBn#iXZ_@pL3DA>-crZgF9Xk;Gqbz*v!25UFmZc&w$Rz zZ&D1~j7-CvV0bmxy`;RDFbaXV5Bx_ZWj$7KDy}+*xp>hyo(b5HTGE1o?WTS(?F)1KEo?CfQ z3YcEIR_>U@b;?B{m@;~Bo;8mCd_x8^ZVBG`CkuSz_`Byyo7qOk`Cu*qpOy5;J=09->%tN0T)~O z1ZXhM7x>=|i}+BefJ)3xyGjSCH7ux4ME zvC90MifgFk7L*kY>1==HN?F!Fnk;4P5B6G zcsDVx$tgWYSAyTz62m!LXVTe?4er(fG5RbGnARMBc}O(QQ$%R^A_y=PBFU#{mtB(i z=*uWrFgkdsKu%7lrW?}d)(>EQyIJ#*S2E~aK`P*2D-DT{_6zdkqf;?97e!60N(EpJ zk)OFa2sF&c3NYBKo6iCOG0bTWl$iuYVR{T4XRD2CgCcZ4WT?BMj+3E;>Z(qTkQ&u^ zD3bRRJhlxdra`!YuAuzT)17KRC7T?cd3BZpPFo6488BMXf>MOh2meUT-n9B6$_Z?7 zXk>Er<^v<1?DE7Ewl}=vB29)AbXqeSir{GXz{tCh-p)*N8PoK!iSB*-ECMu57LlqT z{fIe>!V7F7O(mh`$$7%7ZFs=BBdQ}=1VD8f$+AdxGdBC`%ZHhmvfY>LRt(rDkSXX6*v}9+Mb<(xm zHp3)_5LA%oTia7eS`omprJ7QiL^iH^D;9$|~v=v9Or>Eyu&ISakYC*IIh&>{r%_%GgJfjyk?Y z)t#LglZ9td8Jb1pxK6Yb3k;3pnIA^((g5I5?mY{ii=v2_e>`Evg8Nvr1C|}_aAW|; zQGmHvO);E10oMfndW|J;UX8x%MCOO1i+?OkH+-GFOgX7_wQ}yy0EKw&AARm{8V)@mFl(I}$2OaqAV;1j&!We~nF1%+oMK-}OcKWZ5!1Pd zv21~wlxsWXaf*-yO>Hp|A2StqeXo{l@7{zxnAW#?H0UvAyKRzR8F8&5#D>VP64d#3 zom1y+1Tr%G;zakuqfe0JQ|Cz&XNSaD2J)UL^TM+SN|)hcs_F7z>GA{f?($TrN_f&s z!ZSB<9Nd!hnbaX5Zo8jJU_IXZp&U9y(DBk7BJ5W!9xquKA!Ca>%gqL3y}Pz3&blx| znZrVHfjM_uvz6G2oA~5!lS=_~>-kX&rFYg4ac0Hp1r@sX7-s>yjk}no@H5Uj%bInd zW+AJ+r;USDyH1P1TjPby0k0~Xik*+?5=|saJa$Ktq_Ph(bM%^YK7J0iEfY?! zcejh$WFX&GO`Fd*jh3|8G+bkt)iR)Ihz_t2PG)^bzu5z!UJ)lV5Rq;4 zL9FVkIl5}jfmO|+)1xZk6VJk&UK<(XO=ex03X>hw@pu|W^_t#Wv&A6op^zO`Mz@q9 z!e!PCGi?^c?g>l<;QuUmssAfL;-!g$EPLU5TXyhB?NQvcNj&0Liu|V(8b_yBsa>ti z09gf0+!jT{0c`+P_%4`Z@Hz_^j7T>>h5Hb)M@4OzAkMsLL6`<3A#x9K{kbEbP zWLE+cxGC;CaUwb@`LUI%%Vn(Xx)t-213Hc+PQimpj6vxtF7W-R==c#i3$)0R;7FL{ zjzvjvDS-MtJW?|{_5yd0k81j>#_%%7bL+l1?v@{#-FOe z*)O=SVMoOJeS&#C*eQVyhhGh3NxR{~0*ycX_fDue3*=P{KXKT;%xmC0+J9;~F0)T)_>wVSuNf16tEzHzg1Mhq^f>^V z@3;mceiEjej|0Tqg*Xm=NU@n(xdKXL?tsDibYgsmfXCj@z_yGJ{v*FUB3V@njF(jp z04!FV00O5X1m8PU90h(brtmh09dTdSRlE`WAUkP;XEm zTTpF}i?0)<*vam55{grlkkkkiWfQCO!y~kYO4f=zIC)z|R?3$ZqpO;xv5NFEzm8VG zwI)ie6kK~97gxIDy@-#iyy+5^z2d&>TQ14gQ~G?9A%V4bcT?O{DC>hH&VfdP;*_M9 zTt2TKp=$Pv!Vkvr+qaEWA*;4jOcSZF+AEL6>;0EL*82gDgyLH9QS=*m#xeSVdsysG z0W%|I)kQolmweaDk`ZX1gDNDEfLWF?;qdN*Is^!-Z6E{p)E@4d+QS;&H}=0V&-te^ zjr`g4>=%!L6GfOSEngPKL6Zz`jp7!sSurxG>x+d1rrpNptJsuh zVaNhd1EdN}RKx8eDoSiWnDQnQVeGLd@k}ifQ?Bmlly8KtB;|yw{fRTo>ps1jrdMbC zEcBj5V1!22{Rt0$lfj6X*)HQh<=c&8!i@gH>zP-CG!GKZfSZaKi0bGBc3~VC4m>Y9 zNHl^BX>^E{x76Mv0n$|{W~vw9rCNzYLQ{eeYqJxZ7J$mR?(2~5H;HRJ>*7PTOZ&6r z$~|2}!(rCT-eAz-Zl|*FSn<27N>z;Af1q1Sz?g=_FA%$OW zd#kt#BefPY1iXA&;5#iHuN1TLXr8vfzjDGMfSCSnPy$yfHxzS%7&HLA)VC-`w-e0c zn5x&yg_G36X8P?``t>DyMy@sXtCH?Vb3VrvPFVEFV2#LQObhFk^KkW8YvDzc z=L^q@cz9cPA~3hJY_>4|xH?X)vgWwiC6-%_!Fx{DiW!u!<{D!BQ6;73EmU z6SF@rqWL1KivBAbgBHMK5?(|K-Jp?ht0JcaXd;tcLY`7o?eNfgcPtM2aGfc`B<(l} zM5u1SWo=q%3qS}0b9pWE&8u$zXOY5!4qYQo>6y4J)wx0>y&#F3I9WK#5%{gJIz{u0 zoJjfW#}5W`*^Hvd@yv`qU5u3@Vye=8IW)2|BOS!oSzEbPc-pEo1neN?Vn_)BLe#1@ zbA@pPdOn%5S6vEcykbCEHb65?>{emyD&AW)-7TiB5>PZiZfc9aNCULm`tzV~fn$L5 znoZp02j8@T_9<`TEVxtdCF5aVO&Wo2g@UDsw{~H?JZos;NUvCKu4+uu!%e=RdZ<6a zG3MPvO&GSuF_hq_6%2l@w%N0I4mBkV314D~4sQ`vjT09C=a!=ZFV07Q?&D|pS*af9TNMN1|sEZO)vc`S(dZi86$0c8sV1FI>501_7Qu59L zEC?v4YD^*H!HI3!b|`@#N~nhg@P`uqGt)Egcq=qoa(3$MC*b(OGP)PF7R{8bwPf%- zGH=mhHBmOp_*D@aASQ8pEWq!=OJJK)uB?@#DzVtLIBLlXH%axs{n~-DzLJ`@(bfef zsX{_ZK07@6B*dZuIU?IG=4maM@$Mtr4_pzdcT!QU(O}$|^4S%EC*zFJ(B_$;sW~sz z_UYy}35&27l%O&(t#6NJV25}kRvOhL7STvHMhmA>4PSEXFvGogs!mEt+=8H&8FF5> zNVIj}RL{^K0@Mm`;v&$byr$kfN2dq|Zl3dQJuN~WrbMxmhc{{i>J0hZbX`M?M63>{ zzJ_B6(h&_F7F1*mC8E=q^YMhZq}W)prA=W#92F)#GL8`zA-u`RsRu9l0SJodx$)>k z_k{8J0ywp0gy^ufWOvsiu^Ak}N9&PXy7`OV@jYJ4@;4qG00GEw3-8ly1=l*>$In*g7Ui*H2adqcetU^SKXmfA9R*D&C89(sLmYQkjY z<#~N{#ST!a8pX%0!&Aq?uIY%cQYPtpenC{tVxc!V99pm0HgBRpPTx<+! zsW4md#sBIcJCc4nD&Xx>^H%v4z-wv_wmWB@+WZ>95hdqVn z6YMrhRsWbrm!meDBSY{k#Q5KZL(va7CS=MCxvDenui^^ZL&li9r>b5*70FZ#B>qiV z@ik(o)3r6D@ld_BL;8Xze9b!rqe$hu5BgU(Js zrF~$W%_a^Auj@Fjy((BtK0qQ6YwvmGNbT+ZKSR8s6J0QBW%wWn{`28+Svj+*4P%N{uS#sAuz2DBcv; zqDhCkLPl@rd#VtomfnyIQXANAZtwjds=1{Q-yQ14D%N98?<&+{X6T*>S#0bkqS#Fc@Qr-H8mrg8!EaUi0((9J2YA;ppE6|P)?IXb;b-)&)KjKCp> zHc#=P`=KzB_eS|uZwU1);%e(l!!m4TZyD-UL6Wi3S;o={RwPV5u}2K*6!!yp4%Z6g zfX>$e@8s)u)d`(%0JV)CU|B}t<5*qa7!)30RhVhw4tNA<7e|Tn+Vj%|NQD!FDyJmX zRGJ7_zN#6ZJY%Luke~bW1zu_=fgqiT@QQSpP#?x0WlHPw;IVq4BRE*NbtoPM0wn5N z9EYnyZ}U{ZNK;`VMG3D1ZMKCV@xe40vwh#U0VFM-+b8G)5RFRIa`sljrylpisf%x~ zC^uCbrVT`{;b(RC`PSH9snpeoP)v|-if9y3HghYz&Wn?7aHzju!7&mCf zDIjVUxhEA_t9JuY?^ZI+2JMw5@Q^SZucFCvo-$UNP=T`%6V>!#=_n)@Cf)9dQ1R+< z8ijfm4M?KWt#SEzx$vxNK`8VZkNJjor4rxKnx)iBmR;6QJP+jLY584MDGRJO9~?v> z6((K5VDc70V>_{%=0tq9BzG2P!|DIWZ@;TCC_zxC{K81ASrpE|PpR5s+so*3WNi`w z3I{^Vi0)hfgeBKS^+Gk6LB<>N1Yi+XDs+=@F~`Iuz8jbKYM_cc3ordu^LlrBBO~$m zapr;4^r9Moa<4)bU=nti-4)+(!2Yptu$ic7&p@T(dD{I(lQeknmLPJk4 z!CKkgbsOmYEK$`s{IW!_zYx3%#V2Mr1;h6k`~&b|VWxC6XLm7WDrHnO4k{Y3yms_2 z>*`(?7LWH^-U1U3fgeUP^Usu3{%B{On3ib`Na%8jCX7coR56`{RiYl5G10daWFC*egA>@-U&f7RkfO98weCD zmy}`OdqHk^3VjT}g?NqZTMpU%yMN#5dco_|w*I7(kBQLY2WaY-zAL0cd58bK& z-}OdteGrOx-Sn=E85V2e&F5;B%C9@m57?#YxQn1#rj|1gbKaKh;L zIq!reI#BZx>}F)l7XgZfdVMM{H-c~^FN9S|^%wcPAtjFE8Ba5p*9$<%jrdI*ZW&{r z=|4c%%)>r653G&rsj`iAWZak1Ws}yu0uFi3E#5Kk&RWXZzv6MFG6~W-A4doQSe&3z zfKcWdvqIj-s5Vb{^ON9a#QQczuGevzeG zchZzMmx*vDbnZ_uYn=OYbP59BE0$1;$wUyg?OAKtJ24wkmx07%$x$>EfKf%;&yP9FwMK- zdXfo+Hc5pmI3`xR#dInle>LJMzfZd4)zbtm2CJAIAv4Rb@g}K!`mF=4l(6^p>#KGV z$Xk?d-88mMoECE9gr<^hAV%M<$*^mUGAMb$=ama^LCJa(jv$v@6qN0d5y+{Vh0D0A zBOM7R*-s5bmBTbxc5vZ}sxdRid%?SlnNJ@Sy$uCYfKyc0b@Sf>#nsOqCF zLZ6e18kwl;^qQeHM>K74vjLNiW-)5ia^|{3A7K-DemT;>__&xhYK7ovHqZcK+dBD8 zp;sT(br`+jtuhq-?4pSI5@Q@b(nWi~p@?i+W^5FC22LHkXW>nGD_=|JXryqfQTaxr ztZC|EZc~s!X5AfmMQ+&4e_&;vS9LEdj*$1U;sPp^kSY*)L;lnzK-6&Zf_PO{V0aPN zU6gl2=phw7qC<|58t`iczGEXW?xvKeotJ-Shb{zow_mE(j$$IEmrk0xUYj#>WdPgLG=`O;1P-q3-B+Hu3sA1jG zvycrq-h!T1zN5fF#Tmd_kkswQk0WVG$l$>-sZyj`a1?!?3Gd9WPPVUuukQoj^A|h= zNB-QB68VeiI;cSLZrS)7><5o9t#|6boJh$ zZ(s?(txVkwN4FGp#XtS7TtvX1JA#MCF-%;PiD)j{u;bbBocXbg%WB#2+bWSs1xlKk zcu)UJ5=HfqzDTVpS;f}<)Jw4uUp$LnKfCsAv{cT){W;_Ymhaj|a?y<^j#^5K*1fn2 zz7OstP=7ifl5haLM;!8x8_-dBW-kq`f`qgTZ69d7+iFzp!?bYhmKFYtsGH>UC2+&M$^Nt(LM(ougepilwygh#>;{r*a`!&=w+K+4@GNv5Pt2ctPNExca`|j+bf8*s=kHPp ztZ?jqK?h6qE)Qwsp(lanj+5)}W&iC*a^LWXQ{ie@(b~H$T21M3HJVwZw<#lh(J$3P z&~&-B%)2U_!~fv8QMKF(dq{^*$Bhs9P&}PL^j|SEs;pSn2az>_la6?;ZIM45REQDG zx9Y(EyOlO#W-T(MTC6FvAR*p=a{UPg(h4q=00sUg;VZr>33}MFUrM>(HC9e5vA)DE z>n4yr6~TM)j|IRlT2_qYrJ`m`N?Km}QPj^!;%S|bACoHKzErhZtf^+~Zvy~2C&pwG zwVwrds@RnAd11bo(nWlLQeAZl(;*xvv!^4=JHJbjx4r4LlT8nFkmRj|v~9A!K|Rgo zevF0En$_b75oEBw!H)mH7TDD7L_j3tRtGKt#2z7g1Ju z>t$HqvUgS4*7oq15f#$HScs$3FCzIc z>rfCK-0wkWi=S=Bfusg?d8-^d3N#wl4a|~2e&i5|PekOCmd(2RPRd)p=SG`md$${? zCqbpAvECFJrYkd}YF2|9LP$|zU56b9-u{Ug))~+wemHcvCFLF4PDnTU&y^*R@qhe< z^w?wEOZvst8@Qmr0rAbHACyF&KNpSQQg&t8OQ5KefCs?yXauPm>=QK)faH`grbcdj zsHElz1qNe9naHsgt{EuT{VC#)A9-4hfRYGN=>Qnvy3DX(LYkfUFW@)LER z?cyo^AMJIw3q1a%*Z=2Z1!PnMM=e#JWg-o!ob z-&V078LA_$FHVApEmEb7LWQ1lyy`oPK=J|d*toRiBd?N4LBfb|@$8D;^X1d<9dDRN zL?kOtR8d9A!MyEW!8~*m0mtI_YVui@79A?VLOvFcYM_WfvW?@Ffm>L^rp>EO&2mBG zB4bFsaVmYEan>~2>R1LeA{;45c6+NXPXf9Fax-wO(X-d;s$cIaoNsD4d&8zeLWm(S zUbY@7B+XcHw{c@%ewepwuPHbt#eAyxm*SmdUdK4%=BZ*+qri25uHGRKEG78!A>I=R zaK%X2=D=IMIpFHhjFddY3>~UpmkrHm)`Bmb=>}TL-Uyt8jUnaZW`sycB*e5;_5Y1D zuF$-?Ari+M5CO=h`hkn#_K&!)*P`vrb#LOf;Mg#GD=Ql>|8iZ%Lz#h9QJpGx+upK& zESL!J`^J_$0trkwCm=5w+F7P`k3Z#|w+M{vSgC%eqz($xIxI#Gt|MN$qMYUwNHJ{l zo%`_bO#B#cT5&CkmB(tXas(y$5#Uhaz|xI{b}MSD-0q7Dp_he`HLs-(zMfFE?H1LRgUY*+va}jZL5YWb;xjR5?dKdknGXu+Zk@(k{d%?pFtH(Qv z)*pZU_(6s)a-$dfSG-8|uSlE)2AJQb7dci7=|S1ulm(-75X7AW={C{YjyGRKKL?Ji z2!pLYf4;fe-V|5|DEJ=#cf(A(lTMcn!YiOPOBD$JrVdB(+F}~TiU;jLQMqF+Pmu#) z$pqGI0mjQXOc+T+-oCu~PAa)A{}(_It!3(Gr>diUFvCdnsH0%;)v@5F-8PF5|JJ++ zm7xT5GZnBnd^;>F5ie=4u7M@q=QpAFUr8u3W_*LTe_nZ!4cKEjaD#e&!@G?qzR!A~ zk8cV@_i{Vsj;;aR_~jya({Aqd=2R@=NM|nvpLju5`3U^SP}*CGgcK$5W2`jM$ft;i z&y+7=x+33c1wKyd<)S5tmSPrT!UsrglS8RvWTnRuoR?apADxPl1j69r9xK4!O7!ry z3ma(SUHPsJ3K^pL+Bs#_kc*vI@LKJ+EV7lW3aMk;xSC?vH`sP_(_$z1k|zL-0^p5x zinS6bu}Kp~n}o4}B5E?@82^Jk<>OSz5Xq+3BI+0EBFo}B!P6RUza6&D!VqkE+;b-&a2qGFNj&RDV4M?@-%!k8Qt_9Sq6z97BBd?+)dja!rnz|`0683csO*9S#bzMVf zvRpCEmG`7;S$Kv=AW8kH`4E-du0Hsd>2m6?b_^@3n%k{1<|K4dDo1*x%FUsxHp@5K zhq2U(w+m3|m@ot{tG42YG$U&;&opbCO7;F4&o{Q=t?Cg>v}oCk8a3ansy~;5^9m0l zI_@Mp5N}?cDHSWi?V8^;uf>>n@GAHLvORR?fqw^k!vd&Q&Ky3wzDjku4V(u@6hI}* z87tuC_Lcqg#SD0O7(g;)aiq$l1ANVYU;(A!Wdh3i^v!$eioi+=?_K%<{Ea0JMGTp8 zT}v^5xHF*O9zIYEqtNGq5IK2V7uB5j54>|5kFbLWvm@tRF_&=(5#H=bUbgVSZmL*I zy_{vZj#xy`P^=k<-zrcObz^(j(f8#!Ky-_Wc|fVt!gE@-RzfzQfQNHuFi|3?VxKDRL!98Wx95oR5vMrwKCCqh;wbiGoYvdFL8^T${ z!k`kv^>SWHuu1hnJC-h~OpaW=V{~Utv;Q62&cwE@iS1u(+nP8N+qP}nwrz8w2`79q z_jRA^od5H7@4dQf*ZNegUfo^wrCoPma#7$zCsU%zieJU^DEm39KlaLOO{K9rwCAwH{$jpUCf7-EI}ZG`Q3LG-O$9LLIz=u3`3)|WPGMToVMGOHsd6Hc%0Sg#dI6h^`FPboY5)uJKbY_>=R+Ft&5?wF&Q(|6abeqtx9PLoX>Av%p# zyqlo$EyzNK&aVs0w4*)*J0+MjQ^xS&b8HHwXNF>)gFd%)f(gG4;}*|DBNCOm(ol^A z=W96|e?j(tPQmGXU-sC{1h!9hei1K3@Mdb84HCy;ck?n54D^(1g%1UG8b8_uj8njzRb->dP-2a4-OLLsF!Q*;>DIXM zqTUhZu<-a(tVwQ@^4IzGz?^zwFJJ;bWTvp9m@@LLjemA|^LwPXr41vvb>eEp16IM} zyp)OJvq7-b;(oEmxrezs>5>An-{rIottuKoD2;@b4)Jht&0&Sxm}pz+G&aRS=%~dH zVDsR9rjl|nw&e^~h~{%m#0@6tmT+EmCO-Bm{!+;H?Ib(V01aewxYkLRnq8F1ZZJs81)B+ zf@!KxLW;cB0K8h;3OV<53ri_&t}A?IBjkm4%yH5Li^YRi898U~^`xsM;9X;WQsWXz z>d4pwSf%#bfoaUL-!%TB3i|XnWFJyrio%n$VbSI>^lq?}MwSfo@97!ccDu>=+K&mf+2F8ihufP5!!5T;GFT6R=Nk9qbiTXFZ|< zAqB{8(u-^9^u8uu%oU=WP{hT6x18#@!62ltmN&dq6!juulEhnu+vl=8EwJrN%U#Lo zANVI$fk0L<;D3vAZ!lOe3RwuaDwO2B-ZG&xcMxvabfo-6sB`n!f|095gp<|-w80Y( z3MIJ>@Erq)!E1s5#57xxl&`i-?oB_Ye6fdcL0n64S8qf%GdvtF;9&d}_(Ci^fVg{I zIiAta)_D+q=d)SMsc=x>erTi00o+XHtpqmeKZ}Mo6aw$Gk81#yMD)ID^P4c3%q;PC zr|OA2AA4=Y5F(9&R~ID&lL_jf8GrJ|cc^B5qOa-V)UFeI$||?o;!=U*DB$FFT*Bl9 zBd39F$#_0m|1g@ON4q^f+zv-(VjjZOY6>4`;Tq4+<*r;YgRxiiB#ux!->rzk$qVj; zGer8#ekbE$3>}sL10RPuW}x&sVH$iw2EmRUGTKw1kgOZ}Rr*se5cxVMgh(Jd1pUDM zlq1=DB(mq_(i3DSX4)Njx0QPp-YaEUn^gbSLq@@=gY~{4q@++YClWV{mN#3CdR}NP z0aZ*n*?*j!a9-YWKqdS;79Blzka~$FJtGPDem@gCp5?pH5JTx1=y%e{c6C#AbCLlk z6BHM8j0}I5%o5~hmc_kq(B+&Bz@3@czrQ)8adBnecqDv7YaQ)5XohSmXQY@^_cKV3 z7(F4cp?p$&R2AM8l^Y%Y;9VjqOGITSR<~fz{tjQ#0)a(04VIY88TH`3xT+{EuYphP zSOEqf6pmNNl*CI56Vpi12NkY?Fy*ia|Kc-|nY6P2*D^g;E5)9FJ8{!zI~Pu37bP3H zwIq=!QOK@zu1@;^Ye0BwN0u#ttF^{KsvvVQw%Z!boV=ch5`7kAY?s@vxIqiBvRNyR zKc}1ke4{Hk0)1frhNS!K-z*xLvAsNPP@H=bbe&8vb+gf)uHSU&x!rT_20`1O))5Ig zAGGQS^qJb%NCAPf6&1;^$SwqLoV)e5-FL{)PDsYGo}4q+7pwwM7?|Y990K3%o2(4-L!I>~$x&brEMApqtaD z^d(s)jBAaX#`ioIq0%E`qgSR_I`utEXWx(KSdlL1!JDS^S0P8gGqi4BQm+gpkqaSH zHR6A>pSOrwtD|C)Z=`e(6fcN(6RnlTT!Cq!nKvT_50i>ui_-|?nqm(0&EHYtv1F{$ zads88UR@kL!J|ZE|5R;j1HTT&<-n2~4^($l-dvSA8~s|6Rrk6@X~!7LujT-EW%8PF zCQq$Sxd9WijuhEoXabqKeMDJoq7p=`U`AgRq)vuOOx26+yRaCO1=950PYPec z(BO&WXXb>0OG%xj3A9No7o=TG3hafty(4MdlkwnFhb1C2d>hxNp-5}7_DI988HLtf z3v2AdIibbXwBw2g^-Smz9p?bc4Eb~sKHD&nJVVz=9R&@c3rCnGUIi)Z>l}b>mT)F> zr9q3%yLKAJtBUL3h|gm;ck^nHM67;!s^=1j59$2=?1)Kp>jR+88O^$)^j))stVb;0 z9k1cjgQI~3lM^QKDF_>U6((ykmTlktB#v;8B^A&4xMfDy`)SgxZHR~l_5Nk_jAZ3Jj)sE!kI5EG zs(FeKdL@$Z!f_bQlE8UWnJn<*SaFHN@8ON z82UAYs-Oq?pRZb zZn1~-aUqz(j%k(&x4tEz^C-^cAbUho|A6BpbS)k1@-2L}5Nt*J>U3?D3pGjJ1-6pW zJl0cI@iy9xD5*gAMup|Fj#x;I3%#@n+ROAF{N#G2=m@4Mo=jpcX!6!CM0kFPznFNK^xBORyWj@QHJcn2)a z>%eJVis!+bAFb$qQe0npTXH{dV}j1ur;eGBfk)_6YvnoL@mXHbWY|(xw7XsCbBZ~p z_Bnt~GnXfaefXY9E3@pfO{V;bfN}#Te(s;C+LYeA6-LVEi~w5rMS}H!YD{0#FI%P` zBa~Za+AC0i8t-Y$K5Q)hj6NZ1EX?>fvtU|6t7=6yQm>U_*lBjU5N;z#+wH)C(ruHH z1bQnVzIM36jx^C|kIJ6OI*^4(A#~>`aP}0_gbD40#~rKD2yvZ`R3M^(Z(5Ry18Z&! z+Ru(5E+;~D9iRf)*D(N+1FYk0OF@P_F8Q7ii%n1q*WHrk`hJE;8aul1NJK=;j7k(g z!>TxMNm-HQSd1M?BwD7OE1!-yMz$v}N3Y3|6EY4HaL6|c-qpG(ajS5nO0skoqZPvj zZHW3~#wJqZ10EQMR`+ZeGeEqPeODs8tYV8BqL3XPh+k3cOX4NJfwik^XBO4^MB{;e zh~rn)@f{w-lFiXOT8&2B#vdYa35IiBV{e*JpPNa&Zo$B!k&x5ihK|zg&lKLX2a$X~ zoIArV8}|uC?|OC>GE${>McMQosiU3GV#*GMSQ9S9=MFEC^Zip19y%R$8yW&Js%44W+^qNq^g? zSnfB!#%_UYVte4-Nq?8%=Mvea5E{L@;-g7OsUbakycl&Ji?%*IA;!1mesJ@8%zcD; zsT$&~P@SUR$>e?9q;69a+O#nl@kzzN2VJ|a^2*eYRPjx$$x({Qn6Di3(NS;C)L1`v zhwdFHeU<?w` z8>5+1WOCaX$O8;CEO$`4Fb;*oxFK=c84B~u^0h|3AyFDT!+sV+^^aXf+wMMCT&k%r zD!;pE7+yYHObP=zqy3sfQA!B-Nhv4J3CSYW$nUR>A<&PTp)>?CI^aSLblurKrRH1b z@O#AvYn8l0$63c?XQvwA(f9Of)q99PPS-@l_pwm>6k#igcIh3`HWRkb@mQ)3EvYT; z9rrYPOe)@~)S7HOl)%^PcP5AAAv~Milp-FYGPEiZ_T+%-;gU{ZkK0o=(cyLoeiIRwVv7 zL^|z-d-YAc?au3;e4f{ZiVurV4?1L-Yc#d8AMxMb+=;WW-bin!FN}2K)8=C_*CXl1 zbQg4>Q}~x8r#cg9X)3IQpMlu%)Ozu<2(zyjbI=39Y-rb9Oaj(^HbE2$NH!SuV_hF9 z2IxC**7`Xpyyg2BWN+`?ExY0p-uR4z);KPmvF-M+S%YXs%u2dy$6V9@23}@eo>)MY zfvaCzyiLt|q&A+9VBW>j(Wmon{LRiDfN}IWPWD znQs7`nU|^u&NiM~t9W9+>X(ZbvNpujrkv>fAhD#S)GY98zbG&40{GLi-nA+hS*H&z zLCqzq(kYh;kUy#^cVjAXmrAgpG&~s z@{y7c2UBpQd+7HIs<`FVwBG;?I6ZI`c_j8i?SVNwnjCCIC6s>pQ@528rC52%dITqO z{IhVv61b`j0Ef6~tc_X3N{qoO)Y4Oa!_%84f4s3QO27uplBBkxp~W>h4^?`8*`}9G ze~8q1sWby;t`{|IAx;Y(JugY!d`-7_uFKj4hTw3Ndf1o-X|C82vG_N&F>d91XFNBg zxpKsX>X6FNyRHs$*;VhnKNVX6WLaD2>D5dsJ#QRXUMN)E(B{f&*~<{#ow`6@q*oEd z4mcuqCZ}<&nJvD1D4q^__cw1fbwP*n@LZ1)T{D@=RE$HTokn$j+GD*#0AK!Z;;KG86n|>Aw`i2Yi)jt-(bSPp&ps7c220 zcf#LG6u-8vXM9Q(-|v#m#>+suQuZA5=jqIXqx7!mCbPjK;I?_UvsIw4GguBc6( zMC@v1dxgaW`IAtJfww>|*68V(to4qq)a;-eKywTEMqS)J>cOOoVvV=vZss9JZ8Y?R z{!&ddk%rUo!901yh^@EO$Z)9X)Kn1?cq^`Bhd>cXe5LwC$))p=@f)K8_p6!uJe))} zDiN@4lw_re@0PYWV{}M(!pU+ML(se|N^lj$#=q%s$j?xM8P1O2{?Pca;oQ-(wqPS%-WdW{W+JO+@RZ5KC6@~PVXjROo?{fyvWP6_}L_9 z%T$G{=(>)zMcFu+3TQ&!=4LXf@jF=lwgJc%3$eRS0#W~`u8SPMX{E9A6p|h~baYCt z5>ZD|K{tIgb-1$CkBw7FkECkiYUf;4ga>XVna-4fwL7Xx+hN?zy7|Jcu*RMpp{w4{ z#ET5ewS{pa4X$5LLk8{>V03ejr>ix%()s)WzvZ|_fz*exVMq6}y}duUd43*+)M)x& z&(=_jV5#_}y6wP`#aLlJCBA~+0}oEYL+njGur9i)!^rm2w-_Dwj@WH*WSs-Ti!=E0 zGU|yWem#-=PVzT9e_~#ZK6krkIU00z%xk^?v9F=$Q06>}g>o8=bbv&z8cdzOo>E;v zWmTKkF5_1F2B%_~yckg37@4SbZjoH50T2(LS11KE6kcfnUXf4JsVs_>v#8)h>Djc- zv*}bUoh#bnkEOQki}qrROr^RQi#{J}0(!emr66Uigvq3*5aS(0E$t-1^U0K~m41Om&jmGsy~A^d!% zQV`O$A*EB&=^l1LU)gp|Sj=rpP4H+iv6&E?L+vL+sdof*Y8OU7B(fLR7DFf2%vO^-3XT#_Hb4 zCW3fNO!37_%t#s;HAkP08!nen;+kX8a1tf?#0Hz_liw#+_NXxb7)jMK^R5PCuAobKnTrjdIg?}2I$<}i z4mDhV277RCHnHFCgdB3y+7(z)ps_6y<5MmA;3$Q2s3^E@n9KYAujY?yKMp3rj_}wN z@F3J*8@D?IEv!{r)?XXHvrGTl#IrCO-^*ZSx~%#mU(oy2NW7WT>VhZQ62-hOE*}Mg z+xoCA1dA$i!7!i+{uEcLW7)Kp_n9Z~y`=VoyNddoNZ8VXPQy~)!VzPJuqjnV5P%SV zA{kNkk%w;Mt#(@8%F)fWR8flp(mbou;i_@Nx9%KzYi>BdgOm;ug{am~22v;nG`Fg& z|JurgebEh5P;~Jk*|MVaP#|?v?tz{*v*H6$!NtbYOg^x9{6YDTH<|5@n-=fXE##Vn z{6rjr+^_LEO}k+=&bI;1BTxF|b^hj;)5f39|5?2??b3YnPVujCgx#Llt@!Fd2d)PX zROyN5C3@W?#lTb{)0Dix8m5hriSC|&%Gh^E^(k6{rqeP93SCHf*jU6nRR2P zfx-3Ie2@A(i63+NJ>a_mOrg#HGMW ztff@Mt@23VRmAmilh4_R%M}V0j}TDPs6OAP=IP*E?VHhr;TaTg4LDW#(dCKlPIkMc zv#atcuyxT&17>Gtp!Q(jHlV21x@Q2U!v^8uU7`4y`GD=%WCk`1^40-Aw8r9vHf(X1 z>_*27iDuix7Y%vsvHGKCi&G%j$SF?+m~i<^e9}YfQ>4N?0t6XOM|TErESR6OqOe#sovG>uZ@dZiFo)L(2( zj8cbPUlCWlK%VQ0s}i~KL{yfCOyEUV_QNBR)R!~OUSveRoK((?mh+MLV(jkNEKX(b z6)?(WJoQ_}apjJdUpnx*jSOrrsMW-&z+l8iSFUHdC9~=@p=vDUDqFDEm$yC$W@QOS zRBA>c*u>yQ^39tWt0XOykyHeGSu7g5Q>nDuNVGqX`l6FfRveZ7C_gZdABtbgenR{t-3B=-NMkMu8nLmGeSdnNiyUsU5? z`bw9sz*_&(r~VIps{f_W{(tEc)Ba1}q2*}H7kx+n4}C6w=|lb>`a=Kz^tt~(^cnq2 zAN|y*vleW3{+uh-Gj+>u7hHF^;RjZN}n3o&a{7xrJ++uK#lpx093an!t;xV zQAESC+09aSoB$5iDLbv%4kG}oWQykC;S^WlMg>$Izmvl7ld5uMmj*pR0#ff%u2nj? zejU2o641?57`9t80Ldl`H`Zm|>_(*swLG9E*ehqz&|WV4-}GVE)2BvV zx}tXbPwKD@YCD`!`Gho|v1?;fDOWQ2>{ClWKx7CPo`?$wB|Kw%mWm+5^J>BrH^WWE z;F)ff$@osgI`jj93%LuB3z~ybc^JI`!${K@*4J+Z6erfTSN;nlS1IuFI10$VcjB^@ zfU$c6gY7L`VwsWve|#dC5P2oaO{x9I&y!brmW=j-auG&e#sxU|hK!4_Jc-En8;+Vi zdC-C~`qepvU5PNf%$vh7Y-f91!bi>OP3dP=>{Jx0!YU!z4On3bb&8S`}Zr$NqtUC z!T%W=AqBhBEMZ8e}6llTX#Rl}|Ji+B5s^V(F&IxLvE%nl=ynDfpZQPaQ zT{S4eHJ-Xmh*5KG3rE&+mbIv9%jfGI11BXn4!xj-*sR@4l_?mcsM!D+Dc$#J{4_!f^qA)7E%oXe+}W_q?E#8mb5UPb$Y4#U-!ODcQ1ARJK4@! zOFA|#+Fu8L{iQarPIHD=1j{e&E1Pe$S;gD7h*jU$RA*Apzu&S)&}Rj%amSqVT&j|I zQPkU_Kf6*u$HN@vt89AD?8kvpf{fa-vEr7XbSdDzF_&?Uci`L+hgAP zYckC#$bTox6sf@O1D;#+g+8~(?!#ocS)a-s!u~-Yzz&}*$70?RqM9R9VJ72}BbXtY zB3EjiCH{~lSb^M)ironF){)>P4(>PybJcw+FI-GnwfC4V_}6yDHT^M37C&7Ub2d~? zLTVgZE(`KmCx|N3e{Fx6%3bo>^&Pcty)Rr7=)rDGhsQ-qgHOq3#X02)_>ZIhv7OIs z)>6z~z?ohDZ`54FX-+{SgwB3>G#&juQ?P>TAKRr^{C&PABlurOLHu7wP3QiPqg+}e zcmF2qEi}z^!xKky7T+`0ux4Plhq2a|VU;I~My|lK#_>lkm7TE0Z$}+*k`?_!Jd$4r z=U7$eS5f3_=IQh6wmoN!e<{p@PswE^Ipru)W$_QlZ`ecmaYMow*AsNLhc zmj&L<0{uRy^XbNQ6gfD8mG{#?xVErVD*m@cXW?%Iz4Vw3@Vh&I_XVYU7XsfwzPAMW z0R05-Y?W?3@Ot;>>+tu)RRpJY$@6&B?a!s(Gq01xaO`x79 z+qJ^5F-N&+BXb6Mt^?|Xw9GVXFKGCa>HgRebl~srgU`tF8&vc;r>z>15K?r(C}ubi zQE)j}G9b9reNQz=#Q+ES)R;D$;DJv;exQw@eyVq;wN5%HDr!)C30@O}vZ^s?5@D$O z5<*o+K)m(7a>fZG_RQ&u;RbT(=p(3(>#Kcklbu9zt2dzV$UIkPz@8$IXyX2>6+z}1 zN=!t{xdEZjLOUefX9Bnn=*D|#{ni{0L2h()UKB0pC|pgKmog{TuGa)lMm}F ze{Zx;LYuY-iioLOSQXG}W0qtrZ3CWr?{!8)$B%*qH!4m-L$7boEX22N{)>Y@@6I$9 z-d$iXe(=rO0<8fR3IHMc{0VfHoWv!R5bm{O**O5s3pcOD!Zh z*@z(z8QTkHi|>4*RMY9JYfaMrkEBJ@eq|6X2M<7)ME|WOw}vKlLLrRw%UcfhzT2ZYz{*8 zAp2N0rjvClF?&G=V!!o2$0u~8u1bN#6XRv!r1l3B)6BxGqQxjde^WZ;0oh1cxvBu& zwTmC0Fg?`b+eZf$4BqSV%vyWvZXoN>*FKSDMakFx*KXG+~m z#3n1mTo+I!8?6yN-H=z+O$O(*ts288(Vcp{enipkZ7aD`V+1YI`ss7RG>GM%B=9`gnUMS2Frc8}}R`j_e^T1tAjZ4m8P01&*A zG;_3HN?r>uYsoM70=LLOlf`Yv4W?M-n{f56+jl8(#MGN_bMfm(sz_ETJ&$#M%hAV0 zcZ0vQ)a`^%>bqkOv;Cb)TJcE&!J8ZrGPHDmo?KCP`Yn8}Ii++Rz;U8F=3{=RHPwHX zVyNQReh;GaR0Qb3Izx{f_KQrFut<# zPP0c)e`!u8r4M{P5u@*-b$Y74jZ`V}FH+=ecO=88^b#yt{bAbQ$o2Adnu`hAD!&A| zlk&I-W7hUDwG7_r+;3T++6{WC(d(RO(kwApV)G(v`&1 zDnx$6aE zr>LNJ{@GgGOW*KqetBc_O_Semy`d#|*yCq$jkdx58D0GOcy%W(y86!B?R9Gh!E4v~ z@$oYUtLEeKGvM>>T8*x>C{(v?*rB$QJs{Tm{e?PZ;{9uD?K96O?1HaWU^m-LB0%Fi zB&y(Wo217ux`VKRSYGrkb}yXevrjNU4TbL%ulG_BJ4(o*>r0KoeiyIb=653Fy+AH$ z5Llr@BK$AOdT@bJEz?omKsPcRF2qQ^Fh}lD4@E~K^+v7Eks~RL20;du!V{rTGU5QM z*0O@>0y={cZ2~|3=ghhFS?P3r(aLqr!a}oTD3FaPaC)7d;XH3cWNOzQ#)*FL=38)7 zw0ut>cKxI67L)wdu)ds85eR5VplX;W`C4G4=e)zD!%Jiypho%R-=5tuTmVOyArPLu z(N^l8`j*_bV}R$T*Tq2w78!1EG;Boa2wdzOuXdUuOYmB$k7US%1S(zwea$cys^I+$ z=>}IqehL}nT2z`H*qN}X#w5Y;c)zZ?(JHYt4>@XG4z}MUCZ|aBb5m)|Xw3AiSYfoF zxaF)rOr{BM#QPBMex`DX8ivQ7PwdX5Ct0etgI1#TyfUO7zKXe9+G?eB zLc!1_y)xHdtK6sBfIWHcc#28dx{((53zULSbb8+Rd)kBS4Cpw-mcLX^Qi0CrGullG znvHP^`1u9+SyYko3_-UfB~K6>N9zh@PVM^cEs<<15B}+ls%#agUPF&z#QwT5B?bSu zni6w64!>c-iOLbq5fFw)KLzl3%9#e6rq37J?GLX!mDR3*#t>I+K&q)jc^+;+9(Y%)0YT9e<f9ZWCtK4kZI-+nZ;-+<5494;=zO>#`TS6h=r3Q7R zh>&IAJt2S%_8Nu2AJpk^A9QFZ)e+XV1R0OTj6$2tjmqd$C{Rhi*&kEv!o;xi71|Sl z@bsNx^FuBg`u)@AQF}*u2>vH{t>1O8fw^^`d(@An))_H~;hrBT3oT;MYvk!OG9s^T zD(4n*JbkG>HeYwmdNl?)lmXl#x!&kx!Whi^lG>&=H!TyRFtc1(Sp^c9uT}17j};Fw z#4xQ2(K7g0jLS7XFPnGUF&q< zaKwYn%{=MtmhzS;^Ps4hbiDppSv^mBs9mB{u@D(s^4$8)4n->3DBvpw63_X4d&h@` znE4hW4G1_E;PAst8^muiGIVm(Z3OL3GwwR=_C{w^1$HGTsj3jiX%6T_Jr;YU6%ehr z9Yfiiic}G5Bmiz`O#t9P<6R1qtVJS$W|t@~C<$}zOp3>o4h`EfLSxD!+LGtzFy~D$ z21E@aMInU~px~QFUK#K^kyLxC9dyWWZ!KbI5A5;$@UHgE*zdT|t8XRPvpWRYU+-`z z{>9#C86q+<1K$T(v`L{sbkcpKpQx6(RZ32LLwI|*>_n(N z;q0_RU%B{v_IUhkM(K69W}17c3OIhm8AGd|up7xM2zi7}2yp}8?CUU&#xj;-X_F1h zqN#xU5Da+{-QCybWO3w)O0Uk)^oc_S9*I243&RG1H6xWta);9v6PC4d@ri8VXY*rDX~e%8^6?vh+Zo)tJ`^J zmpS+u`lK~ODzQ=!02Z?7pzA<$G@x&2Sb<-=nQK_mt!B9GrwBn+*@&X7gqk0--@`|( z+?^V|mQg7`hW_Zl$POr&%In(ftX-r2s@}?KIA10cU1p7E_FC>Hq!G8YSET14(Gw%` zJfALQD9QtJ#5O@sg6eRO;2C8tW^~^cO>9UfK|~+NbQL4@7RE>W24e98bzwz&A-sa@ z@C*kNtnVz+;ZU&*bOrjPZOvE=J%IhHjF`)Tl@LmR_uJm2x5Xql44+kts6&r;ad!l< zMwpbi9~-hZ#?R_9<2}Fd-mAKq?7+_HA-mLAy6yMh(r}aKIKK+OgQHv9 z&|+mJ+qE;P;~V=N!cEE$TGfellW>-fy;Knw>mfv@m(_&g5mB&5~IS?<{0mQ0J5FyB^w| znLZ**7VH{9OkJSEl~O>qRT@(%0SfoZez9N_38EUBjk0ai6}W_*v{rVad=bh@b*E@J zfTGFK5n%o@lg^JcGm^zz~MMrj=Zo`Py1v~Ln`dnJ~s{y*0 zzCho;+$JY;0Ys8*?fY`euq%ljLCUuW%yr;tC4XC*@-MX#Xd3BB$JbuUnnlVQ=7LV@ z4ZE7=*Q(3+TQT(-8tE@BS3S0-dzS`_>PFHx#L(Xo#%+Y8)H%;_R-m9o^kfP{ zPXUPMnMNcTCy5-=bNfiC-wg1yRgM!g$~E%>z9TP8$iYbF%*M2Py&u6&Y4hQBz-&L~ zVUa3|plpZcrJxPK0G(}`n*LDwg-h)%xJ5LtF#+})bs(y? zvnypX$*XG^BU|DEL`a?a8xa)Q{cS2rgp@_7F{+HgR**lI$j!g_b}b5dw(HI?C?Um-A+~E0>H8N>Z!IDYnB2u2e~Y%7C9zd zUaxVSZbbuQqyYS?$p|ju}0+G7$YMmD#MhNbhg_Oeh$^% zT#DLT+GJ*Mv4+YWGm+Al8Et z*!!UE6FU-9eZ$aNamwieA3Ch~4Y}1=$z`WlceuFWzZM(=gp*aw&OJGg8C6XGyC4OL`$o zps|g1*L!?}@T6k~K3vh(UrC7NN3DJ@pk1C^n#8VQO?FMHWz%Frr+(Ekt3#Wm9;n)! zziZNs-S6=50_@3xem$5l#iu6ITh12&V_GDbI5Jh0w^G2@@sVqs#`Jq?G^|g-mHZjA zGoRMQ*1Y$PJJwC|ysOo~1{TgXK$8!YWfg$MzJu0=7FfkpgJ_gZkKO#($+mje7}mgc z)-=l9qS_T*=`mrqExX+4qSmw2-LmeAp;bjtsB)3v6FD)g6mC`Nmr}Ngl#>`P8Bq}E zwEp7>^5#f|_I;Bk$yNrvy{daNP+~?v@v0i)ihHG7CF)fns>Q^BLy=-TIp9(_cGFtL zT5G|+BA`kOGT{&BJ9%tlI)D8>k+#3DSw$ip$*+^Vbh?7-#`ygl0zOv+{_163sEswI z%7?P6F48Rb^9}2n-R{aPv2a{c;9`RnHfbj2z z;dl~R<)l5v0_vS`Qh~B~D{zrNUr9zkKlEaq*_@`3ct%RmcU!u^)a;Q@CuAh|ConC zB4GY5u`LQAnXxYxBFAkNT5Zui^P0u1tuRW|@>11OQW1Ni{=gu4|6^tI zXB+bnffzQTHBp8xZq`^{%N^9MO(mYxywca()2XsyYs=q6ZDL!)DA?h=*uQSUW#rDf zC#gKe-Jin=-<+s5h^_)uQ25T1PU;a%%BIcaHrc{p=^NZNkKwK~%(m}lPatOuO z+BdX?hToe8nM$fs8Xg?lafFG~jPJ-7M%{=@V;QR@oQo9oaGEl3`bYO$;YvqHG>}G* zBbhRV^Z_xPvq;ixXZs|{9ZFqx@J^)7!!TRBs;CabOh`Oo32`tAXUaYd8=ao@t=f50 z4E4C? z3|kd#yZF?dtWfUx1vXkja)9_c`jRpNBUDp}u6zfS6(OGHbUgb%?^zi}jJv+o&km-}bp$>mS|3S3<_@ zx-a62mWre93~$5gJmg3LXPv8o;MM{UB1HL~;1nOG--Kr&O)8cPRTHjyu4(?*A&sK+ z5Ex+)s`TZ~Pp9hw8l6X0&W|Yw1Bmuh=Z6Im+%6DHv@#~RB<3IJ+iNi-+yMb9tQSsRl?GRdQr=Vz z0P=@2BDhFHR|+ded9Kb6jiNwnBQ+P&?2=+~Sa?ZP(xuVQD-#uzdX??b;t(^cZDl&Q zMdzFeX#V^?(~(fVeH~xA>Ub+jrJ$>Pi6RAil0y8lY%ff%>gV$8+MryBVCYgT`)9tNUW?`QJ|!F7jmVMY}7wBrZn429*}4PBS#2X6EQ;q_I*^8j-9Q!<{{E z1WCcs>+cIlMcI{ZL_w$XK5bDNdxDs!gtNfTas9sH`<$~XXuJ+bLR6IXg0?RZ71Xq` z^;);c$+Z8iSP$%Bz%fwwG=9l>Umhv3V49hi>6{XYW0yE4+|Hi6CUSN}R3gkDy8IqC zvtWjHEis^|QFP(TVc43e1z4YCJH@L|q6X#=rb_ z5!vpfwxq?^IMR|LaiNQ-2z^0Cj)tJp$S@wF@Q!Tl+pbo;bnvBs01uk4t*`l?{>DPD z$3N=Tg4S!lO=7L78^4YQ1jdB%h(F`xuia|~!i5Et{acI?C;0#*rGDHTW9KfSn%O01u0h4>g6VEJ4QI!$gEEiSt{O(O znIDAQmAjA4u(SbQ%B_k3kR2`HMr<1o?}H-Z{PY`77_K#{=o_!L}K z+G!i<6E)>`d3eMd;e5vE3@t!J{wwhvjCq)P<(mV1l3!Ocyip#rS2o>Fc3|<z>MDJ1O+21jhN5VcK>8$-+`I#9Cc(C?#%k+@L1580(}*NgAjt!91D*1&n8n zO9#KTzBi_{9S%i~#G4J{h^7!2sTzM7<~U5Mr^SsA{D^0p2Cu{%;T3s2Eo?J^9mhZr z?-+x}0ka``&U70$TCtKL;t(P;f?F7Z%0t-^muZIjt+tgN>pq&ro{I~q)HiM+6@#I*n)E<10-gsy269fHq-#pp)6!F zF~=0rAzSJQR6Hq#wGWbilGaIb7f52zxGf`vHHjan8+MD&vyszjIS|bonMZBJPnY3k z6QZOGd+%0EGlbH#H-TyCt`1tPKSJZ`>CE@gB`(fSzftxs3+Eo9#z z&6rDf{BR;RWvLat(x@!Pd-vzPMs~`SRT&Mxh!jXn66Xtg&Z7#+VM%(9LVTVLRHS$g z)v%KO)`@V8Ez=q=+iYw`Zulb^T;yL;0*U=E zE%7-{<;wP#V{v`)KI|)HyGZ<4dk-ZEJ00vHfv4>bdQLkCoOSiKkaF*Jw~0n#hV3re zlwFjUR6u-WLDq(+M|}D+C*yT--xgPx_FBj9k#8Ej6labro*hq2$4inMR|u`Go%&sd z)KwC^Lvp)+H@^UpNTv zU7Y50s3f3O+&y6sVX&NXA6BpQzmfpyy-b{48+l%NMX8K5r%mupckj?r;)F(Qkrt!*52U2xYkwNF;vT|W zO>oP9!Z3XOQxTc72LefMymQ zBo5GVT`2>ar}BF+#=Q-XVF6bk{LmTCNx;>0PN1|npHcY%2`Q#D!tv~~0c+}>exLqD-q2hqIN_ro+#@b=t3VZ`nePYgT;Q8KcU~ciANrv4 zF!05F2LaNSKb=A?F=!4C9oi>hIOFdR4(`MS5se1o=YxNXqic^%9v*a)Cau`ReoVQy_KZ6)USlSnfuFz& zH^*0?J$uCN_GCvXxIh8_;@*kxN^&7eE4MO+=)_XTp4HU8t)Yn4J|G`x8x3W3g&zcI zGmkXUD!-8qQt4*K{D&WI1X9H=hyM8bS8~2{G@ZDW1TBRQ#*)Lb+Z6NGs!;U01Uj}y$Amu4_gM#=ZCp;%+RvRb$hMg z7G}gPNtKf*{rRC__ELO!g<^N#VSO-i=5x(t9#!q`BmNf)bwuN_K$MP`Le>TOkS%hz zAl$Jqgqg=GZ3#0S4c6=as3*I1#&B8&%CCJ(#14?nGc&xYDUZwk zE=HpKF*^wsDp`ZftfvyMg{hYwqN(}x-w})0utY0{(l zAXSleiPg1*u+04KAz86@-9p&r%JIl?2u!8x!}qhop+Au!xN$y5T-rqcS>-i_40?V>K#-sJS)^!>bqqMG5z;u zK4WFSUP;LjeqV={kS5M5`axrDIXwuEQ6)wY|2HnqiqExrFr?6#9U~Ue+gDoB`=n9+ zCbS2K))uycwBNmbOko@3#jD)G_%r6A90hkZn$D5CEGs<4qo zpkM(Sb%12m3>9ri@v*iUn#-&`R8tgon;$rL4&=cQnC-;BFCZU0>y&o!1Y5$jPPiMt zbJEEvw!~|dcrP{#eTk_yje}cw zXkz4}5~`C3$R6(SJQStvWZQDlv?+8J(7&=}8Z17>Wki)Ff>8FLvu5uP4!ZL7v`#(J zg^5TTqG>4gJQ2bPvt(>Uj8Jbg-3+XkqB7tp>Vnbi)mC8zi+i-CnulZ{X#XB7Y`te4 zmQw;vN0FS3MWx<@OiFOFjlx-ip!Eb~=F_;cE=DO&tR$yz9gNS)!C2Utm-ABnNpFjt znU>=^A>QJtq^+hJTW58snjv9u4Vld17|tLWOg9zpn$n+PZ^WN!w|rWaytj61sz=&8 zAvX8z$rb9%cVb`nL8Ck*&qn+CJjjW*A@0eD zx70;r*`|8dibV-DpS@yHf|CuBn@zYJ()Zw2UVeGJ}_sKp=ApFNLz*yZ*yaJ z1YIP;$^O_0c=#sWh~*B(gqqN<|ES8Ppg+RKO7vLh21*HJhfSjSCQviF$dhGlWB7Nb zO47MF7Du6wlSWa9t=!_$S(Lkl+&N#9M=VK&{bee|nyItksF0~n#K0o{2WO6FUqdrb zsNF!n^Iv~`mu;=`)6d#TppH7<3RJR?A%0^dt$=7*>OFuWPIA@R6<|xVxWJJL{|$UU zOf3llf&&xVt4POHW*?!9K8r@KxVyv^KVw1Y=;!#x%^=h%$jS_A64mYKZmZ1rHnu{p_nh?TH&+$XtLNIch7Z zJJ7dFRZJCE>d5i1l~+X%^0L45+Zy5M*u#rAxKiP}okNJ$2O190LEqs&dfAGxE?i-j2|l_wVLcJvgS4 zEFXt;b8l2F7qMO}HTQAY%X-iG3FG%rYs~S!`m)ZVRfiC9-Jnn2yNfG9Dp)=asXd!b zQy8+D7BD|Co$Wt%;&U&7u{+>!=NC2qD* z#S#9m5{q#(O$mX3NEJHd_+Xg~9KUX55w@qw^5TzaP@%-E_&RVHl#At&1^t7teA-@8 zrx)d+W|DK&2EUnrrh9(U!>-Ov)y`I4GKr?MN2<{_3!w_V+;@ui$YxH|1qp}8%C^|` z46!gJ&7*^ZnT2NX%BmqUroAB?2n5lcFjt(!ogKYBzg_;u$U&h(Vd`=QDl{DWUdF9c zzLAA&k{tyFnA|%yQ`MuOwT`@DnD^iWzBkqL^x<>7z3|M(;fdcI(8KnyCME7G+KlHX zb+DJ;$>%3MkU6_xV#Cds3{&>L=Y;f#~HbzW2E8cTDkF(LaT6^%u~7a*)<4zJH7GHV_TkvZU#v%sG&>iS-4 zF-^M`3T_3N5v}jJRK1vHR2>K%4b&sPi5BFK{=IV;H};gA8@+`x2t{IgUg*27e!$Ip zpwn3@^TlC~Y0@Nu;D!F~Vuf16KTyXi5Vd6AUg`yjc+%17tP0w+Qs+Onr_T9N5SVlI zRPCm8@Jr3gKRky?ao%BueQ@ght-;O+rN2md&T`}Tu^pCa(yh3Oa)h}F=HDmh9eTs* zob-fY4bq?f?-~}47;4b`S3Jo?Gs}-$n|z*~kxl(YO<(miN}J2efCKH9S4 z5f!_nyivmWSa}(#7BUPi+vOtr+=G95#x7~rZ;am}UpDH-p9jVn^ueb7KKL8oL&GaZ zfSA@j7b5%w0%{ny%o)qCwR}-o4upYjx}5*oeAIeb=qR$cVIMBNgfU1*Yhwwh3qhx_ zy1~#Kv+pTRF}C2QnA;KOVm$q*TQcFhuGkr94P#GW7=vglY^#C7OA;Po%F!DIY07VR z4%He_jIqqJAhryhZ)s_ZS5&qcpv@|V9H#Pxgj zo$h6QZl}bJ~@4Y6hpWJ_iqB0@5Z6EJErlNJBKtr98|TKW${DhYsMJF;-b6Z z;Da1pbo)0gMt8F6CMOR2XYL$+%qntpA%kBCr-}{zFjJ*em8;MYfw5cMS}M^c4&6$U zcd6>tG}Tm$rq~k;Q6>o$OLL$a3a4^^`?-hd2Evfx3)v4Dq&n>YCNB(pmnS_91>JlL zt1V>41PboMz=-mI0R?t_&z)m)E}>A0dj-f6ylLS+KhuSB@IlO83F_%|CR79Lj469O zr;N7JswErG%Kr}3ZvGBqePLdVi-dk;vH@310!kG?M-u%t`JMz)Hl+&W@QX+olgzv; z2(gs{H|^IS$|rLK7vG~pBP0dYV*y%&ns=t-HQMj`JK@5&?(rYjQsdIX-w~=<2uA@| zKmEKfL%vPxx5x=vi7cr)z_j6zoZ3!`MTZxh@Cg8GJhK_Vp8I*t0@LnUEmG`xAJHtX z;CRxL#s@TupkB_TgXZ8D!D9#7B(}W)?*~ z988K(YwuiMvZ)`;Y1DNd%M4u4{ZwXwY4=bT2==_sWENF$B`@q_Jsa^46&Mq^sss&J0 zP&S$tT6}gysHF^_EQ<5V=d~Q<7u&>)R@fv8$AcqJw@~yEWa#BE+=ijOdTlk*6yVi^ z3&)F|8tsA=7AZ4Rj!$(P%G3MC@o6vX($0&@q}=dS&W*AA*FWw3^)Gvur>z9mEnV@4 zo0^#XaIGp@WUh+U+}Vf=85aSlc4S5GS}AbsRU!I)Ukp32^4*Ul@uuW zM&Yt7{-zDwT`_jAD=AHwbsvY$0lC3jCnyiDI`OA>ryK|~pF4GWWwsiQQUWCWN84>| z+L=^JgcG<2LYTm|A)pPT5zmCv6)S$!38BGE05xRE5y(eqmaOOowsBED(KrBDx#`@q zA-_$-x57Mo@yjdWUIWrAxfOKJj|w`KpFyxlN2qNBI-E=ovNLdyrI;2)40duyfj)gK z^yzGU6+K?B(y0>7d>@>L#$99vw)Bt7u!T&SmT}~DR#3VeB6+2?QmSXgE3OpbEA=T^ zL!0jkET2ijD&BeeWU*PT3Q}d;M8>c<$#zTft5O@T3GSF$AmJ?jvk8t0q!#LOy%4Lb zz<+RTu${;dbBGrbqZmSrrfQCq)|aZQpC)W40a+<12H!c`sqnJ1~ssfJbs`D%(K)HTFvqGtxACpkH67XZF339XswJIIjyQ{^`)JNV5e)oC48c!{D^OofvXa(S zprrs@v#I~UO7ZzT0HAb3JZ40RlAN)1?TiH?b%s^ox)%t`n@xdZmzmYRq77fW^UA4BllBW(2m(wJP|zmH}hS+gf7ktdV@P{Ie8x*W`9k~9?s5lV}?JkrRbNG(-Mi*GSRj~}L;gX~_9#&rc^E`ixX7sCMUduMFp*U zFtw-zO&7|4N1h{oXFP1M<6Zymjs-VObBi1700;`L=Tee^q|%|(3F%UcLJ8`~vxoQ2 z>^pxNhfsW!ukBSm0N=Pcg_dvED&aoElzKl3!5qqE%&cc)X1np-$4jscF*zz0PQE$& zO9Miqxm7EKf|jBgZ9(g5rIt^T3d?a{3(XR_WO$BoJ}`jNvP5jaL+b6)9K&)J>;Pes zMY9Idldm6vZ-{>^Y4Jj>46=#)rZKPtz@gttB7KoAp9I&XK05lRqgK?>%Oh7=E27l; z(Mt|+?W&aSH*I+D)0r`++L1dyq>96pb)-Z_ml<2!ta~cL0Skp=yV8#RZ?5+Uj+XW&Ws1v*e?kyrrpBDM=#2}B%dG=n2bq{WBr;S2 z8%pIXJh^f;AhQ4&azAH^s>$wg7FJTiqtd)`-AEEt>!R2>j7!3q2&h&wEd|-3il$Ug zaKoKtP*c0W9F$Z@{fR@KP;rD~@xM{PsDwouw^iAmJNF*Uz%jjW`R1#|5ovS|?jsa> z;Y^VS$0D%Ei8}QKM{%ZDC)*3%dHn938I1IklbY@b=@-oHijBbbZ6kC?t>Qa($py@I zLT-F-J_u%c72Qn?V_#L&d3<~v+?fwE@f7RneEIg>+k>}XAH02c@Z_1+z6nl0v7CK5 z(LQ+i_MxT^JcL#36BCf+J9sgaN6WJOyPE9!?HtVh*71VLxi;H|wJy2<7ZcLIJnUR5buScKbR5BlZ zPniNa-2~?`w93;WL^L>JHOUvOxfimp(b>Rjp=^Q4tOn?F*}Uv zAm)<7Z19OJl?<|A7a6prFb{s=IkUeW5-e(8E2DwM#bcSSkoCzqA{ahSF)d9RbUk4MTn@VP-w9xNzQH(~auzC(-(jl{>AXBL4)P{5qjO3Gw8 z+HNF`>!C{S22K1VJ)`1Xw0g&=QfTUP;25OLF0Bn%ZjW~a-Uo5PpL?~zgIcL^Zy%6C zns5<_UseUx8zKqkE{;<~7kGH$?`4wajW^=aA=!JR4dqp(31`lrC0@g><#`CMx$qK7nTC+D;Xk4_GH z91kHrAI{8va?;CizvhJW!kCg&Qj(Q)YeNz(p;Mn(>=G2X0EPb10NHJ3uq_Qv9;(n|UF??ad;2yU3qjcyq9niP>11|1mg9giwB1nMJ~HD#T}L4Rp*|UTQ_~Y{ z7WGX(3aoZw((AKJeg&H)sd(Z)0thoYF3D2FdkxNU-qy2d3F1dbI<=~3 zjWN*1tp`UicwqJ=L`B8H!{UCqPXBL=7Qas z*8F;Gefia2|6B>tt=N!aIq(js>z)nuYIf5QogIJm*T4MvO%Dt9ABBo$av`%;S798I zH4x5`3-4P{&lK}gZ68kB52ybmGpsB!h3FRoX>1ba-2;N2#Up;@M%BL7Yc_MiEW+Vk z|Zzz^9!810{{_``Ffn{@$JK<#ly3FGFmb zZOrrL&N5)1c^~lQAkm?24iwD0fndG#4&eWs)>G}2)fW#B%Ip8Uyy$>o#OspzyAY!3 zI<|NW7angG{uSU*P~B-R6tsv(LSRuER7!AB&LDMboGX8q2A1^6ib`o@<*Bj%Vj zv(?IhxFP!v$3c~j3U`$OekHygdBIrkVMS9gAb8-IRIb5uV9# z82wuT7=NoCY!Nr=*o_;;||$ZF{g9 zkr)to42}p5(yl}>oTTGpQxSZvt7KeY&gONTvU%jXn4ot>y}%vDvu|jk<3iPSM9(Qi z;b3?`3vzkIx*M&MUKiTKgA@238e=jMBjD3Bw^|Y0?(V<_Ek9|XQP9Cig)v+?}j$QrJjqldSM@z75sa%Db=R-sK z2j!BhjOAjjiIsDhpC#8VO_;_n(~DMhksK~F%1Q2$A9S|Gmevnx<%UcUUoC86s}xoH zAyjQ*lP|UFv#eAM{x{Sk0765>)dliDD3<=`umd{4H@psXgy^?+07MTjH1 zPMi2aH+x&i7p5g0$%|EYJLCY6m&Y-nkOd{3-kaATTq#~<;Y28$`&Jan-FzoYCyNbiQx&r62a- zQk#CSWKQIF*RFN2bXUZsFofhdf~5F37b;&Q1bzTT3kw>>uLnX?V-HHQmJ4noZF+^^ z+q%>#42df~JXTAUHhA(CB!&c)SF(Idt&{xAjAYMhf1vP^X*ixSt$n7u=Spk$lo7vf z;JotdWzbGmM44;_@{SpR4Xs1vewp93^GNL4j^H+vwNo8%_Gi)J7Jma7{1;X`VSm#26z*J1lgp zTnlQdc-VC0B$%1U@obv7IAPqm^RU{8sSf^JaZn1bH#s&Yrg`FbbWu{Q4+H-Ljdz1FWuPr<5wNigZ&;AZbret-@Mt zI|chsHbA%@lRH)|947Hy>QHO0W`Vt9dCPa@A7ea$^Zu zJAV54jh0ue@#Vz1c*~vtNTJS+t|&EzikGfyjm5%2UKq?FhxFIrd9MCNizQa{0Dw|QjVnr<*{Vdcn%9)`}b9Uj)a!qSwTB8qzNvG^*XVwiYEWNcr}NUVP- z^61|wpnpfAf9KuXoer^oiI+m>8#HzIJii?Zy*54EpC89Zp6|`4e#B3h%kIFP+BV*@ z*os}$7A!(Ay=Vrd+Z>GKfyOr$q-aaety-J-ffo1ta1B*o&%mtR2(NgoDRv&3f8jW) zMR|u>K?N*lap}h`^a5*Ir`l>|ON#s!IRRA~$Lm$qfyE%iwgl>BqP*DbA8@a?pfSlE zkv>4iSp=O}#4Gs53OYs)%0&e(wra*pQ!}av{k$*GDyTkZHs?nGcQfa-VbRy}Hry2# zUqETb0xV`)lWcrDgnV>q0x1Kfe-ltCLi?})m4e@Q&4%ob*z)O)_;e|)f21ma&G@oI zdp{|YLN!rvp2mW!TxWM;YbhSifelTO0L^d_SKk$yv1!ZdDk*#z<{18ODTjMzxEey! zCa;-YEblSla;$-I;*7@(oo4X69sdIDqdj9{K9K74;MkGca?SGwT0>j~M?WzedP`*K z{Uq@oTEcaB0~8n9`|VePt2VE`ihz|8z<;6WliSdOR(F*cIEJ_O@7dhgy)b!bz)0}H zKz#VYe|%&7r$Mj$ND@x`yNt!8ZelAnlhOwU`=B-hr)yaBcVthhV*coDrI7ZekP_;~ z6+N2WCbEDC#rI|^p9~6#Ih$iVE5SqaM6!_j1FJ~)fjF}s$|2s|FoU~jit&LK^a3T7 zF+Rp|O9J{*yZOpyVC>d&AQX2AgKKP)^{Has?aeXX!s(`T)Ztn4Ztfgo6&LGiQVXxK z9Wqr<&%mw{Bdw-qO__h?lGj;CFa~^kD|B=#RFnNjiTXBljfQ&}pRa-8RU<_v<21f1 zWG+uyWyRYQdx%zH3f#M%AHp!3fV3)}2Rrka%Ca_MdKXPg>*MnzhelwFVql<$B0MCg zxIf~)%R;D3XaE4lmxH&+Rs=hlnsXopwdleu8`Bs^DBQ?;hOMU4RHLeQX6qJ^?ud!E z?6xa*TTOYWpw$Mi1^R6|o9LzqhcRTC{i0})IxK@^=60Kn)&jGZp{D{`3RF`U3KfR! z(qXagdNo_NRXK4_Y^##^FO73GLPGQ0a5SAzcRkE)9S8nYbry_U?RDsIUkumFwh>ib zQcqy9X_^Kef1L>&m{F-&IOc&L-A(ePZYW>|j2~WnBH%m=8vL(##N9VCAhc6fUk-im z?ujZY^x&SaLP77gkkYNRz2>@UsIZvomsH7n0rBN8@i4lyKT3-28FCiv+2o~INxwwq zqyFj3o@mZw&x34dI-V*FpimP}6_2XM>wXIW@9lU8q$B=O7KlfC%`;(XpU;*^j=|%^ z=UEi-i66N(I$dOUo!+-a5_8z`)<{zyx5j76BJ%qojh7AB5BYZE9qk4R0l=hpAvyw= zj3<6$pqQ}T9Gt~+bqYDl_ekekWIpSfS%k8b{&pMSHb8W20CT{yZ#|Ho!#vwfkh>@n zq%7D9U2lPOi|&r7k7iM5LY$+$5Fugqq{i##yBD%}V3ftd*RwB<{prkcSy>rG?MCf0 z*9oPRh{iG5e*x4e9Ncg`X!q@K6d4jDn(Qpqgq-y0Q0|@TqNZIG>8wKKYQbCtk+M-y z9MZtJj5royGy#`Wb6-_cw_|k1N^5rfq^kaVrM~WAkDEOsz6bVV$z;zU1ylSOYZN)M zpnE$h_9=s?I2MH5cRbEK?u5>Rc67zkLI;b{%!`?fRqcY}f#RJfDODJu|AGirK%RRZ z3)30Fp%oq;O#S{N|q!o?(Go^9~twC9RB&?NL})p zkt*M3FFn5e){`-iu~-k=6`NCaUp$EbSw&dsP}*n<eiFwR0@h-$wp><%&(~ z&{-WBio|s2eXfR}cOU!$WcJ{OUx0|7GSe1rfvqFHqj<9gbYG>ARzBcN^BCjv!mSJo z>Fh#YfPhoa@@;|irU+p2`?xJfT}+@lD0@}VP=fOGupgXNv8u?k8dgThlm&o(s1wJU zK>YyMru=t1PLUrm@xT!Xok6b^#ZO0b*}$N@#XBtR*LU4U92dbaYgM+M4z%gcP)%5! zn}Lgt{|BmwSgYMD5t!^BJBRdNLpFU)m_E(cqSd#AG;2(%Gu>@4Ss!;;k?0pC+gOXH zxYrfGriQ+mt#6z{C!if@{<9<5mdY$Mxv}%b@9@hXI~@iQmq2@+Ic!>RE;*4J5yMR{ zkMGT3WZsE8*LATbJe;`3sk@ouH3A|55O*|%ppTrR!^>bfIK68U8W`?DqtHN1Ppp}_ zRIgVysz`5|Ehnu@Gt~~YsZgADhX+g`iEV~=L-Q=P2EI7Wa=UzgToV^fE9g|gGPv=D zsB+1s0;jsX7rrp2_z5&P_kkuleVn^o`J70ORszM?6~hCYFrc+s{zk#%A?OC# zO5Mh~ASWPViLbYHD{m(LjPIHEHU(3cwWxHVdAAZY?=}pYFIR%*%XLF@X+DW%Fw#hM zB}?fwyNf?mK=Eic^8;C)=lkOhtG9k{H?vQC@A@Ob3{D*L&hvTbSll>HWxWoJE0tPS z;iVH-^w*x2(Z8`+l?SbN1$POOwrXxy!dZdxFD)Io>NH1=y~1&J=lhZ8{04zFHdK#> z_&H9oEog=de=M8OJ0aW30t)vk+J=|C18zY_3S&dhYY)V6rTci=ZL)-sFF5vEiwx4=<2-HIH`Ey{}72(zmRi=8OIY-@FDXNH!>{fM~6LX={t>&aW#Pb zUoQ)g-Nz-f3>CZhnd;^|I5Y1VB%BKsSg^ele=2C#>;1F2=<4ShfTQK6Io_84cg6n~ z(E6OJH^6sLc%yv-uqqD$Gwe%RT86+Sly;GM`N%&FZcT)I)A%~MGUu*u+MQX@7h@6Z z*y6{w@h8uTtP~bOUAdVF{c<7x&cRt%^LeckYl6=J^JprB$j=SI8(e#ksWB41mZb^; zM@;6y zgWSR%3m^U9{yF1$=tqIYnr>G;OmmzA@o4N~)_)x7;yRv+js86FeQ8@AZs}aDg`%`} z375K^3h|W=61eik$bc5HlE$@7atLm_$ehlFzh3-)U_z#aN0`ZB4tXR_^X7?RphY&7GX4TQ#tBp*`txtbh*%Q@KDG zHsX~*;B)am`a8yrwhK}Q!T;Un`3n{1R90-BJO#}OLp<;1~Z0B)0zlPZKaEUN@K|I zAgE6w^X92`12=-m!$wtFR-dM9pc0ZnV*G9x`80Dv+s&n0B=KjG;VgRzG`=%QOblha?kSDdJT3>nHU@hd3;`AaRf$ZX3}zGwb&9MlyUyh>RmQ-;qfuS{+;kzjJmbsse+?@Xehmr zJ7JThw*q9n-xfvO_Ha`a!R}jVEo_Z#wVqz?ha%-~{Mi{?%eoyWiUMt18!Yr^((yCK z5p&%qHbK(WM$31882Zz;Ff+o@UJP=&sV_jcK)SquM_j^AaS2Ou3BRnN(IzQRAK2rC z<26&Bj<9YJSf%unaT?zRW$WDL96WROU$rSApwtPPd&rysOEJzt{0}I6bYQzK7{FVs zwpz7S%T_NWwuT}bhagSMpqb;Sn9@nQm&i&%>&d-WLevyNw}-JSS*(=i&?2R+-Zt`f zy)wfIbQm59KEM0swN2Vpmh_qtE%>}}n;zK@p!IYY&{U2p@uUq*B}jO7=&E4zS5zb# zCc%2YtU1S@B||}D2~V$5L{m1nY~jz>&AAk^W7p@+fWj{~4xTkOxG^5gz`=N(?bX%I z)wO&#OJ>&wf0k?~W}wZ(Zd1HWF1xcEYdMDKX)85+8u937fTMG1PVERuiMe){LI0$1 z;_v}gXa1#mpyNhiFcn?X1`<`U3mL zk9}KL!+_Tfcz+GctdSst%e>LcY-w|uKbW4a?E+AHl|EX_N>N4ATrPbyG zYU-b4e51P5Cnh%-4$$+$&vjRPRYwnNbA|Pd440{-o8A}ec%K~4_8)5ez*1YNuzISEb zF`EROOKc=N6l$h!?5^+a&)|D0AsIA+0YhvEB!B+81z3#TKYzVHayo69TLu(DRGTXJ z)f!2WTeUU?3hPeLz77Z)o{6i?I1j5GhAJS|b`Y3(-|#SqFV}w}ip$q0MJWL5B*c$S z5JswTd0kS-kJn6$0tofUQ3AyJc$HXCZOH?nNQoWmqC>LqdIZQXeQn1<+ETvreIA~A z5KdBGb)+GT5sU#Lm5jz&6DY^vB+*tT<=T(i@~qTb@Piq$`fP~4TPFv~uUvog7uUYV zt^eS-Ox#QIS3js>H%q=Y;?LJ%N0ZNLSS6GJb&4gsjT1GQ|;192-b9bRq!NYW1Ate;*qaS^iOawQ3~gwIh`$_zWPOmB&okC zLf`ox3a~ql+%O7Qoz3xySc6&trv1^B#L4CHm`vz+ydRIps}NU%9wFCy%_3OK-fhZW z{ySp9yrq1>ADp|1IA!AKpn3-g4)%4lT6w9s;dLtRBLl_0aQdL!*w|g9qXRUb0ap2y3DqhSBLVd z9{oSSudcp%poZ}3si7s3IP}jNLFDcTdTQY7*}(<*OW=MiQJzp!LoPRn0QlP|5~X(%+amTq~jM$aU_#69V?iceDeVYiwN; zric+bgGr2CHWiH9^Sym8euN&Jrg#d>m~X^3tdK*m*`33~VBScqJCaz6uPZfLhXP&s zf@{g|#{mQPEC}vO0_}ahT}qs$ov)}7$VC|UY>w9y(XAkKW=En{LY#kg;-_(bC&V^p zw`fGE*alZ-z}Y|8Tx|pbQkT^DHPTezB7?X~#}bUkABTfaj`!7<@$^3k84+*?lot}H z__PVZ#AiE)Xp7BkEcmek>trV2hu86~EnedebY$`vbk+REI`qVV-yB$n0_*Da)xA6w zcn3U)i$X}rx{{528%tZlew&C9_`nznq))zdWC5o8j#6wmppQYBM=d=jIiE+Iq&ZxQDepG&cV3rRt!c|w3$rCjWKkatauA5Xbu&cIpfnta0e zxz_-xawvnzv5b*v-9MUvU`{kD$fYU9wgQ#K)nt5NWONi1QxkDjti0ek${CuGv_Zt) zFM8|OfBgz8CL+t8;v;O=I(F_NxSdQcUi#Os`Oh@J6YuG6mw<_<_xw;IL5}@sa_@C0 z#9Km@m_+b15(GSf94rw@)QD}FNC{xcG+t-h>L09-AX~L<7BHpajaG>w;~Vy5LetXx z^B?|keEYAVVBuneuzvvzH;jjcQ7gXwridy0pDUkp*k-Uq{yzUvOGV=|J3`k8qxbf-L-8afYEo6Pmv?j7E!Z-rAKh$#J*-?Zt3=P(WZtQ`N zd}4Zc3_J+pA*^pc5c7zkz>hwa0TagDVJ@scJ5sueAEm2^-SG9>|G=|9HSZZupQFGq zT`UhS2HYP9jAaKCNSQ|HbP_9G+nGoDguYJrg$f0s3FU`!toC9phQKgQ_soa&HoCTC z+9s!g#NNQ56^w1$l~#FfT+WRX--@6TF5iQ{E+g((dk|B72QWj0aq+_m5CWifucYm=oK!ZQHhO+qRR5t%+^hlg!RM_w(NG-hW|#T}O9U z^;vaRueG|nibMBl!W*bt~Q=PsoI+OsQyi zXrwLw_F8fv2nP~9jsfS%8JCfUOFcbX*_U*ADU9dz*5I9u`}Z7)p8uIDYy?GK*`V69 zp9YvJxNckk$Pr3#cm@vpqM+ypUuw4Bo|#BYi==^07>O$p$tqh%<4js*xbQr+=3Jj1HppjWEPk4VBlMT+EY#a?EX3?=h>PE8!KJHrE zyzsb%Wb<6mWl)falA#O2`5eV48$t;La)5}u+&@RC{ZW}!Nvr;b2)~SX(5*^!!>iks zY~2%TzE)UJE>$G{iQ`bi8m%f8wTc>~PE|l18*(%QHh}`t9py66g|YFOpJ9{r>uUKfi5mxfgzcp-jwP z1cOaBa>&?I7Yy~%pbE+svin3I21xsKyWkaPY^Y7-g^8}*n+zf;} zoe0zA0tWfc-!*$rB9o9uEIXQ-%?d3o4ayF^&@6w?i_KKSh1|xWrB=3`+Q9`fM2AwL zT^9qR#BLAV3=LHvfVtrozH-vV>Gj6oc^(3;T&*4mmw^0OQn zH+(xiG(XKD;I%PgT8Vq;pK;go@DJrjt{0a=KxH(Pu&>~=Y@6?g`F5}+&~7)uoCZkF z_H56EcrgplQor7JI!A@!%r+S-U*>li5V@$Wsw$%QL_3C_ZWokj*41Uh*~ z^PLtAOFgO#LZxg1ljRWrOaaYQ;x`<4o=J&;Ifu=h>{YC!V*Wsh)j!nY`PGOU}(;mF!YHSdPYxa zMQsoQxT5A8(7kpJ3V9lPINOz_n~o)E z_*$XWQqi|o7|BG7sY4@%oh}#`3&<``B#joBu6A6soEOuJB*+Kw>@P5{DGaTWss9pI zL?rDhH}PyB3`hHtxq@oCZ^Y62gFlc-DD(7*(Pu=vK;VZ73CSmM_XMNP4XbhM^yJq5 zZkJT|082fysV=V`JK;aEx@+qJ&Pm*fE-P&2pKYh8+s>Xd)y^|?e4#%z zSGUmeOdAIyEnId74}VJ9oM>(E?^`z#+O}r8+PG^ln;$vwnL)h^c$~eMv=%e-{|*IG zty{?V-j^=?&YVHX;&UB(-V>}zcjS)x^SVbX&&2-P#0e}er5>w$;4(6+?dv06vX)qmZ2I7&oWAd``$|nCxc;Hlh&qLjZc1!n{eH?A+3_eNKgh)v*&%=Jp2FSx2j22` zyH!Sl5YCC&5d6lttj`A4tWz4-`fBnX&L2_P^oV)}1LXijZ>;4g;(a%~6%#kXdr71@ zxb!8y^lF>i_q3JiE-Y8wX~NRwosOFv&s4j*;#z|+63RhcA|8o>=bNE8f@ng=mh+-I z@5eO%R$kE#xD%iIQ4?`Zh5Pn7lh9n`9uIZ~9XzJ#mi9e6Sijy4j9OIBE6Odlz(o6^$nD*jG20}C=7416 z_rV%%gKhyrLWKtdx%V&3W)1@G++TQLER+!Qpi$ZoFKqp#Qir|mlv#m5D)>%Gdh(!~ zKe*@AN&z4j2)?_2;?zUW@H=MkS`+85t}y*9($AHC7BFLT5EMZ!jbAL{>C#3#(?@sD#kjoLw8-`PV?hqRc-1}Ysg&Ppd~J=9%o1OYvfrrA&&b{v%$_c^)zI`PQW73_-XeX zdqpZi(S|>yjyRuMNlhQEF$q4QdVK{9Lt?ogiwmNGa5<7bP3CeSx{>$N?2N|>>k&>$ zIe}NQ4={@D&o>N3hz?Tn>UH5aM|Y1#GRRm|*DF(4o?_)6Pk9(VgFjpkN_?1#4&;=Q z9Yq>CMKCQ4(j13>*rFca=NLu6sl77EFuSQ=8h;JN?il{Bo6MSUS1pPZ4(TT|#K1de+WC5!+#o;MYh zgK*1-5vZG2qdXFANf6vpFX-%xssbiWaE(hg06Yoj8a=kSD&q$WlW)1q%=P4EzPDF> zUq_!OUT?2S>9-p`cPn^a@93>VUSg$@QbA+i2eVFY2-UoiYW4U7R|Ri%YlrBYn(1wL zVee@Cf)#0=UjhiG8{M}TUtx8SS1#!tr*|JM(4pLSQ?a!(3s~oE$8DweT!MiAj@okT zuf`W)kJpckfmsg^%md6%+?$|4PyNS# zPFkbK)FFv+hlOi&5~9miv!T?coe*=G>pR$`R!f`qw$)D2Zbk|X2WCZfo>Lh3 z0#FD}mVi3HP&EGp6q=tTt|to7v58D3Y7oW|OUb%VAb`iFwtDMMnrW_Wv=}T!n#7cH z^SQWMO^A%o{J=WkEPD6|)?pty(-}MjmrGbB3d0KVOSxRc{rw~T4M-IoV-iIv+trg+ z;EpttHlvRBN^yr*Dl=!t!?!0)ywk)i{m16EtSjyb83lSwP$()`-)uKzW_0fZB*N zGK9yJKlMxdbB&U>eiU}ps2fcyWE8&v&#R)Sftv8gH=jsnu%efWOnVT4FCKI(63XNV zQqenGi9B6yl7?TqWodrZXw#}!$HPUAB|CNwVe$><_L>)jl{^_TJ`K6))eHv7VuGnS zDJr<7n}I)Mtom~QQmN(JzU=$3Y-y|!a&YZqjDg1Ak-(hUCctH|yFK0HW;W$M?nk(W z->m~>+~}%vg-`2ym=4gO1zpScyjW<`ir50)1L&EX3KyHZ`sPFNm(M_Muydq21``-S zCb249Y5gp?KLN!#(Xo{OnNqjN#N9&qThP_Xx4k3$207%%ai|6ryZ6~qBT#^Owq5B{ zRXq(Dkd@35tM!(0jADTlrD?dKdnXx$wlc|Lryq-eQ^TJ#=}mQ#QJ2BD_kFC?El2hM z=1&#}LALCgQ~clrV^$eVgpyco3&IuCZ)?6oL2_asm3r80p`!z)N-iQrw~)Jo$ZJPjb;>hhBq4pKAAr z9Ed#p-Y29mHP?-+sr!0Q%^x`b4N;QKtWpQf{FSFujJdj=47a=vu2HHhuDJfV1!WUIhNzQI-H}jQ<3cjwq zg|Fx(NA&%onh4*R8FV($^xV(%gbQQwBFNZ4qTi1iD4M81;Pz%{-xgx8HAwRL2{N&3 zsp7g?Z`m%T6-`&F^T&w>ziM?bAi5tRo13;W=LpnQhu430MTZ}N*n+(BU6+nxs<{JI zYu&Zc#GzCZ?_7)XS}S%938rnzaVW!tHP70bAWDu2B3On5e-Hw-j5D-+i+&6%_a}-t zoSM1TGE<(7Y@m|bMz=R_ZOHtva$1bRCn9C5*lY2^=sIpi3NIz%@ar2m(vM(oAN0v# zu(L(|4ora!uw&KCM^zH_&vkX*&?IpeE=o}Fks2g5b^M5sg=6XEo`e?b{OZojw`2lu zrGt(yPMZNbC3Z{!>tR1#-Akddtc&z3)MjJWR#u**)z>Vm~dKZ z;4{wa4k1ru?y-K?mA#!DURgT2IS8@fR<|T_&yY*Cj0p>U(xXH4j)8Bmo6RPORGZU)Z_U?nT&R$@756#}W z*ZObll1vh>J0@qvnz`M&Trji+^#{WVXeIoF;?{b3o}qFcgvd|J|Cw(Rby z_;fU@4}Ad(sC_W8DVG-?k6gU~g3EC>Pm7;Ha{eFX)Fym0PBXYjwG$EjO%>VpYd{Fr zS)MgJI(LG9)_$B23aQJccO`$>Jp^G%F_$_}1atrBRhydd;>i_&Rrl6)3?W;=7#0ng zw5vS_2PC-snq>Mj-Pbil{}TGq?HBO1e`a}AWBS*BXBTwG!YPRb|i8hnEU z&J8wweFpUDWbB1|C}PA*l3lr%`*R8M^d?prhCvkUh8F;wBBb_9>3QJ;D~)IyQPb5s zWmFJzeg9sMMN!Ezt?fq>25wfZl*g&^U06h+IV_U>ba485KeCj7k6ZK`=6kd>zgu?Fy)fYa?>8s;_tRQrp(D! z=!bSSnJllX2K+AsAY$Y z3cc^GoU{yGt#Z`{iK-K;WitK@y_ou;MR2GI=%C4wIA?miUGoWKAYA(sdvS#rhvc@# ziU4DCLj{}yhcf7<${^N0fVTMqUgH$s|`#M#0NG9>N3y%A;Gje)65y$i)u4wh2E z5-9mxzD!I0cUo4yqOsY$mR}XJu57X>qbg-J;fXwLGiV>NWa^|`WX%vy(|7oPK0hGh41c++Oy(-=i1{yMIwG+YNQ?d;x;MtJ!PQp+RU56X z!z1&*`5o4`x8A0#obC?KQfZP%Q)jrn#e_ul6dei^v-Lw(X~|>!Mb>WRZw|?I)$WSk z4lA=sC2;V&jffy~9yUgcvUmv!Yy%b43!OwZkXQ;ED;YCJjF=Rh_x?x?oD|dvb1M1# z^h|*RNiNmj=MX`cKl{WWUg{+){)Rmvz?zF%Q1eI2R|aQ4a*WAB<$+z$w%$uJN zySx&zxGxxzASjhMk6h^%CxsV2^ba#9U!1v4OvbW(ycIZWm?45Rkd;6^ zhk?Hx^}J!P-c7uSW$db&#RXSvkdm0sqZ9dno0B~=|DtiRH!>T-^n_ue7M62H7g7eY zUmWh*bks^IHZOMHkT9Uqzs}y5XQBeJDTNTvyHgivls4z0#{6N#tYvytBd*99{bDAs z0m_-%)k7*)1yBgAMWG>Oy+!uw@^*)^~HQpt_%hSOckg%-i; zGQhE1`Q9~T_|w_L$7FySHfaooOa@M@hd*{U3go9f`46(8McsJ=x!Rwv75tGVMoYXC zjL&Lk2Z|uu)F&CLOOANqEY&R>mMUzw#{*g|5pwAl(s%{(dgo#+2qi}mRn{=W2iC0W zG*i3MX5&Fcl#ebR4en_B1$5mrHt2%Cax4!*eVGYK&8v87^|aHKl(-)iezLm8g^r$_ zjI8LjEr{vbr3kUPfF-oBcE9?xtn+=gj4p4dlWY}RIVBeZSGGKNEYX;idR^`=?;Gy; ztX=SyE3~8U(9yqE{qWMhVO)oDiNnA`mH1qj!df*UrT@g2n-d5P^e_DV=_DMLT#~CS z51*cCtjs-@_0e!Hu^!jjT_`OA+Zd6u3%>Q>t4|JA=Kh><1L}Edm%%$lf=~XM zL{!U7Zo_MCS!4yqFm#|g+Zwco_?(|`R>=a_ZQMX}kW~evjm*LTh=oSDnjBu{*x}0a zbmUDT^23R}ub%qOkz~!9qJOyI6ms{gi?N8_PN~7!?3jtf8EkRU)ecn|{A|r!i%xT5 z6K7wTY1|XI>jJX#w~hi(W^IrRaHqND*#<1~B-fT^d~VbYiLM2LEdq5jVesng$SjhP z+ZKJStHR$)`YkeNqS!7^MplPVMT{6}R7q*a_H=B|_^D&EB ztyXapYWwXc#(NoFD*q*#hoe-FVM8B$>2AnYO4>gbZDbO;Am^qVSg_6CXS=AuJQ*-{}*i%D{-aLfii~na!s<>2MF`cb5-u@9h?6ttibdC1A z+oaz0c!gHLqDpr6{!T-^=wDl+;#TYktpmN2kv_{qyBNP&Nd&4~KPpj{`ykL2=}9EK zw>Tv!T-=V@V_h7V@X91{@cVw)Z*&;hn{%qfVpc=S?dIAdGI9LhtWt3#| z;giLLn@Aj9ZlGKVOV=B>y&r$LUwTN;Vr!w7cESkwNEt8jHt#b;o=jz@3JZmj458h# zkkWr+g1<*lRYLsYc30g?UV${cIsbVJ(yx(uC4NPC*zoR*I&URL(K-r)Roj&GCJMzZhl)_2Vf6ri>I|(=hl6$E zp_g{6B2$y6o!*O3T*;5Two6q6S-?mUMlB%p$;Oj2jI4Ec?4*4e4VG#$T{>?7R8KrJlhnmiEhErgas z%5eS0&lzTx^KCj-`-S?}j20?~ZLFl*L4PfM_<+1ddw*zz8~pkaI!ytm5jL!-pDv9z zP1GG2vj}ONTLI6b3vK|_9kzDrxrF@PPG@n5EchmIiQoIDSyXYb=S&Vaf-l+cENb}+ zXSG(7g6GvR%k!HPcO1y(Bonzty?g8CUm1;Ny44b2aKOZ+;gtk&6&F z+I@Hlg1p4F{c(O$#Y^&`V-$^spbsh~d|fvj$tR@tVpRXRRG3A5cG61|jys(Wt!YF% zaH?aY;rucNCY|a++Ag4)m%(>-mZ<g%Qo5OyUn4DU+nT$UCvM>lA zx#9vdMm?Y*L>1d^I(-@3T4&O6=|W@GKdHzSk!T~1J*Zyz-Q}QHScI(=4kuC*?uzA{ z=Qx?&U}_!KOBUfjxD8#mSynYSu)**V(^;eqbuZij^={^W72XMQ@RayT>a!8SjcQUs zK?EM!$VT{w!_aVRZFbN<@nZ@bFR?0|d;C$x80tmweo*ax`TSYoKB}<_e?IEzrNcld zikD~~VwDFAA7sXRG7`jt<$w+>cCZV7X~V2AH53N21D=@e^9y94z3j3MlCNWYT?Jif2RwFl^>n9{VD3M! ziZH~Vaq_;?MSJdDzS){*@H9D5iubP;C=wf)#4sTM2^4g4w4~HBLHI1q6Kjgzl~Syj zqIZq6b!QU-2j^tI1Uk%)xxD1BSfS_Hwded0N;0$B-5?CKX+>fXx{eDV*=5wRgs2c< ze~Rd~Tf=-m4bU42ILGR(yrP3%447p1Dm(qr%@kTU(zC607DcOcVm5=)WaaNE3pC++ zH-gFgH>=^|sDdPxK)le7i(GN*sH)gOn|(fPT}6;<7un34?05_|Z-VL?^K=zaw@$b3 zsH+wcHS%+_vicHyh)V+d=PYOrw&bm(KZ4L=XCHJhsVD6Bj|eKy0WBT>oFNW~M_)6G z0}pG{rz(*1W@rrBmH)6%rfjw-@B;?^r-N+6Ud0}Ol7XGyR2$6Ypa zD0bf2a8)4iHPPF=O!5?Nbotf+@UJfF+S1#KZh(cL3#;NKHf~;fwAe^dTck}F(&u*` zpri^2MgP8+XH z!;pX^Y-a8-wL3~ortURvw#Q(Ci4%@}mMrS|_e-ykSLyeD$h zsW`T}l6{vft&6a`Si?x3hA_3M>eWOleJ%-MSsHK5!cw6>4X==n6CJ%2qIQVSU0J_l zkBID^dUnm-=aG7w;euL=SiNOB%{i%MM@f+`{zFt_mqpD>c`-ZIr*~djWYfB3jAz$q z)+E#Dx10*5Hv(ZX!K>(qD4JBx*R_M@$iZZ7Fjt|kg|fqjFH?){6zTUya@`e}N2LZd zlH|klYI%E&SBk``ADpe^`)A2dpDpwQ^8kue-JE4q8qP?I=&N|GHJZKfH{QF))$h(O z+ew(NRj0hR&F87--KNyHeCpeVn~+$s0rM`VSWhmrSKfW6S;@beZUm{Ux3Z!$S~kYp z^-9k=Ut9CI3r8|mfsFGRbKfTva>05}#FQzeYkJ287#=7IJ5^^JkTWn0!a({FO)phNK%e##% zFv=ny2zM~mJ2S17@#~^p%`GADzDx3=6WW^rJ6=1@n#yVX#p@;x!yA%nCo$0p9d5Gl zN@;3-r3<7SeMsu89UXJ>4N^R6#e`881hOaH9vzJ^k|8ARpK>NiuBlJY!9yd}a3KFg zoaGv+4*E!JQ>JQwyT>t`0HZ5yD!rpyoq&K4-|4CGjGRoR0}nNoip}}kL-zuigrH<5 z>bC|fxmOnVBwQ{|A_@#~AI;sZ6>sYl*1p{!L0}^RRq;}QFz9;8;_x1@Cj?fv67p-P z&YvF|K}tvsy%u(pjvMzoVQ@*Oxnfs{Sk0p>t%-Y#E6Fx);4HWX`Q|*f9Ljw68mCza zeNHWhq9mHdSgPVzw=4!{_N#!pTS*0)0xAqva{)`?rgk-cj^*6wjffCI_XRQiI`n!=aJBpGVTTGDM<1gf)Xqj@ZTD; zC$@ zWp!TdNyw=a5Z~!SmAkxu-vw*D;JV`HlA>Qup7KtlOR9lwe3Ck`7U*<{lm^$%s29DP zVm6%WKi0T|Mg`LOm(ft;E=pVJaPaOdbrCT_3};-nTq=}LW#n>*|BR*HPeEsQr~~0v za9F+)U6llaKrf~htfxhz<3ORko`9q1?0Pu>g{{xXVSL~meOEWyO=QL#T9vWoc89TY z59$>E(}-$iVCfx#;7G>Lt1x={$eVBOx!Z~;(FuVE6i6?$Zez9azrrp7f(;d^?4W z6o9_T1e&G9=3WT0bj?*!_;fv2%I{^RlI4^MP%OMk}1zXZzhE-`9-g&4bYs zHHP~(qh+m#%Em38E!!?r6)tO;6;`s2s*~xgHb8;|k`5t1sD8z2&)1C}ZbrKV8NW7Z zliMhn06#ub0#bs*NZl0@*FkMdeH)CACDli47Mg1R^^b!11;PP1zu3hh?E*!a#&nlt z!2k*{T{Dkq)}9ATZ2BJx{Xb@=HB?Dxe2rqCc5v;;`Spy=E;L(SE=xpZJF{UZz868T z=$bXL&_Qt?VPv5d8ENAMO_}D@oMMBCNky#|hJs(4_}tYFr4fcrtYZUJm{tmbL+vvd zK-f#}kduZ)))ki+lplAc6%=;fKLxWF;qlvH`CYL?3d6{%f$0m&qxI38v$@~e8T_0a zSxxV_qsp%|-aLgb#?pO?LJk%Pt0ooVegO&NEGX{&ATT|z4BF9(;`estFb!B4Kgu(_jc27rG)h5` zLp=lIZJZ!xbT)Ae-K4Tjla4Y#PJQ7=SlWy(_S_yZCXi_+gnZMT*%#?Bk zH^kd6*qiqN3k0f|}O0WpOs18V?hd3TKq$^RAd_C{bbSqL% zi5p|{=3`)d@>xujF!E{YxGHwsQzSk+3LXoTJOTUTS91&#*W)LM9;)cqLMIw{@ftJL zLBegU8LYpEZ3Q`*U^69#FI%;fsZ^0lG7A?uP?w=ooDe7fc%ms3V+Y!+MhprcLCf8L z9bZx^Z2&AV37A#zbLuyJEyl?4zjD$d#5(<3c*4h%9Hj1fBF}#!;0s6$D%zK}$$QCkY*+tVb z7(mq`%uT9JlL*~+s6oQV?Q3}&n%uDQ?7%G7aoJX$mEYk@3Th41-(=mKN zqT>)6o5Rs$;C4f7e`Wnlg>j@+SYw{d&6)?bFSh{CmWDRQPY z6yjQV-dsP3%&8H?zE@rQ-D#sDIXEj;pLWE2bN3VF@b+~5i}bXSr&FSo(`#+U_u4ez zFJ>9)ie%(wd^ABBc33)ImotSqSwDY-n4R$!2pE6iM^=I~YZ-}4dwFL#%6R0vQzRUFYr4edVJ}RJcAX4N*Sb8LwB_C{p2X8(=0iA!DeO64`ZH^$GIe#(9%8$lHaAp^vY>a zCQ7}${+uBxQOY(t?P1EaHL~6 zKzAYpJA9F}{~}mx+;GU@{7Z5#0W~O`(NIo3X9D#6K4Z_`Mr(h$39tR{;rmM~Y_veI zx@tcCA%S^%F&IHECB8%OHYl5qehHSdHp<}v#=elazpVs?f+jOYY2DluxrAP-nZWPX zvO&U1oEE&)hpm=j$jXW1%ONclRlX*46(fOKswP4YJ7Z(+zq=3dAfXFuheaR&bPeYx zQgbW=uK@ZWKG>~n^Dn4a6mRhAssttZpHXWid#o2`+}S#>C|j2!T1eg_^{|H{%&$wC z^gP#zA;=RWi5Lk%z}3JaaCRG)Nu~J{eCHFol`LlGPN_&bB(5>Ix3zQB_*yKLXdAu1 zDhZuNQIzY6JRc8i4aP`Ux3Ar4*Zp2xr)$-(~fgN7Q{FolO`5C$C=+A>i z4p4NXM)bShYOVrmA{7+SsNwAGAl~zCmk==CaX3{0uFG6ifgkoz6O&!LX~U#CyKULD z``gC|?=tcpAjnTrnL;}gndAI%9=)!yVrx}T3}e^ITi+F)s!<5ec#4KA>=#Li31@;v zHFr{cw_`IoetQKXOeWsHCV#QY%5SX9s5G zoV%?A7$d~viynfr&~5WWW*ZWzJ2HyFXU^YkDHIU9cT6k#HLi+Nkz~X=fX=3?lJEPz z>2Dd`Je6GzqCJOEm8kzw`#q-G0;7Gx>yMW^CXaTWhhL8rU1UZDi~Kj7=cXe!&had? zlH5)}rx=ulT&bAm5;`h6oLbA#hpjjE#6Qt9{vQu%|+&C1;LbvM1?0z8f=!E!fBajS~gWI zz)=Woz8dNOKtJ<@w#bQMp{3V@tqZ9v4B7_tpt&0&B~Nwmy>0B|VhlhvQt+Fpy zqCEtFk;d(Vy;KnA+*FV#VzMr$!q2!i>fwvOudbXIQZbL(cUh$7J+X14vz2NVYZ8!Z zhQNs-Jt$`|nf8I}6idBdDk+=i0J?u{z&CJ0llL!p+aL@{cZBW|1rMlH!sWu_7Xql1 zC!u;s3d3%IF1+N}V7q~Hb_OIObAAFumv9vHvVvi@BDGAAAq5mwI0Td)SFt%C3t-@* zB_ZmDuBbvRvq~FT)*1^enrI*58un_QIpTJElzn_cUUnuuF5@tmzIZD zPmy*Ic~tvCV5I+{PJ4&sQ2qJW`RFoqMXzo!nM7@1|B0)#G$Cqxo(JBLLA`PCCw~Le z7ZZ$uYU%W9oMM$vzq%&b=mb910~$7{edQ1?#NR(CuNkhu9mMGe;zh+Enoy*1B_)FK z-e7(klOSwLwX`itNa!`5mZ-_t0P`7>2-b5tZP6co2L;~VH=JC z53!;{BT~=2)r*VRSzB0|EQZ(i!<(7>HbTI35C!Li`9qkeJi_7z*|nJG`k-4`0{6R5 zeLZCL0P-By1J9~+C2s6WUiS%nPjQD_Nl3w1P{JA?!5j8<>GC^56`855`W_cyM?%`~ zi+)BAqm_RjnofXiLMdA!?l&a6d+$!AhHfCS>MV-KbVt39XTKQW-*RC~p5m$%z3QZsmLu6bqs7^tW{2qot7M|_S zmTn0Ka;HSR>eBOtaZa+JtBa%R%b;`CKox3hrm*_Fz|k$J+P-fnyulLg9`s)5GX5q* zb`6oZngy&9x_&()Kb1wJ1x0U}aL1gbyR!X3ASW9XwpKF^K(Y-l)BS|3(ehm$5C6|r z=;kFB7tDe4FUc@ml@^{z$hwCs8jmL|B^8km4ZEKy z5Zf_cK6nwhP+l7qV=0>j=bw+49Xsps#q<)-1X3pMpSyuf(O{hZ{_*f6718`m0m@$X zw!G^BE1HC8@V!z2%4<*8MuaJXZf*g}pF_@hpcROnIpB)RLPysSihI6cNaD+whmeO} zt3-0lIgLbMiWX4HDB>;5z_b>PmK5=o0=@I*gendvL0p`W=;AH-IHKKnneG>4@s_i< zJ3n8$Vj9<&ol!^5!c*Wm<1M{V5p+*B)b7uj<0~W4O+YF_FDWd4{3aJG8X_D4M*NLW z)V9M<4d})>dFMjrM0{>lQlRM&TK+g&bLwj$lF&)KdpyKS{6RO9#NVP4MUP& z#=V3*3|=KlW6ocx`U{QSw<7eb$D9|5&zTu)6NdMdKRck@;y1C9=j2=qK7d1X9|2U zE+oI^NAR|9P_;9I-Orng@I!v}P1%s;I_L_?Mq%=q3!K#h`eMNI2RV z)6yh3F`{KXEXm16taao6Z;YA&ubvl>HSJ3Kepj2*T>Td=4AeTnPfC4GI%uT4kq*d2 zJ%7#wi|y#>_PifakV=3nzk2lAYa^qpwrB2q&_e_TgE+K7CTN*FF6tnz`0kqL9rWKn z&TELP`xQ5IDVTs81I9PlDTDEI`NXo=AP%{4A;#gpu06yL*RA}EW8t$YJ7d7av55(s zwKuq!Y$!GzG5^%(gilY$5i`6jT=r2!ha)dvhtz9&!yu+C9Yf|r2IDt!nwJIPryOC;*?P;=!jx(GLAX`YH9ZFCuhRPVsU03DCLnUx&mE$F$!a1QLPbE?{#EhuK z473yV<$H={1`0e4<+8*XfFvgAO7bLZbRTTCWt6PWyFxp!J7OGqllG-WZAi*#i_ z>GPKzKnM)ncT>y$e^2xrh0blsfJ2IrSn2%o_>|me;$3>kM-A64VC`q(Qqjc zjnf7m3?3%0$?H-+^b$j5E~bhf<8Y`P7H%&;EHJ$49QBxEV>+7cp!yCc_s=Rp!P}?(iOXINe^z3bO)55jQeZ($GJrJs;p@*BoSf8eB`yy!D7vbx_iUa_nm}o2M=i$@108!@=A}+||*6GOximVw+^{0#V z6}hX*G^_!DG$!pz`epd^pMa$EI0;rglvM_*q2hDJEC2CDhKgQ#Z&@6&|82DfpTP^r zI**WPQ9@q*XUFrztN63;p?X)9xzPduc}(7w^jq+m{D7kK2!$sMCF|GZJ*CdOTcHBE z@5To>UlCPfy`tr9;rn1wCRhrZ3}pyd*tLHNN3o2l7c~1_(}I7KbR*DQS<}^W&u~u? zb!#rjS3TCpWe9E|MG$515M?wHY0A)7QHQL{ZO;?6r_vL7(cC?2q2STWz-QoHqsM-X z6ESy>-4@!o&+9`iFcjK86_z?Vz>zRTo70q-Q-WDwDwIW+hj`-*MZ(dnhoS+(Nde5~ z$yls;sz&Y!dmOOXAT=V4E&+GGm7mEHe}dl`IV; z78{77DQtQn90#z;<6EvA4y*v3W2tceK6%y8nre+Q3cA}f=(Y}5rQu809pomYf0m2D zW|43ihz^Y_6uMlo;t-h4))#*?Ugh^ofrrE4FlS>R^<=WnpXCA#MZ#qv!9*9qQk^qO z?b`!`oQ8%FkqYp&# z{|Y<#76tQ=WsupTYgQ(Z~8;s8s=iL2alSs`-DqK)SaMXUDyJ;XKrit&1X-bD)lEC((z4lOGd z`kWngjR8oQkSS;>#Snz2OcAU0u6?<6`=N0p5K$BG z;x{y(r8C%U_8i7+`v3glq*-GK5yFT_%aude?r;y8qF+-g>tP&;9CnY#**Gl_V=vvW&BF1GGvmcKJtP=WN2X z;pCxo>vaD6Oaklcb_lKp;CM?yvIwFDbJU~3>>JS`sQ2jvR`37l{>_fMZ(*?i7bvm+H&EZg{ud}N zbvAo6FyA@bL|T~!D~(31cIQm;4WRb-LrtEd$`9c+++OKp;|uG`8)c24yPUCp|CxFjr)q7xJ z!e*fVqpnOoYxHjXsdfK9Ld{Av|8x2O^+L{s-}Qk)#LYxX-^}x&Sj5(~7f)vU=EhY1 zNwDS+?0>v46zwrf*^1-;x;)DN$K@UWkIR<_nSigj8h2eCuPmT;rRrq`NR_>{0Q{@u zdY73iJ7?>r_a=?CT4zfC5d(84;*TaC`nCj9F?LRVjQ%%(W4?}7Gi;bIa z&3EV#wg@7p8iMou4@04B#{R{qzW;=S96)+L9Ledouy2O`FE;-es`?*>auKT9rwkze zeE@zaE}a3LyB0>SPKH?={z^WNlP%HbSClj2 zb6saFJ@Y|@do>riPA$4-n=;D1EN?nnY&a_Qi!Dy1mf(1krayPv{ClN zC3A}_>;bN_&%xrnPsRc5gU%tCAJ>?nVSi0oT_+KiqKAU*$S8UW7iHt97rD3HOo+>c;ijP7d7u1K*Bnn<0OFC^mCXnfSZQz zo#Gd@sJonkXie{?8A4LTbK$$L7$bbc(NDq?fioVxcEaeN`GJVCu5q0oooGfw{&v#D zAiBf}?2dry5QHCR&Ugkl#vl;k!iPt|Dd1X*FN}Ggl7eyvGy9uD{~V5wLR#biiW2Pc zboLa@Moeshm`ZSuZQ!~SxNs%=3Xgy@)i@cj=JX&hkv3=%Oc`=*L@g0tM4mhirK@`> z2W0r+EHh^U&^r%9AS5zEAr%HE9 zm4q<*zt^$n1!OwFGiBLoyw8r!*KPXi$a(^1Aooy0qS!mJ9s#8@f9XzWN%bUJ5qLM@ z>zEO423{Q@aTD@(>8uo(>=s~szylr+7~3yU?xf(mwHSDcgExc(U{}|U8=-A1T)NRF zetVPfO8z92|NeHOM!otBst4Z5DsW3_9-@)pK;tTE8L?@Ai<#|sEVSi_V|=2C4q85c z4Zm3ee|-uM_%g3L5vMqDLwaACEYgH6eaWJn+y+t#31GKmrm7xvt(vlSw$oYEoXLCU1fuO`r%5bx1AsHQZ3b7*93K-0!tu zeVgBy9t(|kk9V6f?7sSZ1@JU&=G9q)rsz#!qJdQ=NBK2g8#NbkDW-5u1MTLs?YMXq zB~C;a&qjO<*V$E#QZS-!ko;H?4R#a_J!Mp7)2Su6oVVU~vE(XnRx_(4>wcW*# zF-mha^lrP$Asdb6a_HT5m-B8q)%7nQX}F}p>=`;F&Bj_o@CK;~q5C}ch0 zm)=<9Bt)L?)w^hV#J80u#$IkuQ?d2~&~T6(vY*SxmbXN3ZRho8*!qkAd-dxQfD)~a zGk-bB{H6=y3x5tvLjV7xzZs$ym+=jAb^?qSQTE6U7T4@Yi46fg_h4^e!`=2q z8&kuLC-#pXJU`lRn)sJiY2qh}bqMZewzo$_@xZ&na1L)TiQ-=$qCa&+7ViR*BKt}m zp!@AL`#?%*m4mz%VYp}P!-XyFG4F8OZ4%MUsB-F}jjFFXJX#+qdX&u&U^L2^&8*}mvC|R22w3!o~nS$6}#;#KX zBN@(o|M#OJt1Zk4Q;k`zP6^Ve+NOd=zS3FWn`BM_ncY@PV>|S%S zSYo}FT2>9~YlU6I=*M-G5I|9kbW8xn{SSfwq;7rZ*E{)%YK}sJ_`DRyv}!GFz4j^3 z{+%>28gSjX8&R6)=ByqkI{!aJ;B%@~DzN73jIQ-Q?`e@rA|pFHLH3gA$I-?#rc@|T zKn0XDiWS9_F~Oja$c~n=Y2;R_TniTwRsq@!k8{_hAHqt}*)occoX$?p z>ueo!pf3AcPsq`ELLSBw_UxUoN9_cCSLSM%2aw76ko{d1Kfjq(HypQXSXT|lY^VG%?6CU}- z_Us3t>&3pHgU#yWoW4v1NVwJqisM^}(WF@quiOCpcr~~2K9FQ?TN5$0F>WpG$VG4` zBU>C+K81@X92V50W#(o(`vCl3EaB4WMHe`)1Ybqkab@hh%9Kyj`j|)OZH@9_)=%C> z?$XhjNtA&gP6*|&yo6*cIfhC!WcjUiI+qka}4(*W-b83#R%es z$O~5zrMO50Srn{j=e{+?5awdAd>qToIT^JA+2!hF%6Ts8db{9&jpTe>BbHgFP>q*i z1P8GKf&T)R;C$$!n}i*+ioUSJVwkii1js9uO;X3Gla6jqj-^}}K4IQ6UsCo0s6|f1 zjAkt#rDUonZ9Z}$+z0MwJtY zmUV_4fEJ)gL|kl&b7ovvCMgfor7Lp^=l;Z*u2hwwYzdr2;6DJ(V9_U}idD|i=3Bxe zp-56Dz5bc~S%6L`Xo!UfU>`|=o_4Mn*X}Z$=>`hpy8xG!rIKdSqRTo4aXz*~I_q}0 z^2UH653nHt8a_)-g1Tv8(x$(pOraOQliuW(?u4}XSlNVmZx{OgueaTK9p))vbM*3! z{l%Ft=Q6|9M~d+uRqmcFyVQ1 zv?hA4^xD_O(l^q_%4sq=!*+4QTntF<7fV6X#USMg%ehG`s~F(7afTd7)fA;R6uCE9 z{Kr$yNocj_#_^$6_7t4v_e4Sh9p`QtJdFmkoBSr;=g{uJh_Q%UnK z+><0QtD5G@ieMFLU=?OLDX(q?9~NOBM^Zd}bvLweJ6lE*|4}!sS28K~X|tF<;UH5v zPRy%XbI+j->U!zAb-d0~_-l3sEl#ls>q0# z(jcAEx#$=*S2p>HoqZ6lZ%;bh8Xij!qdaS~K^1DwJ5Z({ufB}Mf=cvMp+8`K;S&`Z z$qy?FKB3w15#v|nRCz7v)hedufoCm1j1GH9Yj*jz|^YfBI+ z9$frSh7#hrkt8HA?}dbjuGpppWQtg3Vg11N{e->i#7dxO>xA2|h5e*YbJbnr}p8ymXy^uAa zGqcF;`%=P>$3L|QgY6udEDNgvg>>kFVw#yP=GR@uP^I82Fw|DI{FCe7+b-}50myM{ zp`JorXc)RtMQW@OYA!06@Lr%{LRO-aFU047{2(of2uVH{+^VBOA)CS;)j^hBKTv00 zYEdFR&jeDin1 zwDp4!lU$*cO_Ds01iT5le=X&xlqpi#5tJQ6^+s8Gk>kpGxMNHogPR8X^Xp_&sTFNm z!|#I_3+J;4Zbk6f0X6;=Ks@#M+7D2W0<)AaXhIK%Nvv5hfEbv892_Vx_#6k|OnItM z{dvNc9pzLmy@;srSd3l;F)hRTp189#d-JRcz)F#@n=2ZvO_HpPRJ`p_6vqHSbDYCi zGu5AZffYT^MbO0eaT(a6y3TB8+pi4j_kj<3Y?$!JB>O8r7Cxu4qoFP;66RC9=mB*D`v7k-ht+!swXIez4judrB zo3?OlbzG@qxe@+O{ifBS4dHN$uB@Y%=V@;)xwoDQGt9{n8i4Cf%iFCilg}wx7@Ns@ zV5wJ^6T5voX%Epmj$(t{P0+b} z^mkvaNN>WZ6^Eu)WUxO_wW97C4@9l_IG)zE@9@iO%S>npwniMO8_1w+bE9_)EHMBW z(~Z7a2w9+znQI2!Za&JO+bz_q-n9LW=y{q>vG1bfSHHlIr!pgUyp~}#4wDPl4@DKc z(gy=WY_f@(b-A|R(*RLhWZ4X&F0{x709fwN2!*$0en;EDtEYbr2b2S($xXP8DiohL;j$awg0{%ETG= zv3HPX3*XVUl*Id%b!~+FJkAbRR1x`7FRm5RQ2_yJ^YqFlZ($EgJ*pcDdQ*r3 zt#2OMuTarV!0jVUbR)962@!o7Bt3_RHU%Sk-ePE|)(-d<(&NF-c&_*Oc&`C;&xd>+ z`a3`B8^JT21K$9==y~7AUOwU^Hf?CaeG}`QXVU@!lCRVL=DbI`5gJ;*sn{N-+jJbR z$H-phHtSmWy+s4GOY8AE`#A9lkh(e8$!72TI4Hh?NwZpAT%ckYZBr|_jqr%pv=WRL zUb8tk9suzr+R%b#769?$xK6PY;T4nHV z_a2(;gt}PNXkwAxQ=82!wDv&Mv*jiv397vuJKjWmK|^Wgh-)k-lq@K$aQ3-i!Che) zCAAD1ffyD`ycBL^*M$~Un491TRA(=8#-GAx*1d=xg*2+t8)=Frd)7T>cH*D9q77*y z-jXPB8^z^2Jjk}E z(z1g<7ShIAa2cp{q;cv3qEzMNe=WD#O&Iughc~-_`*{yAIuQ^zSsj2L^jB*2R8;suk(dVjx?I zu1cP4qMDS9(T;i&QYJO(D8EFy@ppwC$C`$9{L9^i(om3ku(+TkM~8J4eO8(SNiqq{ z(Hb;flYBz-H>(CvT|sFz#fm-Q%trseJ@=`fu!2$zB{nsFYfw@0ycvijOuNp0(_go> z-%5Hz@p|KgETU?nG|p3~yt(z-5M%HnMucv=5V;jr#<5?a=SOsx#?w8=eEmoSA^Aa* zNSb!_r2JO;u+$a6*`&d4{j?v))7nKHGS*+20l=|EA1|(}R&vNbu3OhZl}+DN*dbrD zFNe+uqli8`6Y8Z|QpbqSqj<2#t5hIXZh95g;;xcK#{o;Z`3lhIa4uSZiH=gaB*jMD z7bZv9{kIpoEfw!W&OIYZDw}c2Fox{lfBoxUKfp#3Bkc~e(;P3qF7AqaXO`HjWRj}h5@Z0JF;v{E&EeZ8Ne#e8|*-pzH!{e zPSd+opDv8mkU<>4apP~AVO8sK)(6wtKtbL38=eA3y}Rz9phM3y;ngx?C{u`%uNQAq zN`4$zl&y5xXe?|s@Yi$l92PPP6QCrB#Q9_rh%i)9&G^W&`Pm>anhw%a0daE82G2W< z=QL)eWQ7~PLoIs_2mSZFVaAL6Ww)@pQ>m^x`#8va*A0N#v7}e6og8N7>ju!6^w<6% zXmViN!H7wOE&tji!uFI1yMa~@G#hq(u3#ljyZfo0Pbj9lneX|ODmLh(&yB~pq`YlE zR?-q5OJ@esbwKFbHo6^5==pHXqIy8@+afw}6ci@t-keeqk3%(tW$IQN6jwv>PMbg* z!~E`;Ko7jtg1KYv#vRl2UZ@wMvPE>#)E?UtF~Xn`Aa(ySuHj+{Cz>TmTv$};(OzK; zUi9eGkJ-WF(k-g`avb**hc!EJ5|1dCz3)nP< zf-VZxyTo)iCl&z&JN#vZ`Ep6o~+=1<@>I%y#aVIw-Vey-pmD$UVfClU%5x-I#N%H z&9rX=E`@mC*P}5!p&D3Fx>v;GUToJs`p@+_VE+&pmsR7f#pVKu#^`@t*Gv`Nh@QRPu zUcOKlwc*yoaoB1?9-QOGtsro-&)iEB7ZFy|B(G69K(|X3EtF&_xm;6in3){`)lEf! ziKTo`%&d2ub!?4FE-Pj8Z?L|UEh__WTvvSEk_#k!g_h@I6_Rl#NkzKZQcpH+K%J?~ z3PWk&QNTa3WRM8Z<^75WT`XKV^9ipCFU2EuyUa;VO>zD7LdlFa zk_*Mrl?^T4^oIRormeq>Qu{+2EUX3xlN(ykzz{7Vpe0_A0!C=f{71|6 zsSto5gLN)UfT}8Uq(Drz&YTRF%cz`P8HQ>YYD)~YaESMkrD70L$GV=6aZiI*_54g^ z*6wL~x%Cf&FRfct4Yrg!saqYwrKgVJJ#kGBQ_n#(p+FMo#X$xz1b(CxJc47}EQxkr zd*AN}jPbU+foF$|vM1GZ1LLGKN3{=CT8o4ZXMSXDV}!YjjJ z<^xiXcFSqBr(y<D;wfvuIW*Wqh9GR{j2)y^%-F&@w1pjLW?Drk(UETH?nt^; zAjr&~yF1EL+Wy_~Ao+~(wD!ex%ABmNSvED#SCg*Q-M4)nBttOnxZb$IPFJuswQGwY zF$GQgfSoC2+KQ36jHCDLNos(}t?zHOjw+Kv51QM*OL*FYh^WBDf`{pT{l6qhky>lN z^sPs(A>w=DG)b7GANhd5e*V4tjqpDgAnD;B$98qQk6n=-7MDf|SbgN&-$e9)E)f?& zNv6OyO^?EL@!#T~Eqe)r!jF=?L&h~X4PpqU#arl1C_y%JCb}<$xdTNo>ujiQ5!O-; zHIB`>$e2p6Rxl@?>z0{S4Mj8UbY=x59r;mD$DAM-YF+W(@F^^&KQyVfkfM!IJ5H}_PDzh(JL}2c@?Y1nX=cJ zB;6rF?5Q8%@aXMtC_j+nhRceu=-I-kpSY|USiYnh0l>9NyXpb^^_DGL8@o1VLacl5 zTv@kBZj0dPyE=OV(4pr$QL64K@DHd$-C&VXn4s4(PTCk9YI!e%=WX%4)79M$ux$G} zteP~u@~=%A-XPNO>aJ4P7{3c)a=KjY?$O`b8%uia{ohzJknH2eQUu3<7;eBWE0f%!$Mo-OCAoZl%7r)@J z5DVnK6K9NK3&ze44Uh^+?uQg>1u*>VOn_gj#!r|Wxr`Re2>JCKGhSVL1y90!3AHz{ zFf2Cj2jmh2A$jk(PPF1$U4V`6JkeyX_BxP)3U)a4gdli=age2M zWtyyv?>7fbB|$QNZXO60lOF5r|I^ml15L)}_YQBh8xP!Gd z8dbZt8`dd#4NmBN9Rc6l2o=kA5t=KkJ?LJe5AIJ2Bm;h3li+UhLDM&f1Ba~p*+NNopKGmx8 ze{)Sm8Q-(82=<7W)1OQ;o7|AipM?e`&T)Giil0g0(U!yse|~~8cj2(*r=1qS0B7ol z@k?*%x<8zaUy_1hPH4j?lx1-*(j`tN9J+K#Xt0#9n?M6vjC3;}KJW^#H!LeaI7_Gr zL$&;KOlwef6dC}3QA38Psb{fz3RrDt`xmliZ#^QsmVKt>EN?nERhaJ&f?Tq2}Hw;I}KpY)`9zNL`N_ zy(<|ce(uqEtF={aL&4=m6E=ZmC`FXKcW1BURl7sqk?2J`tA!6RUmlpvedwn%{c-u$ zH>2ky<(&xLT%naKAX>uO1t99DOEOFZ0stF|(N-c6z;15(HGtOgRdnd8fVpV)sKzq+ zwXd-bod}!KM**Hj_tIbPwy#XGK=&~}#_kp0*Wb`GL~V6bLc zQh|qWV84~hnq+n@>7cl2%EVKZd&BtH#R;ohfkx$ms=?xE+g1YJ)??Jg6Rf@eDk}qh z?c8;hzrTu-hbnSh_a{SLRSji9fW=Z0KX;>~${S>At-L=bns`N}qzZ3>Jn;OeA%cy; zk(+!AaJ)~zapx~2vMZN?fJ1};P(0>-8Cerw(CvzMu2<_lv)LTu8d*(juo7!3>`yX^ z#Jq)A@Sy8JrWBsMSHL)(y=P0Hg}R> zs$BUa*Ss1$b`P|JycTX`yQc0u1*L)B!`3Z#zb|KcyWWx|6`_$opeSmvb~hbh$rx%m zC|V9j(_>J1e6@+9W-ir3yCkpM^M2o)H|%sz=6wQ$DJ|0+d5 zUnv68C0-O$IqHommmH_Okp_rSVG{n6iJeF_B9{kp|z`S zy?n$5fVEI7;;D^xR~Vw1ebe*wp`9!FkH=LB-Yw2)C3t0XyZ-xs+J@f;IJ?eVbPBn3 z-@V620_(RPy-a?ND^bh0+Q&rv_+)=jLv4U_osGCPaNNwN0;YBy!&!vJFYPb0YKR`1 z#)BkrEOU`Gy3YQFk&-8yUylM|&pF@{6`&o&qJ!a}YfTB7P>Nf{&3tzvH8%N9;*FTt zk!{)cKKt7eWLx)wtsHlQ5u-uxK<8( z!*!}fA(%3O%6XnQ`Z;NU4Bz}i1ip3r{F&Bfs%Z2DX||m%k98%eBuT2?M8isMe#M>W z@!JUf?Kju0?%s#)*))uHS}EKCZLSIqI@99@frR!oxXrNNN!_jCJC)JejMlc-TH9S< zkHu>TCik@c9hq-r=tKZyAaX8Rq}t`fjLfnPYd4uCbfULq0o9VymfhCJz=>+6L48CQ zwEtNIfisy1k8@roK(H9wLMuP99&z}5Oq+6UN*9)^u)Ok@vYk4Pg@4M7wv}8wPtQuL z+ET8Sfbq5CwGT?WF8EGBr*d8Y5qplWU>FxxYXJ|NBOCRDAw!p%Pc{fj>L4lmdvVxs zNU{m!3+8eqk#qrS~V7+-%PRNWiL#0zT`#O^YjX@Zg7%^s3tXIhf4 zUYzFAAty1<#<~UOy!|WU8nJD+=lz(uyT8K>GLcNNMAEgAvanoAy2~sm^^eV~) z=$ma>Y1KI|BjP6K+Ptekx*~=K(ruagzX5>M{4NzS9;^OQst$lO##uL)Cn}Z_f297= z96gW+hR%`Wy92J7l;ou>*y~WE>FFv(=rHSQ;b5paKc)Aj;$|-vuId>{J9t32+L-e~ zK}NJP0+G&|gd&uqm+!odO$FD}7=n~y|3Zn~l?qvgUC@|J7JNU%E{`_vT`gD3PB0;*l_OfS{C}MtjRhvogDcU_~_C2D9twTWqixkefrkLx=o4 zMaGJPZdJHT^W z7>RL)qw!BFl`u;VWaUTG2NrsiFH)6Rm7qBGfmXtW?-3H!A&?fuyhp?i9zv>#hlfV1 zD+_*rnt{5u(rJ^c!_{Wim(m(|se8e{n&4M)R;l4mhCA&7ck0SlK)=C%yl^Ul+UI(M z*74KQnKXNXu|gbCl0A-`&sdLy0S!Nx)4hYIyRSo2_*~M}xg@Kb$vWI3O(PQHl4=rs zoLQVF&qmMdPa?WqE*5@(3yt8U-J_GgdI{Mu^5>Qv4`79AQ1o^tNK|L0YCdW9@ww8i zSbgy*tfk&UPEgsQa1DoO5wspI5>_0l!G>?8eA5dN&+wPmSczpb??eft%LU`1!-V=- zNC7c()fdXNuPpy+GddQ%cT!G1c_ibcVzrS8g$~owx67I@pdo3jM;pc9uDAyzp`~0X zm0yh2?-=NW9=U&}rQ2`o{<~_2KiP7qFH58{31& zK`|_@$sNkV?yqA~ueVL*MNbY%n~T2oLG{{p$+%QDJcKiU=}xe&m+d~$H52?sq%*~kFMCJ8D9Qy#{aI7$rw^1Rj19frV4zV055Pu!KGQ%nSro5T+mM#bQGT+mVwqy-%cKf5sT7vY zoUGA#FrERD z-!AbLI9G4{iS7x#mC?*h6dN)Ptv%Y$9VvR@X1fDqFG7`@)UPDldN{8?`_a+r7nm|KF#dV~e zGv!o+SpiCG;Zp4YS;yGt#-HEIq^4A4EDYbs!*jH-H z6?3(y(JY$7Eh$qv%9=W^_~Fccd6I(#YIQgUr)&@pTfzFje4htdenCHs;pkYd?LGW> z^w&49kL0!D$0NC+@QfE3o@FXfSl6(S7;tAqD7;eCUY-I13S|)9OKe>F_hpFXs$*bq z+&yO2!yycoE@<6v(6yU^Lv}o$lFhhT!bF7Qz`4hsm8IZBgDC>Aa6k%x*^D|QX}RJ> z;6H#~fj$WK79cVhtj;GvDo7f-=iU~m{*2KrUi@4>xi}whN$RGP|4ndS`^fmBHgcrUi z!}d8?hUQLBNvw4o*pF`h%wIWlj|qX>fg%rU`Q`FG-cq~}ZRR);t|Uf1Lv3^phhh9N zu&Fv7(?R+X(t|{1cDB%G?@nQXd`*-x0CN=pB=^|VFJ-lN(8hm?xd}jk9+xddzT1bq!4rdBq-V%OP|nj0H_#lX;ORND7sPHDIoZ9dEt_;Vry_``M=3!EF=CFnA z_!CeHK_Lv{cnw|)kH?!=wbQbV5+pVxZ9Gk7&Kyo^FfPIL?Klv^3uiw3tZ@8}L)#vl z>23>Hn1zrQ0fWRAsOQqs<1ejO@lvDTQ1d(uLUz^B|R&(d~_mF&|W#W+TNzk|BgT` zGK9nPK(MdW3;5-gP^d4hbw8s z$M&Xl0o=q!;!)p+PdKDqmLsxi5b8FehPfT#v#)MEbY9!;S2r>QH%wf?UnM`XUzyb} z@@aDow?rAM<7g%@CSs;=_L(#e~B+03?nb)&=1OMWf}CkmUSwaQSa${;~-% z*acX!4T{odxjf1K3fFe2POjsJbVK15zt*D?YyqGcW4orC1SBbvSs_^m$*$a3S-r(L za=ECkHG}6npM$!!RU7WFYL|x5%b`@o%^;=5)#1bIvLc$Cx-n5lNm#^O6rmQ`PMtIJ zF{y1xCK10H-=yc|)b={AOWr_=+>_7kem(L*l|&yOlUn5)6-ZLi^K!6O;jy7T z*$oDE{&OS1v=bqA5?)3vRFD|F(x>S7mG8U4)<(w%0dM1Km)@LmA0}igIhDp{vh$u= z>QBJTIdHuWvL>`p5^{IJQkqw3cI)1cW>$LsWHs@Wf5MuA6ts;+1=C;q9vY*IU$k)! zDp?@1v>uC#%#|3FBFCEnyCDM##l?!85tximY9wXLXpf+Xd@JpO9m^gU9QzB-Riw12Taq7x|esZ9g`BKSlNB|^|B;8p_S3^WV?lRTn=A$-hQa#1t3 zVg>bCcCKAMcXAMvNDE>bIM^HqJ))_Pq}2iU zmzTrjP34e-#5xiA*$I4Uu(s~)NI8tQRp?(AAkZ!qb$baixb6|xm3Zx*GLTl-e*dT( z?kV1VfWHy&4^8_%@E0P89I=H7o<<9;weI&)9RPCNH z!lZF{lpQ{)I-w#d9-PnUJIxQUotl%XQjuB{AVFqA(#&(*Dm-is6(7hekhSk-{T3&+ z5yNArYuC`$fO^^cPzzu(=;AJR&TE!4DFyRWb!*rJpP1e=y)U;aU{gTD1LnO4fBV~u zdRBcvqzNzthcFZHSqwA9T*05dB>G1)tz<~Wodx3 zMB-vO<#_8BXXRlqbqh%3tKC&I2Tc6&gFy3DBpv{yKYmU6gY8=HIQIB!myLCXaRnUn|5UEhU_{Ma@E0!FG6%G&+N}+c^>;@n2+2Q-XeV5 zFcm|PALXh3*QFE4fLd2P*y9z&_Q^Q<@Pxgc;>&^x*vc{3L_N1bcED5^P;5`}=#ct! zDlZt~i<2*hrHz~SEM+O1>uyN}bz4HyEvSkgd|%fd{F5R?sS(Ip!zrsbfJRv^@ivt) zW1`+;bEG?gb-tv$YQU7w`2!8s$jR-q%&}E<&q@`}<};)N7O+%=jUm3%_I7fUiddR7 zS?h zvNn0ztx{WL@xqF%up%eSkzyv(t1~*x=9e8F5k8HC?i$b^2u|pEQQ3W4)G4>WpJefA z+_p`)ZL=_Kz?t8IT+gntLH8)<*5cZ;&pD8kOZldJzWKb{bkqx=1!aoII*=1_kse|e zlyWzo0iwpywywgvl*+hm*Pe3l-UX`*N_28Z`uJN)bR_NpX4RH4FO&HX&_yS$& z)hZIUqvEk9B;_K{gg2hHxl=Ysb6Wc98l+zNdU~ewv|Mld7FpXUV!HY zlo#H7PV~~vkLWrtqcNrn&-^g@p0YnrDZ})bYJG+R&!2Vk{_}Td@Sop5vyL%OGbuF> z*UOJ^UGpD9>-`K<%>Qll{Mip@Fl^~W-{oeSVr5^P4@duQ%fWxYY4G1~Gx&0n2N5RB zmV@ZTD$H~1xWMdP=V8XtX%(j~2O6wk9niL%uN;nYzTaC7PbkyX;|bwVKM2zJPOYEs z?%vD9&iC(b?=VOAe#0=~rg3g{20AO8kZU-$x9`s1pWfSeUwjnzp$I-ZSniJ@z=B+^ zR9GLy{jGdqjS90y?Je9TFOq!crcG;EUiN1p7RhAIR}TIJ08(L!luOrM8SqqIAlYenEA8K_^eeZ00=qEYZ5Y_908Q&%dg9U~AV zyrwCw7b}_&q%cr>9gH?4`Ici-zp`*1tVda}9!ansy?B1q98}-fU*7P}Zk>PB_R7rd zFV1{9kAW1T0MKsLom`xQwjl){odcNWL?8h`jTXncjiinY#XCUAWle zq=8q`MIo|3p;Lm%OO;@m%eqQ2J;6twHjm1oarmt2KbK$(OrE3Uv3lc;-Q`5!^GiFjo4;r|JOKyL#LY~_mq>VA`-|J#eD`-N1eI`Z z*JerY?Un1>ljfOl9%Sc>1)62+vSInTHFbnL$)!7d&96)Y2X0yJDihhIG(!0P(#J5P z;X_Ii7ZxD7b+j8`)F3V_Pzjn#1Xl`fHG>v08FGb7eWq%WraSG1WiFwe0qQMf)z&3M zJ+R7-Y!niGj3ru`AQ8A^9pLNR9s>8xWPJg*t)W_!b#KtdGD-F3yx^<=lyxu?`6z=G z=L%G)9#OcFk2DY#SfAm<~Cda7mGr=`8}{JjCRDeDTR;=IO7&3 z$wzqZZRyV@=o zadQW}IJF42_#c0ryW|5;!a~X7;Dl|2GB#x~%H8C$&7eBFQs;V5Rk*e_vBB;ys%!Qe z#}V0D-PP!MTbIH7ihUQ;2|-L^#%`skv82pLq4CU^hvR*7){yfL%7+-^e0sHPcF*SKNQ4b6D8_lm}^e%ip%UW&XYHmS^;J(_8+g-7UZV`FhLT6p~lGcT)DN zVV?V#-#s~8vEzBw8tr9Ld$h1YAC>8By0O#jHB-UJ_X7V*<4n##Xrn~}9*%99XGyJ8 zumwBF_lZNI^nUq(rXRTyj_XFd(7$iRimiCScgrXl)H;iwUj+eNWRt&)X(Q1r@E@(O zZ-7aCfiK@pKiJ-bxcV{{M2TOY$U6*%wBXY7!N|8Dfn;DDSqpsWp(IU%x{f0~pMCr7 zA7A|L-~RagOzJt~;bsB?8K6JcO`}C2c^iE|=+o_Du%`OHhMkzef zl|7m}I7X+$gfixVzw_cmHi9RF-8#N-~r(C#0O!AA(V=DPy_Al4iN1gWky_NrluxCw{q|k&Q9Vs3J zvk<T8D)VGZ|YYKo9lMmeQP9pztNTPxXv!FW!Iv^Q!}+u(!*8zATUJFJIc%}#cs1@ za9gnZlr4IP%h{Ihr)K~8|+(8DFu|C=D~r^7biy0Jc3FeS{$5@ zW%;OqAW$Tn8wW)cwm00qR%`wAxc3@hB`t(yTGKu%47DO1M`{4aVFWTWc$SJ&e@@ZR2c(4NeSml+QA`?@{tVex zqQ0kv01b!1$oa%Bs_~K^FA54zW-l+4hWf)9{8s$?H9+(s@RxA32)t`vdj)#xQ?H$s zETH&g@{+`r_2ZA|$a#%FkFM>=cH#R;$=e^qWX)gR`WG`)(aZi^e=T%4*Ub1|0z1KW zx}1-8;H{bP4G0A9Ibo>`hlTErw{2K~nt_;ba`;k$IOFxJ3&l%;d?uAZ`%Kyv0{;QZ4}_-DBPhFB+7 zOs8;>Z^AfU3XV&%6Ub-hpKZrQWVVoFwv7DK@l1?AsgQJ~XW{Kz&6@|)sded4_r)-A zrAhe1C|BNR2X6D|&qA>qQ0qFIx{F#rTG!Yw!#Y-ppfW4+S)~~yT;ReFx}F_OK%ZaG z#fPjT@v^Psx4w6(d~N58#k2fj*xv77ioI=B3^HVHr8HDI&aLQMA7SvVVSrkES3s!h z;?cP8^TYSHqurPk-?tXK0N2@9>;FKdq)Nz#<4!++Q<$#dV6(eeKUG)Wu*Ya{C`vZ z46KttT5yJbL8oddc4*@bWOMN@>6BK z@{`P(JB2S_AFC{xzeugPL;A%Fi>_S9()?pMEbo@dk5^wXq#C1( zPM$b~PyM}{kcK9pOV4v1lNlOuw`6(#G%92!MiObXUka%(*_trg1{$rl}~kV=S=ct!mX5P8{UfmlAh*e$b8OIEc$9vgM3rH6=e zw7=G_TFq!#uq~5peS>7wM%R-KpuEoWzL5CeGO!h0yoC$ts>e|{> zPwMxLqR*cW_)?4F>xYu!ndTxC&UJwiU*pKS#$s2c<@=gunS`D@pH1)eSSJmENaSF- z8ZgI-7u<6qRr^A0?|^gJ&^S!YSfP<8`OM*Hu3E+rA*vLD2Q_#y?OA{MkgjNlJT*A9}9 zg>aO9w?YR<(8b|9Wm?v5xS57mked1ErF4=iZ4s4=2)o&162MdKAe(5GsRPmkZWREP zd_)}7-q0at(;8?2723pf1sn2~UZE_vQ>Y09MYqH7}M3_hqLiZ91(scNaF9q_K=qX z5wD4kE2_X!ev%hXHBQ~Xvr`URuR8NZ;D6>p7b2iinIHsDtb45997$z0j3|tcdPK3E z+geheKkH_Sn4p*x#KZ}GK=WAC1x*$GZ7-IibfXq4=JgcbDt}kZvA4I0hGX*hXg#8rwocF93Bwiof+8<@`Z%VIi5-Pc!WgT!$A6 zR0@WD4hE_&_9m5e2$np=9ly8BxmM)}-;|{nJ~OKi{nuwR=}a@NLpwmWHcd zvA1lHVx3<4sKm_8l+rZoDTkNpOUf3eEy8<4UT5RqPtW>QqH zor##7lzcu7{COrWP+L>(AE?{t*9ums(d@)#S>wC59d{YDQJ76?eN#EXPQYZ){f1(R z#EplrfQcVc@Rsd1(1xfnIIj^dF>EV{sm zmU%Pc-bnOs7aoeOAwtj7X2+PM-WFnok^`mTR)}9#4L0u5BgkXiK)^sbig@w$#8%8y zlGRq}PE^v&Obyc(zs~M`yN)K3zveoJQyzkkjYP*wI})it9&`?5iDOsbv`tg^5*pF$ z3_py$zYoONspb)S5&#P|=FULj7U;QA62S3>u=_PqqN%j4cNd0@gEHv<+ERpC6ug#{PPA&Ov%o8w{LE7Y>FBJ(qUvuwFUt_y8YF? za2?p{_vM3ZlVheZdG_WO){sp#n+Y_){dn}<@1B?Co#9H}1@_n#C2QtCw7+bg2NVsA z#42C@w{@29ipy7>t)6D9y!dTW=B#7j7UI{X1KI}8fP=D#!#z+XJ4 zB@iyXg8|}AC;=uWO@R?Zt^p*T$QFX3cI!?|pZZqtCZR>)PoGa@B1hwkLa=(H-0~9!BTqbtrG+ZBEQ6s5b zoc3kS4ySJAcG6kymb$NuteXfWDO^DFU5rTb=H0y~c*BRI1hXWU4YL0L=>vt3amb}p zlO0ZWVJ0|>FJin@3$5sqte^VT9BR-d;CrLdhd%5QrGuqEK)Du!GtsDfBd^W45iCTx6;;bp%t%#N(7 z6NJ$TH+u#$3Ms@*QD3rH{dq25{p^Q$&nr~Rs4xVk)RD6YhpF)0d!S&9Zl%q^mMVOz z9vl^I4H_x@iQv0ZLY+I$XKD<1lunr=gAUROig1z!;ks6KFLeh`EbbMp%p1U3V)4zo z{ZdXaJDwN-{Mim18{kjx*dc~00@oG+S7e#n7=SCJRSkD!FBbB*k;Pn{9cZP^^Gc0h zOE>?-bzc53epza&hh78oB02Nt5UG&VF}h|#yB->qHXE=;E7(-iuvOPh_Gft^nyX22({zB~(a>NjdMUaWOI!T1hz3K1QVQzfo2V14&& z{cfa57k9%!rlTizgMj8m(oP~Vo_Rj7mlgeZCQCJ)`IChwqB93;D9LJT?=IhGygj@X zUO*+1_|MnWkZ;Wb0q^kV(PH)m0rUvxgcf>KGKMt?9K=4}M%1XA*YS4o0OPNn+oL~^ zV26JPSr(4qP9HtM)d!yW!2_&;zfaHmo?n6KpPKv43JwD=pMKOp)O>|ggEK_X5e^H-;39tdR%|$+XGL~GOy@YMg|UX)aYa7Oq8QIc8~jh%XXh@kPmj!L z?kXEoAY%>2Y?2^WJYAxL;n$_@@>Mr2DB^|Z-Da_Cjbd7lNe{KCz#jS#b6QSZ*?f-6oO6X3vFXT~z0OcY-k}mS27tfEH zh!0q!!fq2zlqSq#Z16FbzKHELj#o$O+)w{4oP6``w^GXds~i1koZCS7uMg3ma=z@4 zUtkuoO(ByUP8tu|Sa+|eiI4&kM%G764@p9};nJ%tFJThulrxfLu*P?h6Dzq;;Lqxk zfIq9v>;Ryp)xW)XdUktHWp$m{V2}5xtkb0=yk4aQGoiw?F`od78R6I~HIaOowFIL*UK;b90 z`)IF1Ob80mR!D{x6z|F8d3#%Ju^?X4f;c-e8St|Qi2TMFGESE1<(QFh#MhD^kMM36Nws+GElsLt!)HDzJMy-u z0JsI+paPd{-CXV;E@IpKwzycxfm%m}TJiqjB6fCci;GTVgodZYWP3&?C&8xGP}R}ZP>JYy;joZRQ{lYr zbJ9@Bg>KFXo(_eF5LCIxLh?PwECNy%0ib4bg2*}|W`O=C3iKdzHa@^T)9IL2P3YK7X%$5YY3<8wUDu?6i5D5wnH^OSF7Mp-`-TVA%ouDsT zDTRpAK&0_up*4}2&%Z|@sAh}&CnIIXFYjdiCspS=+0BGv`dBlhVK5c+t1tbd;-8c0}8)uv7*rOpB{?qs0uovh!UDt8aYt*)l#)Q50gQAF57;t#(@Q5!C zsm}3K?euxb0b>;Z_>NYuBo+Ur--V5wE2tCZ;bbegWWR8{%4nzOY2HUDV8+K&aJyl- zABBde{7W$aCXCZ&d_`p^r$<;DP^UqCvY{Tx&vrPw712L4AN*F!XSaixN{=Mj*^T$! zj%Mi*F}}rG*z0?4W}L!ep}tlgV0vU7lVbP`p%Do96BRSAR6eXgPDRbJ9pa*2NtLIb z-=dtlUirQ&Z14Z*k_+4#KZ^h(oEUE^SwS&MxHQ`fbji`o^-1GhYIqFveIrj z8cl{CfaK$)(K|A@;Mb)eiSP+brWb)`1Kc@BiI(iO6HL;K^)6}`*n}KU1-9~*py48Q zo)D8TwIwPsjMkI6{RvbbPhjl;7*K*BESOCyv^c&=P5%V+n}TscTP}m~jl8sK0`r!v zN)gt7&fRts#i#`(k#14&U`t=Kvifqp7@VLbOQ>3}F@{z&hAO}rduWgL&=?6FnMAXv zyECh3j;XX*6}oJLY^kDqtY^EUYY;gY&kJ|J^Tp!Q$8@_cOp!eUp>xw~{r%GOj_jH_ zSeeq;TLRFO#%_WNO=)cTzg;SgU0@}{4r$3Px3fSH{ssP|T_Uu*8q7JE{3N0)FA7$e zn^hk)FbZ!RhvHlx+iwHXrXCM0XoiJf8&pwev+x zZb_N02x->9Pmm4ZmBh!E+%ji^|Aeezio;hZQyZsYAcvte3~KO=9Ht0U)s>O;dj1XA zI&F!P;Lb{cCZ}RYuhLivi6H$ViYf}5@XVLcxqQ+9nd66a#qzmwGA6fdMc8aa$Rdy} zN;1JwdJr?mLwFySfS>5lO%)H)E9!s$@~1S@^a z&?z`yL@Sy3u3@X?@-26>z<<2LnkYvvWkHt+AEDRb>dRQj+AuS&JQUDARDG50V+L}B z@`j7^HdWM5*7~(#ML0IJQ9iiCSP7P%w@tBtWYDGq3i7gsm`&~C8R`C^%nU+#T5c|f zzxfL}W%IjNBM%=2iL#*w1YQovMpCL!r;-H~DJfe-CkUZfK1;`nEiVB@n+5#eYjne* zm4cX1d{3b8l#L%WpqX!mO;r^rOC9W5VnIn2NMxQYQwWc}T|``}bAzgyLFVkh0b&GM zlqp6keV?)At#+P#XQT-~HNmly^``YAwx`P)!>lBnAaGo|@1g@EUr?Ab1%St&0?dg% zHIoi|hTV1?KA9WD16iD!sI!&>**otYaILB9Kh_17tRII^u|El=K`Rgf;kh^y8dGeq+U2l- zPGFqu%Bf3=M=4U2+qTZRKxN%}%Nq^SYLfFRMKI4LK(md?5x8CnbRS4_XYgjnVHNI6 z{4)0O#y&Uxql$;DM#N8o;#waRqdQO=#}yL2fSbX>4aljyXu^LJHA9ns}t6!q9SFIx8;geHoCdo znM7B#%+7x=0>{_g$r~TbWMc#weN3gDVJK|y6LM<+46|+l8-)dr-uj;IQMvT-wysJy zbidU961J|p_k1$B^X1p5D+ViT1z&fv%s0NLtss=FbB>>Pvd~Lg_tKVG=EQbfojcj~ z3;Y?>`}%+c0oM`29dD^EZ^|%E-*>Xq+od)BXUPBI4TDt!D?APN=S9fh-12oQE#jOG{Ar>a%p?Ks)ilo zf@_8x*THomq-26m!wYmKE*F(&x&6hNFXyR5 zU)7pERItR3v}nGih-tj@S?@5Cl8ol^Gi)M3Fotgu0IN#0`IhN{#Fs5|MgoDQF?0FG zg=MrP86_~KcssubO1K4(UOFNAU9=@oQa63VUxrM2$wfc8H_zB|rW3@m#g3dDd1&tB zXWyNK$(hO!0@Y%Ea4=gI2|=0s)(6w3806W@I0$!Soj+iW-G~Rou}_jjYiSb4@v&Mn zRW+{MmihIXk?<_K{@8Z;@v-Myzua9sYx-znVla9%uWbxs*44A*+eyWJ4xxzaG^$a< zIDMls;46ahIy)_%Tv=w?!5(CpuFuCF^mr8j;-g`BabqoRjM z(}5AQGvj1D*S!EGlD@`vO((hUESF0m0yI+Vt4z^m#l@zH(duy3iV9VT zBo?*?o-|)nSUVRaSABzdyrlD8H>U{xT$4mHVGZpp|IOOvca^f16+8P?H)>n(cb`kP z&)A^n9c8bjv?3<8_RG`KZ*@>uCX;bC)*W*Rnbn-R{ZFHbs zf|i&us4-z$0gX*MthrIMCwBP5zH)|zF+nCSZco?A=+S5E%T@>PnpNNc^-F4W^>u1} zU&mV4Vi_!aZh5INGxdGykd>%hGS_8_iGQ;ayGEm&Zw+4Rc08$xs5N-9r;*HwOOmgU zWz`AzAM-}j^!mBDu#-zg&hWc{H z;*+@R8*SzM{Y_|1DAq-Gn#&GH_DQyJPM6-8Be|WZ=mTpMlax`G$dhUoB~`u)bWuUj>gTYv%|opA9pFHQ)ld8tRLw}r|A*f)_Jxlr;p1#4xf>JCRIKu zJKDWS2VzP734BEENVpCOd#<|y4*92Z?qqDfxxi}`3=SIf91#6#Ih~5&1I$gGtK!nJ zj6X2E~l`xPMwC-fB%mztlqx6yZRUFBgU|Y zzE9^(-ZOlJ7!b|Ky5VNP7F@f60CZ9&(&HQSRQTu3N@Sz zam6VDZd`P1l+KvL9PWrzJkpimT9A{?JP4v26QlW1&2i8pn)*mKq{aQsguFA6flP2- z8CRDB-9gV~LBPnH^T^=?&yJv@5(x&VPxRskk{H+te2j~i;)GKx2n+HYHN zwhgF%ipRCU;s62XDRL~T!RvrPNnBjow(9*5>uJcVoUG}&43n#ZJ(lUoapEc40`8@m z4%F4q528XjS9~2SJYm@jd`WRanKr3NH(y~NHNmqnYKT-(KOZ%NoD&YlOt=fnnd1#r zq~qCIzlFXLbGTrz)+9A}43s%e*H+%D&@%QOn$uN~^2$&np3|Io4S-2ck`Nk+j4?X6 z2{KbBz;F^SHGy9Pz22{CvIHKTyyr(R=^t{s(o>Bx4zw1otpO`Jdie_1A=gSls_{}A zm*A?iu1s>QFU5JJFctv}S#?Qirs7YcQQfDS0zXv^Rp%t;w3bv5nv8({p}U#})+;i(v|Tn_R(WO8ugCadh~ng;1zV0$4V zo&c*D3I3w5LcM{T&D1G~Hr$MqB{HWIG!~rS3Nu>#mNnXwX`TWzg{JUY)2kcFHpx;3 zA%mYV3GmA@o!;?I7p~pB0p|nTj&f|{&Sx%Pq;bXHvGk4fqrO@?E{qWu<)7KXfB#P` z2i}d+Vq;iGq!t^>FnW4f0^lfXxLXS-s@37M80P^pJnP9xqxjIs+k9M81m;`#fsN(J z0STu}{o72%VpkcsE~z&l(_`6IbGXKRD*uQoFc171E)PvRgv&^{3hC~yOw7=QM3Yp_ z+!a@!Dn(T}RVr+?fu)$$KgC&Ua*Q6tKo)muFE9`J?3r0G77X8ZySA zywY1m#hr$Y?=g65#q=B;-f~88-}&cPzfq)cDgY~S^Uwx?Ff(EmT_>@tuDmaZ25#gc zjyQms=cRgM=uE`W^RgxDoH8lVYJ z=lDMmw&VZ5y>H=e8@bZ_D~Nh`TAoAEmOIHN{cuK>>~3XbNn^=zW^;1pfB+~V0s#g9 zEi>8t_pSS=LKPlV0R%|OR?bXfkwl^D)~#Fj`Q1Q_GzQVk|2ba8Ld|1*qmR;Yj6d6s z;p|@pnC%N5fM<;(>dS)tNP<-+sa3^kKzIWl~Cpyh_X5SHPT z3P>=YInYw-VDr>&3gsb9122!3wN(Q2R?`5N38KZ>q8rtNRxgeBX(F!3+pGo-m>KrZ7G@B0xzsXA5thr#p{D>guMpC=7ZVAuS!&qw`c(kij-_zK;C=|EIRxp8q9qwd6!Ly9n>rx$3ZrOC z5nbP4i;X8qQ^S18lKkE2+UG>fS##`C$s2dBQ-xb&Hry$n219wV2PC^2(-F+Pz;S&zrG zvociR)>Buk#AQ>UC0ePMk{zV8h;Nt94D<%P<2OjnHCGNdaE2b{%DBA2I zzxq^Ou^YTt1ut0X-#oJ8670=G5dnGC(kMs}*#>JM$391LR{Hh3afA^gqRgEGO5?H) z6j3w;(@1?oF)-gmYhiyV|qW<~8+gy4pmW>S);zc&eRP zRdwo-WewYX7=yi=ac*sos~s@ky4oHeIRK6rw1?K=;b7kQ#oTB3WmUC?wY41>zFAP_mFsACZw*UE7X+`&TDH`>QM`8R;`E7O9w z6IIPCrBMRE(wxKL){_?=H)z6NP2FyqLmoY|n%m9GO}U zCzTPdy+AODrTp+-4BttjGy`W{*Sxz1Sjx%_WdhKku^^d~cpjaJ(jo{k6?RH+xO%yd)00^YX>v|2cT^-NB2O=yg!o6(juyTY4HJ$=6lKa{e6_{O>gr`h7P9$`$u;a#^ zCKmFH;T7c%`;Wt1COPCny9mA^^y(wYHr@OMI_8&h8B|x?_Oj@G*`>qz8r&2YG5o2Q zm9LS#thA;=*c!l^*lZg%98PX=R{4xV9y}UGg#!i0!OjiaIxwChcmt+%QW+FbnO`b6+*-Fx-ky)Sa5q?5j|gW*?2_@%gL8MA=*5Vu{=rBoA;uU;{c zzb&#{$R-ymy`|-W6v4oUd_%^`H&uoj%-$+cJ=>hHmIvrmwWX0qMvruLZAbN550TaO zz%ggR$-3fE_o*E#VtI`ZjrJSo8_!1P4Vlz$fB#O&siD|Xw zi+^EDf>(>fk?2`pI_M!oO)YD|L9Ae3wO6hU)jBJ(&L6t^&DEq?ew0HtVGaiYAR1lz zQ^~tOJW%LVs`*EiR3S#l`IW+|6o5ZaAhR*|S0_ZNo>LO=t{^VhU)5Lu)M5RT4tEi2 zOTFDivSY)Z*^;!jf5af6q%&-=ML>mg5#a|J|F5+h2)wl&Se%U=%J2}YkCt?WEjf=& zUTESI^Mwj7j+(TnY>%SZbyYf>OY2x_K^@5$*o?Z9$?hO2?Vb2&E&TIxjL@JJqS2^lS{41g?2$-7TBUpy`83Hi74qW$<>>#JFq-caj zn^0a@0|E-Cs@0svX%a=rJ*y{5OP|?_taDUBcoMnjSWS zM^ySrm?M^@x+#IbE8AVauRr>UcM|}dY98E(J^1O{3z9X2m6?4@x#~ZCd-$#Myr0v{ zeb!nYVtxudKEl@YrH!EkKD>401ml~rlSM9e;4;3$z)40YL~IgxEoA&8BzICcn-h$= z0TvEBG81(1+=MO3;EUmEPBb+Q2PT zg`#$sX|)+}2KUtQ(jY(mKx`1=3$O}MYccH3MpeBC*+u+DSmM;?r1uSz)u6iZk1bfx z`X|N@Wy_c;8%i(+Y%kyKj%;ZWTgMo-K-vEc0=!Ny#0vVS{&*ail!#MjN1)-9A(i5tfaJ#d7 z`1~8`JpIOSo_=#m>Nhw6+nch{U;vu247#+tOJs^<1v! zBeQT=TjWfb^>0w2=(_0Pl5jE-_Nb2qf1pp&ba=#7^5OHFmG69ZYOc zHBfT^yBW0ybd<|pA*l6;S1?=&IQl>uu@Y7Rfbf7BpzC@9+0=_D8aqdDRMJJnzH71B zBXkPV5YUVr{ZObLD=Se@-W*t*HVB)+#&d1Fb0j$jGiMK9931{e8x%`$JZwK&w1EeI zLn+k@SuL0ozDoowP+>?k9u)kD*gq(l!_Y7$)Gkub-cP+thZgQA4B_;pt!HB2p}9IT zRl&B}Q9hlPRqHsoAwOGgu)6tf%!M{2DrN-vGG3;!XBfMXD-q__xe{C65^D3bjsR6w zF5N5L`Xg>#8>bf5YpI$653<85$4QuZZt5RJQJ0lU1p^9G5*C_#ZLvg#j7rC+mtg3J z>Vn`vhM=@$cVyPpb+meyWbzWBu2<;D!>(XAWZPZku6KuWb)HlH91S$AdpwCbS%~rv zdREpvHN48bNlM3RSp+4ET;4>3wY^Q&b)l0Lj-g3>*MY1km9D6Hl4YSVC&#oCi;R4z zkXnST;k?^8{QII3hlG}JK!7kOk60mP@m7<~&FT)#Zr)($K@Ps=U1J451knpm#xz0X z32W)Qf++&50V32O0AWFYFl`~Gcu+EHamPN6Z7dyX&dloUX()6Ms-{9L9rBfDGMPxl z@@XfjT^!8M9Git_akV}!v#g%5Cqd*cyAs!jhe4s3g%K1>u#zV(5jV^wAsYg8g&XLm z1>#$?F(j0`g^+hVB{VJE*cZou4)sJFKCoe4n8h1K3TDMBG!2ijbHO11Lhvne1Qi`1 zVFR(qlZ6n+r2!XnbnV;3o|{ep%;wFjxWnbVSh{)-BYU zWVi)k40kvNUV*z@XU|C#FC~fm3RWT~d?-TJ=K=P+=|_6^F)%~5%?~s5Pz9mnPlR_A z%PRE(*!>MWnk1jra@CqR6fO+Mjxov81qia~uW3M5GXLV3Sd`K?{5Z_S04 zH}4%p9bj_^{1aV_i}^fBA?D_Mgg8r#T`(y(N-6XP{MJb2NwH;(PEuv@)g&t(-zG^G zeD8Fbsm4Yy>9v^s*u@I_?;VVADk3ubQ~G9{g@VV#*J619N8l&-F?dJ0m4-Q>G(kZF zG;Gt%3u35<&Cs!jM=FVxVFU-~CLx8e;&atp>{3M>sd>rXHjpDxw*DbsqGaTnDU4{- zO5bD;sT3?5gwi?q)k^5E1IMBymlr3NDpE-MyVc8;@FRrIT~q$PEkYPVWcYH|FjnoyJfoBU$*7bJm7T;pA40` zTtZ0NZUS?8GF_cG^)-gdAMM5pCTJ~bbedz#ST?~fyr`IYc}sP|(9rvvZ~j%|Pc4$9 zsLy}|BGt>j$R7m_%Vc_{IKJhv^kU^KPk}|3lsQ(ovu@q&7Nk__dXQ&A#PC&L_3Dtt zqud<IM^i;VjjO9m-8x5sOJD4>;D_hwc}Ax1BT?M z$sw8$pk0AnGU&ZPDV8-eLpZU%)m*ig<#r~lr@#iNuh8MJ(`Q?#vtICyGJe_T!QB@@8~GnnGAq|k6=E@Fjob0O6Bz7J9XG*iV}GQDONKwP}QDshJ?y7GC6LodKN~0H#10l9`rrZuhrIrc^K;3-m!)kD1a7 zeO3(LJ*48P?9!gwa#c501I&}4&*EQTT|m>+Zg5aXzF#Cf)wJA{08YAl1!*p9lSMaV zj`GBLBgssnMB4J(NPndIoWaRl--4wN*fb=zD?!mT&Rm0xVHJ#tP2P50aA}Z>RG4;< zhBcL=Sv>B^dSfb_-FrpyLNBHraccxW39_O}xEsWt4!$PLSxPb{KVY`-z}p0g!pkk- z?A0-o?_W1G_34G9$}K2HGOjcMhs1ozg@~BtE=#+lwh<)^Cz0^aS((O1s0qF6`vtM7 zP+zLQ5jUMxZQc7|Vj`r5->@e4+C1NxeFv9B8lI1)8&U<`Fjr5&O;XOB7x zU^gy<{ZyKNUMEm;YX|q!FJXit23_J-w(D3E^*@)0_$I*LQmc@5rBc8rg3b0)3eO%S z`0O3P<26A(^RG9uL7Mq7{73QjTOPo8Zs(MUQ_%ZixB{qb%=qiE|)(Qrn z=hUJBJ&-b@q;;gm@iqgKq)78R5K{igHcbn04+2$YVDx>rJuxNP0Oy4@8cFjeibLld z91>h6aE+j7X-Eb=A};G6UoUM-?xxdDF&kTyVGhoS!#E9Z z7HKKaBb}9n1I2Z`MV2Qsh=Q4K6xyT8X0U}5)0QRX!pZS63xl&XAhE<2TBhwiQ=;uy z{u4f4Wze?sEjlGjuxyV?jdMNV;Uk&OpnJ7c_N=z6HfCeRcC8&G^?_tmR8 zet-71-BOO8lgp2F1^l z*!GN`5Tas8D*)sO4Gd)fSznqd1(JG@@kQVwV>jgLFp~Ix>;={lNji2V$~*`*Yd>II z1O%n2h`Cc@x=40C=%+HDdhh|3sQxxhW<=g@hMUofuvy0`T^dj&2EGb}=gQ`?A`gwd z1t1TL3#{B~Af`mY?psuvI8Ym4!Jr^d7)pe>>FOG884GCSNZ1q*$0G;+pRXAw$i33c z9MmjA^5A+}JpB&ULT%q-vusMZrV3$QIO7Wu{W zJ)|PPkv~OdPI>tiLe`n~d~Vds`eX5A{y%U2E_ON0m-{PzH(K$XwR(x262TL9pS0Su zWb!v*hi7cH(}{9RX3pxQ2UN=;2O6w;SgtxySmXy^bvZh)U57IG4X;3uAgkcEc=9DT zfTby{d{pOlT4{n!H*o@b`UDHbpMFACdRhGnQn7o9wN?4(G!DKlPQvKZfZPNhbmFBI z54Po`Uu~R|t`oXsTXy?(Wpjgu>q>(B+vk_ly3SO002ac%FZkym|HaL2kL?Y{V$GC8 z4z~sc%EF?7VcUh8A0Mq6dSnKSps+KH@d0$MMmI?+?yy-_2Ko}LiI_D-BRK;2;&tGN z)r{oc362+DCRMr%lnJ(?=S1b_8*-tzsts{uyn;#=OUu*bM~A)B#ek4)dsTI)GJ{;U zEM`T+9MPP`12V+?_)nTNkRl@2$c)!bz5#!I}B>ohnd0^`lzoZ-n5cBzRj$Utip5syQM-27ON`RdEhKj>f0gf*dD7=B430Pg2D0|E$t!;Y<6- zDqW<7D2LW7iq2e=`H5UUOh3t2H^NqpX=hmd!+$5!(kLS>(Y}y_9!+|^OB%#1iP*}t zxx$hi-|!7oW*CAKrKYXKG_tg4?t8C};#zrbwOz{1F)!Ghu_7dGlNip8fP=N zcjs;Dz(6z8y9utTnAY>0rr^}wKG&AW?>fkNfhUQ#(25tiufs?2lz2P6W*ynrOk0Xz^b(|a zz?r^ce_K?$^uF|N5riF}1b$u(7@TYN194X$@s|};yoll8?aQcCiNmq41GcfwMoJ<_ z5p@*K#yHyEQ{^b9%zB!>03^xmo64h!F>}!JW zgj>kj2drJ_M0#g^>UEOSpd=>g-&Sc6uqe2B!kDn}c?A3%FC6v7gN|p`GwrSDEC)xXUjIok=`Uq&rV@ZcisUOvsiv2=97lLPn~|l zSSZ&Bpkj`SN3B~~Mx-}qH|L}mZ!U&DeHJwS%U^A&e138L=2zm@i6SRU63j;fJPLqu zg~Xj8hvt~FP?;zk(AMmqo`qTd&+2h?B%!ir=DTY57vV-ycgcOINcft6jZveEkL$z%zy6#s-!c!#YlM@Cj`hLeOY>A3?ISi>>J|?-{%T(yj2z6f)7Stv6{tkQZS|rYFNbi9_$N{;2=IU({BWTX+&oplpobVvsz62~erQf+>v~IKo zG_RQ$hl7t-@2)R_D0$)~*6Dq1V=6H3j!_hRUqjoEGT8BTf(U<$x#m}wyZocevn35+ ze4Edry;oH|B=ib8Ha(C}eo>eahfc#wcQZ-i7UklJBCh_aCX z22s~^N3(yU!J%e$)1-tX!!XaOC6R2-y;Nw_d#({dxOKN+h9;VAKu&G+zN=B_| zqtw=SQrtuvi%n~nU)um|bK5lOnO52SD0`^esn{>tkXQffpV00ZI`aJM|A~J?Li_g% zIIQ6L{0S1t@N;Zz4gccP_^%(I~(oE8zfS{bMM^`psD=a@itWSk(Zu%S5&n)z}hxy}KS)U*X(QjX3Q zD%$Y*I}(ta;u*%8LG2TpWr96`)&!XI9XLj&NJ$?FTm`<=^e2hGRE~7`L9fh1Yk4i+ zLCWh&8d@iyjbx^q`l$LzOKOwSk2QNhku|6c?dR#=R;aLPmh%m&Atd2EZpHNzq!xpS zb0f!qe`-Szr2Pm9^U%9n%q#C;RPHdR4%#wk zt>BZpT*ghW8U!V>nXEqtIh>#?f^EzGGgwxST!pBO&@3zx?}8H$(|@q95ExNDj|1fI2w_+QmH7($`$Y8sNwYSg!M{t zN?AL@8A5Up-C{H>glIJqGDe)L{J=`d6@51^>%+Fo_%)HQgiMKa#JPJbaFQ=fVj8i@z+)9OTa{Yia3UmAW(C#))^wsPyY5+i5!mE9ern&yWqj%{UazeB|s0W1&O*EeZa^ zPsA57#FDKOh$~Te7Sp{aHfZa=PP(jKsDj}f^n5WVg8)HR9B=~JorPW!LF`qM<~G)7 z^TXfVcwkx`_C~AY<1Vy1KHhl}z3h!duRX5|jb1+jB7N5zk;E;_$R`6N41p#gVNoDn zpWg?vG%*%(+TM{(xmQO9OqdSrQ@o@o2gGZ&8J@>Bp^J2`$`<_o_q}bw)q)DxJCI*q z(oRNW^v-F&>F+cO?Yhenad}dUN9XB&8q5PcjBphbMsE>TBloRl9$Ozjd6yqWp_{30 zKZ0q91(4U+WLVbvY1)zYx4n^eorGqYpImO+opH5NZ~!#y%vTMk=VgCN!!MXA)3@ZJ zoFEz9&75DZ-<|0VYv&Pk;AjJzV@sMIbp+DCai7vdE_pG^qHpO6+{$j_G}TWL1gfD-PH4X>irt1H|~%7lC-n(2k1qr z-yqb@=u(?KWdZgmvj@Afq(XnHVUyQqfS%(ruSYqS&`nfw#i}n&PV1R|{po)vK?HRn z%XgSUWE;PXh13SfBGX{8UjjkC-aO#+w^?ZdH_Q80&&$mdG1Jf z9^8Wi;G>ZIuhVPy<}@C_FknxKj_|5y^%UZQ8~Sk?(T|f9!0FtZ)=9k=akLa?58@x} zRB!GOR@m%6`3Zsiu&kDu2iid`3?mLY0T3s*cvi0yp{ye5L0Z8g6T@+tzJ zSMCt?l?{k+b(^-k7hT$X?9#r_m0m{o>VHcrPvzJ#UAZ^!Dc_64?9%(JUQ zPtB?SAZX3HsXs}#b=U8Yb0J|TU6m`b!ZB4dC-pCGkkXNodlgFVF(vm7U+ncwNORJ? zQuJ|f(ixxjZY!5JD}lD=i@@~ zB(A15X=UczqXi183Y0Re-nDj_w)YRpr9SxxTl)wl>7M+ATlEvFZ5YZ|_<(qL?Pj(& z2dGCAzye484uv6qcD$%Q7Fr*D^aDNi7FbwG>J;|~`#n|{5m}(tI8!5Z+vd%IK zHh>eUhjWVXdg+687R=^8t{9aj+2e(8xcOodg&qM@p@X1A7xS+VY~CITsXv=U%l}%4 zQvgha$93dLD}R>x@pu+`X_6(=9IgEzK3HVWqi~XnSwH8>X)q1OE)Vv1IT%cK|I<&O zvhm^Ji)Z5d`Db$)SQfbp`&W{K=RpqG!SrW=`JY{U3estm+#j_mlZVZ6sb>J)wYhr- zW$%!tms94b`2QJOT`9S<=pup*@#)Td7ynp&%&?*pvA5SDlVPi=Un zSMw;eZe0MsHRv10Q06#;ma(Zb4+GE2TIzHDd>A_%T_}}G)l!Dwbn(ZZ!r(qgl>vke z%&pl%c6@iuj1=n3O(PGdls3$MV-{8u_4+ilF71}wRWtiUTU2b`S{mtaQM#se4;`s{ ze1W?2MavK!3mh|He+(Knb}E3%3|O}xOcvzjL=3SY_HH4UvPF4x+c+GoW^LD`KoQ(no0O4Nq~iS zw}@g(H#v$NVS}hdA5+x`KIhJ4QEJrW%PSauDO74f{T_0<< zrjKF#-AlM}hEl&OFMiU+TIymI3O*@jTU5-dyRjiHtwBa?Ol515QD2RZ#|KpSN(^~PY8Y_uak7Bg(U!>xg3V{>9xh`1 z^I}Zs4+4X#6mV?%HIzD2UCfg{(^8)S5;Ers<>i+-`w${?UXEYD3dHV5OYBQA5u+|koef`(ozqNa z7Q{>Eo>Kl?AEB1uPUYbYNQ`@KoufGmIOI2?$Wi}))f=V`{I3;ezadICY- z8AA5!_?(c51*mPIeBU&aKzGvmHNo_9K)$wsn)SXytc5N$eviEbVqv^FR%CX zqvkWk)94LzqlR#DsgIOG^w)p{dYp7QWyOCT!qf^BX;7?}$+rV6^GguTJD1l;5iZ79 zuYJibP+}b%mO386YL`bz5T%o$g4&{hg|4c}k}Vkk5RpUa46|EQDR}^@9W>r0zAX_D zbK0$Tc^M)bzJ8+P^CY&N?Rip~>*i+p8at8LO%s3X92DJTBytUON!cJ_^T@WL=K1y6 zyHc~C0qP3qe~)C7Qp>r$12-jCM!KM1%7B(0C=fQ~O^n_%pm!@EAn6FDXoTvZ%H}FN zH@MMC8r(oj5!Lk8jNL%Et`Em*iB8*cEta=yS3HWBtEqLGeN3TeK&Q4}t25B_Er;LU z(~IP1`?3L&xCFp>3-ky0<&JNJ73ac8wgDblpD4%4Y%Xq~PFpL5c>_OczhsFLiZ+4G9fp4{GnpiIQUa|x@CA8srD3@-eO>yc3?wkb=nEvSR7K9 zDqmb$*4i7e1;yn{-VgkIL%~{oFV_s4aQhz<+NG2lmsIz)>5hecow{Bag?ZTndOB6| z56KTo$qjmwu}NSIT1^089`Hi#Wo%T5|38DrxD+1xNaY|faqiU{oF9JIIMeZ4H;l?> zK#WR2C!@ltFW=MU9ke-3FWJ2u!jHiOx-^DfaG54~;w84d%EW`%Pfk1u*BU-LfJI%M z-}owV=ZA-u(*z)ztBa#c=Wu-JTyB1zFWb-a<%Z|^OAft1Gh00zX8OzZ^`&!pado|g zss3zjF{qjT{ASY={bQEIEogdz?biybLOPxE$E%BTWsPlS+JBx!YtA}$gk8|s1&;*)1ySlUPF(#k#74~bu`>w-iw(Sh z;*-PY@*iV2n|xYQ01Rh1C>dc*!OOlas zn~lcGM5KbE<|47Pm0+tm5r}fcvfi_Ln^J(EzdE1}OFi6P?;cp&raU8+YjeQN?D|D+ z-utl5n(=cR<9>bHzCx}iwCZ&!)ep)#jZKs^l&W5Ea0`@e6C!&TK-4RQej6>aTO?$) zdq5Y`;&_;#I_DPcMqtN1q z%I_xR_v=L%`NgLn(x|Iw!jWkDAKstI?uHoA2XUcF#I)0f4M!wvjD&V8IfmOw)R?jB zoJ>qy%Ia`z@EMuy+ec!2h0f?a6!&A`&W>XLZTR^T{yB-1d^^1u)7PV>4*&!PDgpn= zf4@$WC~)I{sUCrlYxgD=s%nc%80STmbYVQFu9OMZOOJ&e^qIEv`t8B*oJlh4Kztmu zk>vU>>8(~j#cJgb`Sf?MFWy-_5HM9bVHjOLu(jgMbj=Xd4}&-~om1ezW6P83Jt45N z-t_^=KUQvB1}DFW$-wlfXD6`-lRfI|3N6WQ*p^* z-FL}?dT4&~<^WSlP=6kzm8f5hqw78tmH^b0qi;pdD5sY^#9R&1wniSX$hxt8b1_a+!6c)>$UJV zz;#h@<9bW@?aS|e|68Ha)2KVTh36OnhZzsQi@@rM5F{9Q$ns?rIQxGBD1|tQ55VE# zyQ$yTUhy`_qqTa^NUPzUSaWIw^kgH~7J}amwV{UrD z&GBx9eOOKzKb<;RG9qubl-d*;g2d_x;vYeMFwng8=sw&HEiMSniHdQIYFdXy`0@EG zYm2_piMeLK`|8EqwB2j#b^8fJlRl$uSGt{K27QayVT7-GH@k%y?6$PjAQg9HD#yu2 z7y>Enn+nRp@5Cg<8RVXt?}NWDf-GkMGEPq_MK>U%LY29y`aS2t%D)V-bV3X$F554BGR@Jt$#i(gJ201V~ldyKU5n(AFTxTNHq-nK3A~lUmb+G3^Kh-S8Z^TFAb> z7nSTn#TkdtVd@WyH2O(>LCvaQzG3ownmwm2fxqFmd#?r?x;B8@A!oFFjH^30ejm6# zn3&dGM_m5^m3^FR58P!j$6rEUXqJ{Uq#ti`dgOewHRfMH)Y-JrhtfK|c z!$XwQ)y?%J0FiBt?m{l)&5`mPM2xLNgMPfp>0JjiVWWw0+w8T_8gu!aP$AUL-vx8b z-SJ%SmP#u@oiqmkFKixQXF5O3?m%6UxHG+!718eLO`UJD=qYWPW5vqgm;M2bUj zE6oBwgu=x_=G;J&2R}>$FBduo%b88>#Ch_1F`Z%=a{Dz3LmVrm@o=E)K2GF!us%Dl zV?UQ_6y(80jL~K5yA_^cU44qsCRldr!5Ev;286v9e!dcFFI3Ch8W~44X~@9zJQQc9 zFHBf(r+>!8%U(oP**Kz7<&2Ui*w*_mXq9O@eLX{gZMgn=ZI)xyjk7hgx=!Q#yO*OC zkJ6|7nc0D{zg)1&B)jK(F=5Zb88o-#F`Wqhv`NuPN^MEu*vrqjTW=o;CC$6@CPtR1 zrt5U68RNk+1&@oJYGr{JeuqeDyg*9K5K~K&c?#m%9F3b5gIb9lS6v-|TwJj$98}Hg zy@(}K?LDtr#x3fssKF-JT5&-fxDFlyXe55S7mE?Pa=sL5!xX#@0gIN55>6wjmZsT z&hN2la$MOToXFm*cRahIWP#>IAz+`D;XC^Wht4c;#T*b38e2d;duR(W|0_)i&syz% z)(zyZhs~2oJI6^BanI)Q&j8&JdgIeGLDzq-Jl+3lz4_RT*L8%>4w&KKhV_XcBNVlP zi_Sy-4tq_a7*67HJ!bD4Y9Vr|G1ne=QH$9F_YEp%kE6h~P2k4gX2t0lBL3Yx)Az=W zW;NkTq#`x$!HrH|6Yw1;&-V^77F|7!_Lut#FXA))dM2U&UcZ#Vf5GNC}8@M?YK!z3!z zOqRd?)nATJj;@dXQuipEYdR6fIL|A*WHd5BI+LW?h3F8hcD66q**C-?{aVAI%aY+LT;3qfIU`l8v z^kby)kfo*u)jrC@iUjQ)P^sz4Y4m*NQY8o731rK zY6Gn!Acc{MeS6aYf(^x8OWuhDOH{^y2I1qneGRn5QWKEo-;u13$LmWLS{vm!z1oUZ z8f~}`>x-$pYNlvEa7wiRN=1cyQF{qKvXl}KLij&%?83aFcCAr~8R=as%sGkI%Xn;wTIgZRw9u8_0>if1 zT)p=S`)bJ2?}wIdR)L!V1Nz^MREGCM9sIl_0$kD;~@QS&lk2KJ4@8j zPQ}e0$Hr6!L6-&lGplZ7<#Y zw3Esp1waf63Y`#ezLw8MY_QUWjE~CtZR7HPY${?6&5IM%N}tgWo~F)BxH+k$R^4y9P&GJjJY9a0*)Wu5jkz>0Tgb6S6ioxCw_(G z=z|*gxip=XX`e0_9U@~X1@5Gp8TB8bEz>udYYc|(wC1p6-o#)V<`T`+T{k1-$oExv zp)fEF`AoM3W7|;V0I!Owi@FnG@bi^Gxs4#X%xiVN;A>MGs_h3dzDxrl47^1oOvyhb z(8n_h&Zxa}og)E|$}+4;5B$>N6DPna>72_jh|n^|RJm?%Xck+Q>q~E27(%yWs3)cacTaHxX9mHWYzFxPESN^r zT|xdp#a|WSN9 zG~sQM-V1G-p{y|Vz0!iPYwDTM&$xD=bd|=`q9A+N-;axbDB3Qz6ZE~3zA4qsYS4oe z)Dpwt>_*Fh&gND}&tP%1g3ky^1Js6dDx)a(w}~?gFxfQBw4Wn(F%|%oHF0He=2huC zpt-DEa9zyhBO|4jYUMILm;_QW!%pk6!i$}XQX;orD9xs&`KlJVp84AO@YEA|^F~C& zW^W>ccNGbCOg&$pO8EJs%;a6UO<&-~>@;ylU7$C?>*16rVW8QGxPg2Ald_*c~v!oQIQxb_jO2y;1x%?Isltv1m3wI(~enXC1Qe(1rG z04F=0>a$89t1F=!Y54j;hmD@6_l!{}DK|YYU|KUEBQq3Q^Ao;_1izZ^3a2_25as>w z!7W&vssSWG3D%W62Zszi3a$6>bH(nDahtB95McI_L&H5EGkS;8 z2G$Irgc-llhbE4*Fcy;emUBzO7&2!*h51r$p7^!;osT$%rRfl$6YOTS^MWxT)*`^K z0eK*27A(U1Bj72*MP=^rorCK0$d=}NFjcZZ+na`Ima}NpFts&}tdjWL5Z)P-(VDbe z0D=|^@(VA$wZm%CfLeja9Q0a=T`^lkc{tb5E2{qfIblW#RuOElzyW8Oh7XmBt?vnS zx9M80Qli;JvG1$eiz!mGN$Z#)ybE;w@*jOFqBWF!LJ+Ya(q;fJ9!un^hCmy}SiuIz zLjIdJdZ#0|3A?aKm#90AQUcg35Tv(BxYI&3XOQPC$W?%Uc>KN%gk0W=?U}gV-Ou8F zn76VK6-eQfhd4;$gCI>4n-WwTJ3DQqNdRR{E zgBzLDqp2H4*{B%dCMh0!Ikv#)`?7KmjXiwAX0y#aG|5&?JM0IQt?44E5fYn^7uHFt zO#}-Y7yodiaKlROniRs%`wA2etsyt>%9pnf+o0u88E_RZYPOghNIi(kH9(FNv1j62 z4{Ip5S~SnNyy6E)O^JArzmc=s~E`;+q*fAeD;H)2U5r zVBMaP&3B!=1&7K-d_~jZ8hxzO$kl4hccO>K#HC9#-%Q=AGI7?Z5L=t=xiQi0Oq{ zo)wead!=SBOGc>&uzTaeG|=au8k{^F&BvKuCr9%+w1TCHBjyWyfd3HVMS4Odm!{Ie zFET1;oKOg-pRce!{SfB96IIsF8r3P-T|_Bi(0eEP`qk54-J5+tLlw-OR=YjHzD^MY z!qf&=wssc?^q>$o#cCUA&Iz-zFlhuELwv%g!c#?v!JIpC@pR#}(uTs15YKw74k|!(eiTM{Njk>YXU%klj%xW@7o!3i+ ziv%h37!oG@Ji%7x_!@cvS|1EwAO_vTSMPB|7uF{`uE{2A2((V_Lb604j$Jl55~0G* zpbQe>5Lz}8u4AXHl;v7Zo9j8v^+6WfP^vf%8Gq`Y87cm+9rltLD~<( zLOe&cxV;4r)+M|cSj)rHpg1m1Ivd-khORMKcyR?yE`>0?PpkoSD_#w>x?PXzp5{E* zBc{hmGIPUDKAw+Z>_hik@+M3xGXT2mp2YC?MTkjw#-b2B^AQv1y_kQRUnf^VG#w&y4@Q^Dm(aU> zp|=PdJ(G;aO=i#ug4V)Rr!O=e(0r-8Lgw~v8SvGEuqA3+pV41}NIc9%t5m2;6eX6t z356PH`irC^ku~D+Wg5m_I2TGMUj_y#cvjVR5n{ta++@;Nd5_&p+@~q_#W0{QCFadZ zn9UO`P9D=ggMqUQ?FnA;v$i77j=1(JJhYapZv{7ygl#na$m}bHJ_huGOw@^KqSeGH)WJvw{FS7R_0k zM)-L(kONX8-u+cwq}<}TMLv2*f3W@gnfl{uMEO6zOfN`?Hv$`yDSy@navC2 zZ}(oE^1mQMwg5VsHNTRZi1M3<=c0Z)WrJ^4E4vcfUka%~iVE<(g=@Hes_&RaABi@{ z;CQMkzMHsydJN7L=p1GRp~=;ZbfpN|Hw__q3!o1ng~pB79-dBCU85z-*nrjOFlje} z#&Ao)bS^;6j{pa(pry>8DgiL9R^R$2EuV*?`eNNZl&6VF5PY78E#T!I$fxTkssF% zkI%hV1Id3$D7<8b?DNs$&TC1i;sjJJiYDy}m(GWB0R9`)W2MKCT13>&+J=fcw=Av9 zaC|~pJ(e^5z?FPpF8a`O)r@kfOzn&;)3wAM7=SY8NTsK!H$hjX;3g543Ltwf;s`<@ z%VdG!YUljJ*;$b`uElP_N>LGR_{4l?NEMah*B>s=5t7o)Ay0|3_uVX@(g-;(eLCmY zXYWcYh9s}=RSfy%ix)4RpI?7(v$mSSItj)Os0Nl9C|rIkA&{HuaG{_y(Yml^gtiC` zp8^PpxVil04Zvc+Z#gr^l6l(Z^&2Z+FRyF;petJXZ2d;`$P=nMByE! z@{QR*6uS;PFD$u_ZW@o?0Qw$G@U5E*ElnwB212{}mL!gr4%`#PuVKWJ83+}!Bk_E$ zaHR29kT7*GUMy&UiXx)_W#w{Z7(f_Db9g%Tq6J_E`a$l7fEb*ot`|7_7_-itf4j+l z_{lj5CX1VAW9Pqx_yH%+JX%0gdco6vh^GT=FR{s`mFPRp`|RxVJ~wRHGX!_=ZbR|< zVsLZZ=_1CYK{tZ%TzQYbvLf)hbNEyUZd(XmOTA4OgEwDQn-7+)1OpmAV)hUzwjPby zb^7d9Sg{{!;pdOCNNmM+J=Iz~)mm(X#WqxH@rG@k457KE1`-{TU>dSzN)TPBRe+&X z595R=kMNB`v(tKQuma3)DC1_i1Q}IQc?mL15M-8-<|;c`2)$is>lIk3kz!GLQ^kzt z*C@3`WB-;0UIP~$RY&9%&c&V|(6k8msIL&m3T9$A%6cGQCQ0iczQk5=_ZyG4eTPuK zI#3OO(bj~dFCC>Z9t}EGVDWKsEHdK!z)$Yuk`iv5IwYxn?Cg$}Ii$8{dD4O3SL_ke ztN*0i_ks!uNcr}l`d8SW*eE^%S>mKPq%hU905)szCdK9wb_8ob2r=&(thB>%{uv!Q z@W)I1!+e2vn`97qk#s|s7`Uc*c<`x(RUZ1v%z1O0pA30hL%u|}O`Gs_0%r5Zd##w; zgjw3W{GEg3UzbMs`D4N4U$HM=;7)9Xnj3-TF97&;bp9HXsrVM#1j@UX?%pi}QZ({G zFb_IoYSF_PbwSid7u8_}v(kiY^VSFfbl?8Uw|$?)@?g2E+P$~j`_fx!=` zb8fFn#;Q&K(zp4G*s38lLhXX@4XFs4Tmt+N=H-}!mR4R>dCf(Mu{g?NF|h{fz1Mb6 zjMqwG8%S|oV+9@kypR1bua8L*DgFIb!*6S(JPQ!V^(3~@9KT|p5 zttjxcJ~tQAe4aO`@MX0+i-KSdn|KIWmWj|pCqaG>8SXqz2Kiw{#0`6&evNj3v9C{N zfV~-D5^nQWK#d65h7nLF$u?sHG!met39wB?aZT#s=R0N&h$R^+rue&2!>oV&B#7MQ zyHF@zB)T(wC?CFbX4<#?YOc*(^)>O)*Tf4=6*Kj`fS+Cov*lv)x4^RwmV?XHjhx~^ zPP`Gk41`hjx# zks=jm#VwGmIv{G?PD^gcKU&*v>R})Hgeho6Wy%rDaV7_un2IxV^z_@F+q1g_HC*LOtJZH|Ta^`aVxcLdH-C#K|=7pHWj)Il1V3qCh#%507ppJ`1 zZtTfzk+S)Ysb<-2vWR?48zZBX3gYSyogyLHs*7|T4+n43V2OV#=vZ^1ccUqo{lJFz zZkQ|MUXoYP%TNopPpU@UP4JcfKAD7Z`xLyB5PE)276#S~C6?1`NLZ)vih~s1A$TXd z9k4ZOX*G`_8?Qu)H{fwfd|!E#!%QDaJvJiW6p&o~^d^xR-Tb1jK55TnhbQ-vwR@>V zxQ)A)>ZH;Z+)K5>aU<@fW&-S9=H9wg!p|Q~>fVZ-`4abHJM=;y`~kgCcLF|0*_k2Zsq+;g#C8i2Bu6MmA7;&rVGPzuvZY7s?oinOlK7(D7n<{0{$6s%DJ+AvGfVx!zo!U930^709CZonDjMhN&H zhyl;l#CX^Ka_;l=cWz~H+NohdXQyNHe8)#|5-(@T!q#F^zjw~I zIO|hvS}?`-2G-4X&4;!-fBmCQJhRQ&3u`;LX*2cWf&S+G(Ahj|*@or}k*9LIt}|;> zRn3mD#9VRPe6pRX_5{s(U0f_gbd{?I(-d$HW9T6bkXHb0MSZ6wf?QZkAX+-)j-yJ- z*<9RH1-g*9tq>S%5`@%J?1p?%B{Ooe1m`c-MG7G=9{2=fh}kCMR?lvOC>o)YCY*^2 zB9%3ml}pcD27nKuh2>LSr5HK*JP%^>cX=+=I@1GTOwe3t>xwr4mS7UcRA`vY1G1sA zA1Zo;P$0w=Hp04kAe-3bG?}LWB8CGY9+MY^LhwANbx|!RiJ)v`4p>laCayvzL?8E< zJvW{QIY2Gh0wK_^H^GIs;ms}7FXBdl_Ds~F^3a9Y3L)CT!{*E*H>56Fve8&w*S(fH%y}IE4IWOmMT?@*2vAEjI;!yNN9!2nXJW5vX@sfpjK#cnQKH z_$*d~nQw@caqC7?ayX-80Ms&}+g1)%2!}9*h$dmK!cK_w(46FK(1|FSLkw2S9^ev} zEsbW_;ZQP2$$wKY5paV_=mKy#bPE?!4Ns?d?Z;pu-}Crc>`E*o^xEB)D69Cv^?2=+ zdR3v3oY8;>xXnlos=`+d1PRyBC;Yox_Y-4C(qrQ5@KY%C4Z(Ubm=nDK!nT&6$5G&> z*VwzKl_0jKR)K(VUPaX6{|d z_Tw9rFdBuWh~Dy;mnn}Y#YoNmVyH^sojG=nNi@oc z+Rdu-IC8{*;dDu|A(!Z#@(o$0L5_+~(u6IEt&!vKC{01!Y8jjdsaj@mexk$!KybD#LD^m84u+2k zu*S-pjkD1FdSa5Adss0B;a5(UIG?kNpD)h8d-*???=Svzdh+J||9m_>KfnIXi`Bg& zH_wTUrkl`=^Y#JDa$k&0!VgKmrX>ru4NDf&-I0joMDUdzI>=WSGc5M%DO_k9F4SnY z=}2K&5^O$5Sdm4Wh!55;d*?!f>(B;2e=JeKhW+@$c3|UF94ZXhkWvV$Kr@cVuH;^J zp;8UkH4$oyprwPOmJSbFYK2?c$VxkbT-v~2n@zoc0I)lA?1z%PU=J)#Q z>N~np@~vPhnhbm>Wt8MHTbbhslcwl5UML6b*^{Z>%98`J1IN|!z{vxWq@g&aSQd`V zjzqxkiNm@GflMuqGzy-Q_9|@xIpQV5N}6+s>UI}xS6;)E-!FE$It5I5!WR?(%LPSB zgSweEx2&Ez4TPzmW`paGCS3jy*2MWkS(q;tPn@;nP}D=$z| zp!`_ySzJJ|xOtY+4N}{c3Oy%Kd@+e|ChT<+_lgUBVx|j7W6I!86Ptn&C7NrPQ8S~! z;7{4&C-@A9Fryr>%7n`ttSzoq=G9QPp4x2iXWy5Dlc;$;9jLW$oEwCq;|g9Z8+unkGtSLLl?3(^~z)+bib^do!Wprb>j?o zfv0p6LMs2t*<0<-I!z4A*Az+}D+!9_F@4{j4bx(Eqf6nAoZ(HBOr)y9xBr5V4A_8C zYv}BH$;8;~#(To7&TNMzzIC&_tbo;QdWZde_pqw>bdzrPCT)~RowTJ(iw*C3x-~6- zbGp4;#E0DLY@U3$KDIPY#9Mk=L*2vfK&3_$5&EXYbwn41f6vOSsLrPBzHq$O6o!NxcB7XBX z!(H!Iujon0f2qn<{bqNNCQ6cQMZJP$bWyGF464g%mrmf5lC?wUZzv_JZll*Zd)ra7 zis>KajHh8a`*+|7px_i`SnJ0Svy8GVyuru;X7Gxw2yGf+b@axo>DOhW44U=OM8=-e zO|&!mV8BiO3C#WDb3gIK|NehaO9KQH000080Gy(HO0n%?HkTm-000OH01^NI0BmVu zFK%UYG%zntOmAl{WNd7-y$4_%#q~eFH@mmH*CeeZ->KM^aFN${CmBoNhHb#~ZbK*r zLMMO&UbBZOmQNUxkc8esh$#UF0%?R0AOun<32Bg+UIGdbios4H0S{ACxyqJ)_wf3%a;ddbRTzOcerwS_bJP}cRk>s?$d%3PVCF& z(o+!7Kz9nSO&k`IZo{ZOjbl;_ zKjh{V)oZ8EASwQ@J);Nz+b}U@9Arqm8_Y2(xl_u>(&NqvDP#P9!IS78(dWiqU3%X$ z_TG2KiD#cd&s{%oWxWhZ_b3#{^o5o1c+hD|8o8n(RZk-Q-xr>EYCs9Iie|=TZ8=$s2d?|t z-`~9Ytq&%wp7DbJ&};u$HuqmQ?EHt+aRdKsoGAQl3?p6C&w27GOg~BdAn;&aq4n ztiHmU(nwMYYgz-+W7nyyGUj!<{8-JhdA@#?ub}f4#>PKOrEAma+Elt3stxd@bn{fY zcAc($YmA8*7uTz)Dfm;0jDt^3&@wx+SK z8lz@8CkCey*bJ5+w-}^GOb65Gr&qKGrT$oT0TEYh!kI7J2}AZ{VNhZ0U2OkRcB zGM%=~YA-!)tJ;T$J&1=-@g)gptSLu0Uv41rgJH?x+6VPR&^&lQiD51 z{SqNj*%_5d*})?8%UzJBvMYk5p`^pNP)Cm9ilzp4;n9*B+_BbCQ>hVq_oyH5fqooN ze@(YorM_m%-;08o%HH&wbyHOu*J;-_@U8&`sy}4kVgJbxJx}kzn~}G1HPbtA7ZdB;#FSZ{++KJh-y6|J2PjZ z?((YcM78c{OI!y5mpzDtWiKoxh!Ol!akGZKs(672K1L~4lIAGNLKH>i;UxOsBT3!= z(BCdFSi|u|a4;$+T8lDN7;r^CI0RLw9Et`QIt*;`r&8-?MX*$|Z<=QXhocc~Cpd!1 zNd-qjCdn69KHUr@V=1X$#| z5er@nx2A1>y6SSK?9}Lay5BW47_I1c7{4?lpp$!**O=d;3N*x#--E?R)rmA72UDW* zj>2HGWOt7jXhj9;@){fK%gdm=qgnon>M`hgBlfYV?{O&Sa4|BDWVoRD;$%5rFH_UT z1U+p`Q1kUf4dB2XjfQ^;C2dUb!#{zrm0JmTk_4WlfyI3B{;|>)#z>nVNfZl8){*Li z2Jp;VL0?*&j)(1k6675xI8SgQh9~3X;IYNSE8yN58WvW54b5|wzXIto$K9ajxbPd) zLQRCBH|y2m~2u6`Xm&{lD`TO zO9&R8XGUnw2Jm|T{)2uB5;z3lT#Mw@Z4{Dpw)(3=>G?UMI`fDe85K ze4VOZr^?rEJkAtr@Z=Z&6X^448NNgo(4+G7$UM{3D?f{^!nFL)AR&USG8hW~bX0v~ zn)+M=!Gn_^+Ek<&kEHDJ$RfQbYe5A?-?ogel7P*jZ~G(x>~f-L`k$phZ=z_WljR(` zW12Fbf}U#y)GO0n-G@~^$ugjd9NRkngEVe}AJb1ura2QJ6MnZADO3g)DOvvN0GCwWRt`O8@-d6pXl z7^rokhTf9&mX*__KS;P*Y|k$H`4&eZ$~8NT$g?8^4rR%yEEUwcC*R_#1M_|qu>^`Gil7mghV}jfZjxwcb>Z{VC@;K^gKsNM6i-4`7`PFrEdjnt9U0AHQuDLShlantyF8bvKXE(FxaWKa@09Cq-VNk zcnUG{ygEiI9>zHl&55OwF$HBU8hQ)3BY{<1G_+wf;O)_XcSZv?js|S12h3~bVu(pB z?)0mYe#`tzF*KVMG%haZ35IDAjCs&Drb1T(Z#dfol}*;0R5tTsaC)8Xe@bTIJbiU} zdQ_ga(Rm8i#l^bJ$UD0(?+lfN(3sh&@lDL!rZ2z2k%Vx5wbqJN0~er;bloC_cS2 z2A|&93ZJe}e0t|2@aYQ0r+5Are7ZvM>79?tr+4c3bcN#6J7e%^V?CcX*74~|#ixy9 z@M+^#_;jV>)5ed$rz;hoHvTX8bfx0c#*fOUjdgswQt@fy7<}4P&!w(GW2R z#4~o*?`?;Zb<41RM?TXw(~*%W@=jhS_0I)D7@#gimG&7U!Qac+uiHLoQlutJf&DRf`rgHGl(H z^O~c^MW-GK;Y{0DK?6bfPZJgz2;ue&Xczvo4Cn}VW`MuO;B{?b%s1F}@njY=_znHu z`Y@yGwTJppl*}B9$~Zb|Xa;_d%3lod8h{EiI72PapO12gXpF=(c3CX{(^2R%hTH{E z40u)5ykA$81O38(g(BE)EzXiJW-!sk3P89U)uuSn48G#Z1*a$Fc-I);Ru~5~Mh*-K ze*=slJ6wY7@=fad7Z`F084yB$ghKzVIQow86a~I_RH z$%;1S`;)TW|IQ>=XR)xUd=}Jv4nO|{-2WR`@Od^LE_RG^Y^a%wm{;LB#Dxy-c`a!#oj2Ec>4JOlqx4Rp zHcGF1LD8rzHqr(|OI?8BVH zq(Pd`mAYg^iV145+?0KoXGwvu4!tH7C*&#J-&|@@iMm|YMHH4&^S8Uyue{{a!cxWb zZ|i2o1ICBU2kC^I55DQB`5>G4u=yaJ7&RZ1?V$y7 zKFB6U%?CPaXnuS?m|vR@7W~)q!LmpP+nIH+N)ua)*P7_4yUUxxDErizu?Hp`Fi>}@#3Eo;gz>Akt*;F41P2M#|kg+ zA48svA$KF>dAEiNz zOp&i_lZeXi%5E`TA)ao+7L&EblTF-Wvi7=CQ(H{eQI{^g#dMuAon0J}ap5h*{a}7f zOmulNbD?fTj;G&>#YOm?EDa&Mc8z$5_;jhQzCh0Olo4?^{AN_xv#PLWF0A)wcCjAc zgt71eSV`4dE4+I%d@T_^lKm6qROWXj>+J~HH$A}o@g{06Ml)}tcD~ai%DG(;p?u_P%1am&nng(Nw+d4q3(;zmbn-k zM~j1XsFEq4RCQ^25N^K@V%FhD&P~n8nznHKUUc7FQ8=b8!--<&CHLqVEKH|}-=0;l zgRiivZMB8FOHjL`K^@^C66D_k>RvLW+`vB0SqZ7Dnd?dEOvEgq4j~pxA$}`_IAWI+ z(l75t>CN>&-%{GI>S+LJCve)wwv_fZqmyoR6pB`ogFH5{hdPd^3m>|I*>_M)NdGm(LfT}-5JI{qt%P)>E<#domsXN`wvyEI(vhTAnxw23 z&xMmC8d>e?%Y-{oa-ELpmdWknDxF5;i!#cTHf1jX3a~o1Psq*oLa``c+Q^htK@(P` ztRoqL5az1P-b{FMtjImUc;OFVme`IPVNYh>I5>xKvlQ(oGLC-_hNDYzb9aE8u4w~! z*;T$A-RC-3Xp|{-lfY_U(&?I4LnE3K{`W9U=b#wJ-x*TbC9zB4MLO(sb@%V#bQAN8 z89NT`hqchFbE&R;-*}Odox~|r?u)SaBscAzVt6~%$hr8}7#KATK74vCsIRk&5#*413EH3;jA&D1ODB4{MkU-JHoxeVTn4qGDbyT5f64qVn3d%SV zPg*5@ZF4*mRn&_$JbBrVs4B*Erhl7(T}RWuAWr|&o1^XWRNOz)G5UH2=8dMW2Z)+g z;*rf55n37Dk<6~uqq1jR0#WuBm3>ZTv+N6F*%yqe1~ocYBcrnadW>r5xG)oE5BGVp zR^aO4jlX08FUQlAei=etepjxt4<$Ws0k6duBy@ULLmb*Bp?zJAacH}Qmb;qb&<+XR zrpt>%J0-NYt2GWybH~19q1s7EIc`_}Mi$T<(f=nhOY$vtX{wj>Y{qapesWH;Id~wA z1$rDrj~n&EpO?J!l>Vn2<??97Rz{ctTMXfl<1W_qVWMBAz3w= zC$Ezr9>gRT{20rE`sG2q^!dAB#)A|qE~L2%O(?ADLB<%T7HX$D7E8n9Ks6Vhu4lT_ z)zlYi00(H${ZQsRSY@c__=;NV#r_cH#xm9pgFcI7gn7mQNkzM|jeu`bL&gbT$tdsc zkq$SuFO<(44bYipkqz{;OLN2_vJ~w@i?Ienp%;47kbzCJ3^Dmf6njP!9F)!lkY{$4m zSa?+|JQxeFj>6TI6g07<-RP#)riJY605Ic<<3Pu*x<= zw`I9(Rt~~6#Bah5eqq2t@0S?jUf7m3R+#LNhcjNKVt7;ykij_!|0_wXw>ka_wBjK6 z68s8kcBwTLJcb@Z*0jjFjuo5-7D=D;*N4-oGQGt8^gnKNSLJz!y#<>G;RRHdUX=&k zq+A-?Vh$Zz1Lk_vi_U~BA$>f(1|Wvx#2NKM7}V)(Ddz_3xf}SWC$JU5#cv!=yJdQj z#jAbVlF`1aK5vmUU@y%?-);4upj2}&ruXpcS@%P~_4RtJ8fSM|;?&Y;kq9qs&`pe86$0Ee8t`ZxV3rvC8O|ACdpoVy(#s_DNj!S% zPczgeX7D`Pq;SbJEDvP8Y~EhyWh+Osk`$~&pLr85(qv}60L0D0e-U&yhwo5nJ{e}V z(~^1l864Dd-Qc%iI(#mxDBE+H1WJ5JV=VFQoS38hmw>E2e30TbC`WCEWarhAg&j?l z|7A)`9eEh~?(a|#8FHne^K=J43&g&P4h|5*{YIoXU#B=bN&yhVWr|Pf6z4=K0Ae_& z@Z1smtwy=jEX&P>eN8o*(a%!BYZTd%E3NQy!S4~Y!VqaJ76|#4B!ylFoYWit^I(Q& z2atw^mgI1$1s)N4OTlx(yPBeXhX$`9?^)}-2HDvSFImopMK3~4<#A{F>~Pl0!RK2! zjnBf4a=6A*t`c4%*aWt z9Jy=jSdr(;$eYHDd|gI1j2kQRz;PV8x<0Zvu~pB(Qj;U2`W=kEjTqsZkX^5J{J~J? zj*{#{zdhz2O!^Duq;L6uqy)odlHw1JtJ_brr5vZ8EFG|G-7wM-exUun(=`5#vff7{ z-P4%G>yW!>7xH}YCkWbI={;?i`)yFr zNzZqI5Dp}KMpUlB%*NW-dpwI-)pwbHV1sFo*nb6M{s*jkA6fckOz<}&c0`gCjlb97 zn*)6RQ272{hwq>D_~iV8z2dn%zi_fS)TpgUTO_U{)7)as8gUU8Iuo*KyG{=?9n?&9ZNXV z(n2UW#-Hh$fWF343CX5+eO%F3Xxt0L_WRxJu35Iviy5WtrNYZ-| zY4cQH^Pe%p^^`_Brb7!x8mHjWPjD-+fRw33%DhuP_~3)#hGugle`xLKx{=`hu)U1Q zry9FUoph3MP+LSsk z^8PPnb$d|V(f}1O4RsBtv>PiNKM%_*$Rw%kHmbq=c4Zy7F|CZU_!yc$kpwM`2nv_C zYYW^^wDlS8EO~E&Fxrismey#ypPswx^H05rV)!GSIULcUxVUPS3l-B7d~Uy`*}}Fz z(cRPmx(gIbpi+VjYQEdx@EToh9U37I5?psv%DO>0!H%&l%}MN$r*n)e<+lS@5*z9g zS8^nOL=9I@M|~Y}*1!8;SubInXLR2z!*HS8US0{n=aq?z#vW*kGdkqPpY(*Ri;m?QSxPX3~NO7!NRFis~W0VJ^ z-q=@Jk5yqPD#g8}Dq``kzawV4!zBp2#xle=ITT|jJ$6d4y8e{hcz8x>Ue{}l>3XF? z-Jk(CsEr4e?*(Kyr0$i_{8pj4QRli*q4}}~a9~8p3HmMiDI9hQd>yJc#gxIF(GA~V zLxT0f-*XUh!G9GcTq^vR67p09PgSq5-V!VVEu<)8-Y>2lBTZ5z;nHQYWn(0hm_YU| zn(SLtJ#N*2TNU7|8t_#GxJ?6YQ-GV5?r9m%Q@icMI!^UwHpB4SRb=nabo90h+ZFj4 zjiRl(4#~{wSAfEH2KE#F2BI%-vvWgMz7Yp`btmWYQcr$nqiB~IU70bZ;0>Zf!cz)i z?+%Vc!3hdW2TJm_5Q8d5iWWl`(GSOsPW* zqK%!)%URp;|A>g)(BBJ(ku4r|hnX+f!S3MxnP%+7dZH*Zo3hJXU-PTryQvtOE;R|8 z@%kGjThi2$jPtFnVas1H$Et1oi=O+{&PK?CA&WY-CX!3##ULuWE=A@sDu40E;17}t z_DJyYi8DL(nTLF)G$*QVQDM5YvtDbGJUCJ=@<<%a44LuLQ~G~shu20ZW!DV$lrv#3 zDO7v$oUs{h=u|F`c~Yz-T1w19<(KM!SyD}L;k})sPiaUwv(A|Jl3cQ^V;r1PVw}5N ztsRhIYV6PQ5KM{r6n#*VR5nkOO#KZO_`e+P+jwIWU9$FlpsU2Rkz5S!>hwm}_qtNAC3(vDeRw zZ&_hAi_wd3w!eP@_m#vp{D19P^hWfj=;a11qJaa!0SP|(!7pSvF0OxFQd{4_SXr#s zu?|egb*S+E&N~16ih+4^RQ|mM_V&`%y%Ty>bF+PHHJ`&bbqUYsBd`MekMZ(Ca4@`YF>G-$@)x&i_8Nmkc9O;Tmwr=K9@)-u+J?=GQVk9@SqW+{UR2>6d>2 zAu98z3@3rR4+;OTjc|70GJ>dYR-Z(|c3DP9(Rk<1TK$bI1CJnw^w^H8J_TrpOh1F7 z@y@$*)%7y{`iQ1ZMbq#cl|iNE-u@HezYl_BfeboN`2Rzoe0rD^jCU!-OP}nYtM3h- zlaPOodZ)37qKX}rlhKwePe}j3TBYKB+Ab{JO{kd#f29=AgBdUB)@fhL?URW86=hu3 z?HDUJD1Qk7(93!@+b`_~Srd-5Sq?SCQXO7sOgT=5HNC5%jUMJpt=m=6>x!SyU4mP1 zB)?pnAjRc6hWS>`DE_Iq_86NH_f!;T7}41<^z*I}-Gf!9uAMvbdLteS`B= z5OsKIu^F5}p{~Y(L{SDi`cg8`KF}_v`bkcW5_uZ*ZF(31h%5>-Z~2{qcQH&$#&n9>I?B9g?&aC?EcC$p*`xx&B3bX%7?~Mzp8AB4*F!am;B3OzWC)(pi>)ylCW3}Odd(;OZiE-|<#Zg! z@9VZeQG>-Kaq50q5!3^FE=O*;9*kJlB{&E3(JIz4{6S30!m;vOu2-+oyrbT8`9GJF z{BO#^S^@4?`#9FOcBUTVuVySONr@EDK7OdR4-TY7@qRG~B7!QV8~Tx6e%g2IFV4To*i%wU%+sf@hnIOyQXDqe>HyXO!258=!(NkFAdA zy0jUS=BahNM#DcJjgP>mq!NHVkLX@F#ys?6P4oVs`O~2J#~KbnSsHp!r#Jv9K7$kh zG2EYuT9Ix`nz>bJ?zd~6H0a5M$L*}zJXi7v z{qAVUfr(OT2knhGz$VvdidjtT91j08L2dCeG;ExR`*0B><9Wx(1_javq8@|;T%Kq) zrP`MAr?NC?Q} zBS?Fy#nt?BoN&X$Iy1{63#%fs@Cgqmb=7SLP*jqQuVimpuj9F^>hBdk_E_Txec$SG zyz^WJ?FBcWW0j3GjZ%53KSI4A*KGQqLsxcqF|g#&`{yz3wfGmZP(C^#x5`;tZn5%Y zK^Hun_0RIYri+6cWM`3uMf7>Fy>?C9FEATZ4z*LxV5tacKL$;ht$i4@X=Yg-m)ToZPKk!HO~pwYpeF-5!g&gC`)G zD^|$WR%W=bFeRcW1=@J6yi5f;w4Z^ml>&`32OfL70_)!-%rD z%PD^eYG<6!@ys^12XH0_l5?G12(OuhXOQJ?4J&}nlHeLbHZ@c3bHckQf&WFu?S#LM zUNZ8&)Y&M6Lvv#D=85z?0rL6zNoxPWEO5zLH!n+cWr<8i;GhGRrEI+x7Jtd3R{Byj zD*!bC)+W@_yE&3yHHKWBV@y0m%GJFES0&6&HdeGpeyWy1q5`ye;iSp+bnyt1Jn@o> zv|TApK1flRbVX^beV6y)PDN&1p%}alVF^Q%4`1_ryTS}FjWYV*9Efpq9mWkn4EKAnSx}ZcY3Ly>Hch`acafY(S?mMq?}%<< z%Wm?T+~%ou6G!HA=CqLg((G_nz8Ys#pKo#JzCt}{q-E$?_>vwwp>jRI+?DchR-y3T zQ*l4C3?EM6HWgk@;dT`sqHu=_Up^Jb>Sg$P3XkXTNXr@&p-S@H<`jH;(&ZDp)NYPk zEQwAL;}07oaQ27OZ)r#2S+d%;zY`RC0Q?0AZI94=gh~`rn`3kF-ieq+2zlXGr^3BZ z)*ix@SOUh)dv%02f1SD^w)1w9lt&VB$?=VZJl1F^68}Z-J@mJYS%YJ|ouK8wOH((O z1El@eOYs-M5Q))On69b*)*3DE z;%Dcl@u_(3t5&TRYJ8BwHLE!(2Z&rd%?iJO9&jRC-#1C|=;Zy~d3t{xeKWWjR!UOR z_>kP7kI$ys-r8k_97oU}uy%WLZ5(0rc1(+nUJRnZWh>YW%hS}0zpr48412Pq)LxEh zU_nC9#hXZ8oKn+CsPzcz9Imfh2=|l$h5yKDx^JgjGnI8PzhZ5gOG$2|=9~-Jo~oDa z@PiLeo~FmBzpdbbmW(%cdhTusmif=s$^39yP3B)YttRsyomP|iPfx4K{5Pl7Wd8fp zYBImokIDS!q|C>|OE+g&=FfeU80=+O>?aMrYo5QKGWu`MjYwx@=3Ij(yt%gXSvail z>x6^r+0uC^T?)36Om&tMq`0|-=SSf=9;xmNp`4UcBnM`)9B@bn@*KzCo8Q8-fzR># zpp|@+q9b# za8yc{Q^IswnL=|VDas;it|UcVt$xOYI*mylxJN(HgZU+aE;!d3v0(;K(3C7k7Y{wI}`kJ();!ICT zrjziTJA$dyOMA&A*UU>ZQ_GD)g-ER4%Y&NBO3Sjanw_ene?cAn)Mgn;f7Z)t`ZJ^H zPkC83m`hbn_a`@}I~S)rC+Q|RUEWK04H3}|5z#V4a{OMFIc<&5qQhY-SeMx#%cRDn zvA8SbW~1ymOJ&b#9Hr#zzJv3sci`R*QQvpg6YP_*xxUeB%!d=FLyR;kF|ytCF_es! zra8F2zqv`t(Qy8BEi1Bane6Pnr>ixCtTS4UX=K)0)%uCc=X zr>ire;rY|y_62lg$-|?D-GA6zCq|IH?u7S61h7J|+@fZ|sVW+GPfq7?$ER={dAi4y z1mHLn&Jn)+ZOCkzo@>RYMiuYL{ZKC@%TMdmIHs3gHC%B*w-}Y5@iOIO!;T`ljVv|e ze-%tq6OEUZr4G-hNjO(4GB>)&j4U!Ii^K%4ifn*KQIl->vt`RS)yoWZ9%zLj?;ZJ! z!M^`|9td!J;{pE1_;$nm82rEl-^;=G$7r}vX-Qld57o(@q(NGaacZsqV9#uE5u0JE z^Bhx*<~TXCk>-6BT-fc5Rdy}eL>b4w4I*k>xU2}rDL#zoB>nB7Crr1cqIo+~WQ1iW z{hg&Uel;iNE3>{vk*kLHpnmuBV*L)g-dwLaX_=u>ifmLd+#Gh4aG>UznzvST{&uL=GXGE9R>kx02Vmd@5Z_-NAoXRf7-;mnBDJ6UO=Mp$I1M4OJ zLydBQ|C^Cc0UvzcJ2fqTHzA!;D7Z&0xTgwQK~ifd*pufCR9UWnHGJV(d%`JYs>v`fX{;?Y1+iOg=>=1OU&`Vn1mRS2V}~N9J4hbZ76-l ztLR~Z=GlFOydkdFb$uMXZhlkl%q7M>u()o0=o^n;C3EOv|Dt=9Rx_&Ay zlcm4kjz<1qqY?bTmynJKYI-C5mQIg&lQErUgLzZ#rQRRhg~hdfq?{cuTwQBdR@ye* z*5JF8L|#R~_^=-nGQOmco-<=|U2!?P8P0+_*R&(ysW6_=Ds`4jPN7Ur(~szOxn0y4T0dT&XtaX66Y_L~IeG%b zS5;bzs%9rAcwHMED!3;alkj6&$+AXT0{(#X)4f;r)>+Mb_92ZWTexe|lsefCcjzNq zPp}(jxO1PkfvPsX#<9O2E#M#c(+K-h;Ky z4!+A7l#H9c#XN1XJcZ=we0^KY*FGv=TSL51>z-j1>Iwl~yDU$%K3OGT~KQTN26 zYRQr+*@bA^JM#5B=2MEKJlu~Z{G!%B&QWK74vkvG3?9Iqj({pv>T-gl!EPQA3fr`U zA0Pz~DNpqmhCOFxn)Rf}=}o9L&JLrr8@s9)QFE?iDi^9(D|m$8_ZEZP-DFW;N55TV zmTAuTVM1QPvsv`v=9pl}Ky1FRV%@5;iY332jSU*kCmy#Hw_z)BZ*L{;ovp-e+)CW0 zSRAD9bxKy;pvCcx3h-t1yjeZh;o0GTMddsP5+;krW13+YT(aE{5kdUTZzBf2!1Rl z@wA=gQxGZjDZO|(lc#EW1=CxN(VLCa8$1a8g~?Ul(skl^Iw#cd06w%OJR*2#EJU00 zPkadff`_3We|S5{Z_8~FPw>cQt)OvqjMryGeuBLzq%Qu51p13SR`44;=x5NO`tz5-FM7?-6MRj;>X(r77YX@c zThO zd%sT9W%%!^l#W$N<{hqm&boGveD$TZaf|hZHGFSEBPct0ZuNKko#M)Gh@R>zoD&IcS(Wt(d`i65wAEMn6WsXCZ#zv!zapGU`(e<5b-1JlV9iM*HGoDIF7xkw> z4D(#JYX^VSF>2;{k(=hT$gn$28JNbNqo2z233)38Ltem3I?sBH3hJmA<2iqeoG&FJ zzaIDiohRpf0-Agg1WB@&6YL&-G5q_Bt;OTw(blc(^*;|dAY_dNbODz9UDCvLovsN=?)3H7Z7VzhBS(+?2#< z`sXovH$mjR0uk0D@+P`=Nq*5`d-j;?RCjWG8g^s!g-tT4|A;v!AD-3+KPx_y|0gst z->xB~OFVA=m@aSrz#)Y{C)5Wy&%;k4Go0$RU@-JCx>YL{Jk_Nv!v%?#)4%y3G5kA<<;e55)$j1=w;S|-YQ5xffv^kyPo znsvcn67oJ3!TRV0z+di*C1XWyC0xaB#SdD59g#%7NI|$y$$Ljl_$(QpW%}f*X`v`q zVhyEr1eUT-u-@@@uftkSDandZMmXU{Si_%Yai;vTCT!JPE9(}|7c1W(+GP9o{oT9r~6>-eiP9$^M28`FEtEnC%8oMpZ-jS-QYF{6az;a^(Jt?j z+RkX%Lx%hO|DYSsvZUephPE@`P{!Ju8t|q9yrlteDZmB|*q{J!Yrxx5u^9Y4W|l57 z2)5zo7-rvyy$^0@96{wiNbn)iT|opXBK~fu!G~uffghbUflhTH%M4`0<&mbmaMI&L zRI34X9ZbV~d*tu7mhZu><)iw%J~m-{M}#E=*Jn>%pS`#~ADT^!S)bR(tk3HoTA$a) ztk0J6!7b;aSU!?5Ca)=~u~duy{bup_{_`R!atu*P60G`8G}8*pKb$+HzZehr?5F)h z5FBz4JPbiAxSbyU{;C&l(miOC>QaBufIld}MuQJenAMG35SALu;1T-uKc;Z}QD^z1 z%JL@-_>%(sSp)v80Pku52l|DXH!nRUIMQOL`a*C#)9<3nMYC*+;3&i#DE$2_=~%~A zJJC{R*O+>#p;X`u-M$ZTOQK)jAN{E!W08kI2 z&Di}doeSS3jE*cV<GCYAySYdwlT02jSA0#tM1R%Cm}mP6nqw zQ->Oze_@$3#c1d^_R-;`Rb!v`_&!O;xQnYqdxPY&s zsV4g8LLn&l=VKwiN$7??$--wC_a4smgrA+Mys=2`_nL)LqJ7KNmf6R*+3`xWq9exU zd)w$8FmjOTq#peNDaHxbi2O~_i#+>-?_^xYbOUWAFId4TfMtt?J@gktxi2n5Y#V{s z0L1X2_jKeZqsaF(yw%?U3*w~ywS(^mTI`R^J+^}Y%w07~4rGQMz`si@c~&K@&nrOR zxm@ji?Q5~idw?{{F-tbkR6D6(O`ma}aMx(a8x5#G4duV;q0E7f%6Q3&@EGJg-O}fF zEWUr?3g}y(LQB~)VPyhXQfRGA6#UhY?u5~0;S}LApU$QH9sw8WX(-JX(*MVw zjxHO&(N-dIB_g|qNa9?&v?b}-UQ*ucc#RSB)mmswIHGpW6g~)Fi1FI2>kgBYaLWpt zdl5@FVFyLX_`ezaDOdjl!1BxZU5LE@33{)-Z|L)~NiO3Wo;v_7?;GCPuVtS)N&*eLqLqt~Ya^`Rv>Can##FgC-ezpKFRRkVa*3SR z0=bkjcS6vNp|K=BP7aN|45BubUc5Y8Lot=X$z_Mh$}-%vl0hFMWmee=d0(YUk2U|p z9nrKZ6)Sc}c2VS8Tm5rYKQxI)%k=!&Ug^MBBL7vJKu!N5o+JIwTm0Ff&+?G)FQmsM zRebdK@67lS`!k?_29eS_Zd?WHoYj9YmH(28#u`M=M6W6&xnP{nIZc;4_;1v)Neqsl zja)JK4^?L?=*NgX50z`Rf&qHzN*`VB6oo3Xl$s^1aCBk7Q80-NIu4MO8|AaBe_XJg zkjpOI_ZBI;#+0h=95MJ$tQ+8k^?La#ck^YE7L#9TNOod-p0DebYCoq{Yo~iF8%hFA z93M!RcZgx{?cN+W^>JpD9ZX0T?Um(gR25 zd+O^$)CZ*@$65?S9fi%$iaCwGM8K@fFpB}hU2ww-PacT$wv?B`7ZOt}=0-Z~ z+PwBTOXaVzlb8S%`7KZe7RMokYxiya+u2dY8|* zxO2Beo%_zHbDL60pNr-VsjTDUWvO6rFzYt+kY-0aQ<|Y$qDBw3%43AnrtvzeVdRA- zimXSA^<-Wt*C$8{8f&9E%g-6PYty*?%nm+I=%QN!HWc-ptk?0ncxf9=WX36XJ9WL4 zCfxeco^Dn01M5%M^PK2kNf}lS@%7_n#|};dPg-%*>u5QF1hol-fXAp=WeeID#@A^y zzHX@D=35jpM@DvOeLgsQY1Lovp3Zd7@SBly%Of zWR0__SVxG~{#uOG_n@4QC8`ARmYq#!Ye@ojcaJ zkB_Fqqk(2;OL;XBs7K+jwd?AHdtqt+%Q9Spw5}6Q`1*D@YQ=JRZL5+M^`msh3fY=U zciCU*F5y2Zn`O$1d>PD0+h zIp=VBj}-d$Z^*FPlwO~mskJx&aw8z{3`*5++xRjiOE$KB|0PC}U+UyGX@J=(%6;=evN!)3Yg z@TB}QSs1YW2-q?j+dZ3MJJqV4lf^w6w}5VG|KV#LvUkMqKp15rNqf{aGA+^`1!3Sp zam(uySvxklYI*Ib{iUtv+qBhuw{9t4OiXHd?8G?!3-BnbdGzBrk64cEJj%XSESOwx zXE(&{>yqM6WJ@;y{aP{DphsszVvA)*6Wgz251q%L4MonHeoGCk5Seh`g-1wYiV*D;xuY00U!0j`B)T0so9tE70!Ge^_|wBKVxklQ(xM>Rq9e=MDQ{e-W+qXWc^o z;ZC00C6^jH0PW(Yh8ELvK(rN8U3~+hP;}e+yPX0jYO#iv&_kxoc=8QN?cOGb4;QGf zzVIi1^XvzWb7kM=al&pXxMgT)9NPLojI!1Y8C2O)|4<%vcDa<`An>Qt>1~YeBMLso zRJ-)PwCm^_r2Qs)%TJy1G&{eo!@dipw8$e5ZUN3Ym4lh)6j`JE^)#W^BYWw2C(+c# zEJ@pWuF(y4f$M&Qy#@sOhhTy~6t;do8b2n!BZ#vop6Io?$f8Nyw)pGcMX{2Ue8N{w zVL$pX2n!t*tsULPe$4G+B~EMgdcMe@#o$GASHiHH5+qDHgXZ0LxvaKic>nhJ-aKi* z3I1d?Z`WB=Iz_!dW|WWvBW+LMGub2;m%{wszEfK%Niu}P-DlyjSQ{BD?cu2$?vSX~ z@kK*vzRAZbI$C~!rn~ED;?IGPP1ES8&1pLPzoiMN#-z#QGyeC~)AaC`X&N0B(L~f7 z@!wMO@EFt_63qn@c@prOlX4#H(z6@~>TfB=)H^YuZz*0|ymYfWjAOB_BMEh-@Fb0L zQmk)co&8>x?b{^k*5~(=>+FEKj=$qr>+_@YJ-D@e{h}M+i}SHNRQ!af90_HyI}zI@ z$|ujJx1RsYGI0{0k)Yxp|2uT`;LnkKr zo|0pP`rLpyl3yG9+yG}imW@0o@_H_+ZyroA#?RIF`U~U0kJbE87tr&*G3me^vByCa zwW`7uI5=LgPjtMLnosn${Sx<;;pMY%&DIG5=fO@C>bp5+KKKMfPKxmYXJ@|8ashWu z;=`1(%r>x}4mfPI$?%AE>c@pIPnV_dF8Yd}>2hBV+@1z4j2=PAJX z8t^F{__T`oj0RkQKy)vxzX09*+{p>$G41cDB-j)!Zl)-ea;gSQm4E-W5cCp4OXycQaUpE`_v=@Wiwl)&v+DI`9v}dcLsW9@Htjh+DF}vTQGyq zqkCM)BkLl}+ZO|&0$+lDbtxU63hyo-NCn%V}CH3|Go(q_|4YUID;7cJyUWO%gU{gqUq?E zR-uj^^mYD^e_2$;y|&EME+0UFuY0>eNN*O-#`i-n6O|i*csi5>+2cuVIz|bd8Cu57P~~o`0UYQ7U56(5 z99r{KC!EX8|C)IVl zW1Oj)(o;KAwQ!60dh=osObc#>Hk4A*63DB4SV*i#u5r&CsNE_2X?p&o#xJakeHEM_ z*}QH{9_6#5cB05X7RH<(BSM1u$0^WlY_LI9xgC)Vw1cm)tcV>J@|Pu}wfB;-XQftm z-1+}gmOo%Jmin045Hm}#Kc<9SYfQ43b@EM}JLv8HoEt0m5Zy0Lf7Al_x^F}+Y#FXI1^N7eMSm+AR4 z(9&X&HkNF*;=LvL@9i0p z5p?Uap>yU^LfFAb)iO3fTcTM~pGFb_Mv>fmSYF2#OygbF>33})b^k1wW$qP%d ziEZ*76<-tek|NNOqS}v|QswYufza0F1*aosCa6Fk#d_;6MvqU^KV$Up*6rUi zZmj-2Q}yqe|Hu9Mak-`Y zc8l`A{}tZ@QX5pQ88xgrw>+vcdPLzHC9M7}lto9qMXo{M4)MpZPQQpS)ec7aJK-AO zJ5k@tcYsdtH*Q+-jhn3P<{f`$T(uPYHq9HhzbMk{E#oe-X&;a5uyt%dtv^(M8N9%s z&!MQK8Qg`MaOk^G6U^FIO*78Lc$6LC1b0Ibxs>WrZV%5SQoFjX3K>{5g!z^be;4?& z``4n&-9t%RGIQE-%ULG4mu(Wh$tCz6h36#*uHJF>Yu>wteqWDuBw787=x5$@h*^I~ zJ<;zc0@>S)vQ9e1};!B|V3~-4}iMM<(z8Er|e^L_k)FKrc!BPWrpz&hCY&l}*aOtUS$2t-OgCHMKX_ zS>7AA@Qu6ilk3mwE;BLL^MYd&&-<1N zi%75P7}^dJWPg6N_oevR!QP|G70i<`71zdbJsd7jc=vD}^(Oy^#BX^8Qt>$6FDW=e`N&SI-#2cP+u?HaSZ!6mYAGKzefYu`!XaxRFKm{zNYcBL zLiH2;{1o^A9&St9H6tbb0dZKu4I%USk0Pl;8~Lylx}+_S{lmMdZ>@)1T0a*@_-gk7 zS$r1|f6j_;Q`#o9=iy^kF$0e(xIg#|Q16jKvT=1_)crL>JS_Jzzcmsly zId~(2Z5;eE&k&X?FY;cEA!G|j-Z1s@ZN#BmN6dJ>d!96&ZABv)&wrMncA?GXRPb~3 z9KL4_(kcA+yt>cp>by>YvdG=m*rkA~G`{szmgYvKxwiNx zyNq3r*Xv_~@11@M^wbFUe+>n5=g86YfCLZX9?{hr{6?_vsEISW#?w(fYLi&Dbd<~U z7fqc@M|WXc$SEk}-~(c6r7b*g2mXeZYNk|MxOxZq`7C@n>p~98g%ov17t7a~*Zo^{NG)kS)-<1c#owSS*)L42PtPPGg`- z-jbr^+&j6*Z)(aVQ|GQFXntARR2NFa3lkSgTk=9_p1AkN7yQ;{NF%|;*j-D5Ct1H} z^`An8^WkGVpdaHKWwFD?w%Zy!4F!fr_A?YZrv58`U$^Xwr@(X0e>O@60kFgp)?)uT z!3-0oDlV7WdT~}t76&GS$6>_drF9BUx!IH-_(@o%|GX+>{md<xS*F{aIeiez1bR$Qo2@5&TX+$vNz+R(Y$A^^U}e~LVfml7y)Xh-YKCq zKa!pqFOwJQ8=e_V9hpi3tT(&LUDLXb^#7jZtI3n$k(7tV`tN{+B&ix0Q^FH!xUyb0 z!j%QCti(lHA@(m?a;2la9PePXq+Bm$<>johEy8kEnaV+)RXRAxQ%R%crDBuG63?YR zCyQ+G8uHfSbzTDx#vVe?g5X+G1#=|na_Tm4uQr<0-Svr6Z%Jegqqf)eJnu)pA{#T3 z1i`C<$E0lruZehfV7dKCdcIK8ecHs9M0Zw+ZcD9|@T+J}D48u-W=ly<0}?XZQ8GI> zoN?mwN|8=l5)u*Q9T*bVQ1!Z^ju*o|E<8NHTK?e*)}v zf|ha=fY_C<&idU)iR`T0<(APY$?+TFNB?T~yA+I*hV)%NZ&2zr^R%5z_^^gbW9dyf zH7zHd@vX?NC`j?-gb&YGM=9&%%&V1e8Tfc?uz@WPvQkm-0mF0mJ+St zg>e193HfD#;O`Vz-f+$D#ZO{1*f(2u_dn`B;wq{}~{{(>W3 zX2dp{47>7GXzgCA#tKOz$p(cBmqinu(L-YOeCi-0@(9`zpeR=sBxXAfVH{8l7C+hkkJy$cY2 z&O*j`OMsDcM^Nt~$$f$3zF5^`k*Wv2-W$AvSyq~L0 zx&!ql-GORxhVb^QP46zQ419cJXL6HxB!F-Hv=0-Tm z*lNT+ZnkV%V8i|tgLSV?fdX8Dq%GICEwHWxO-SMvMksGjH8{ku9P%e+k0`55k>0Pi zPwjp>R~wDlD~v#f{fEAr`CVi#-DLI+L-jn@686#sz4ew!nItUeTC%`h+>TT}osDO@ zF2_>1<7AS_aX(2xGck`Zr%--c3Z)U*$u+x$VOa+j2sjHaqD$JMHbiA^#o>h_xtkJx1FD{t*a-wD{6-7xI!HIf3OSnT4<+B+?hiir0DV)=lCM2s zmYaaF*^&pWEf$|FS>7;mc)1E+-eSVHdlAWO>20-`wG5|E?+8ojkis=(*6XCASrQG` zyf4Ky??`mMhYJ-Ff8jj@#KQw!eEpG#VD=y$uA+{zsP<>_yN$jR3a|#ia6y7LG(`3n@Hb_f2!1Vg&rfcbNJ!_b=_?MWaIyPU8(n# zWnlGbR_mEadp0T@w(kvqWWi1}Xq#Q5MbAZd(&V*o*aFu7)xRv~)acvY2Pn$H^@=hi z#vdur?p}Kkv0tHvh#EG(AnhaLV}4~Hhiy_EpdceG`wN${a<^zn&IL$U@iH^l+krBi zGl_m>Ae)vy8U0OMab)il8gJ7`Q55b$1m$*!T7K`$&&<_^@Y4vjDsZ!!e zk;W099%K@OsIL>H;Zh%dC?mr%WK=jSl{0%fEV*H8<|m}MBDiH!8Iv{6 zscQ0Fl4)>^DDNTMQ(Y-xnG17hf5-i(=lMxv%3=L!6EcCYyd9VmOf;>W_llg)+r~n|^D@qaa+A}gUt+AYwmLgEHD%hT z=H)HlSejNET!2&|X*oGp-fB2G=kupl#=)wp8!dYtVo%9rnrfeyCuSy0Msnu)P+w)Bda{L)+ACoVfqO7!&uehM zD(*MneqGz0r>TjjButw$B&Aa5@Yw;W&$?j>hj`K>a~6I?vd8cGyaP!OYtL z&h`ESV3|Pw(`IECZ_=l0B|;^-*#ijA__KKq zgKV?-Ca^cZ#-GLPim`D{(#fhUUBAX;w122Z`nn+Hs9)o#jPWC;Ldj1S{>@S0&j~iO z2cX`qHs2{hQ{>w#+JvXO`8874X$wRppTuvij9*y3bEPvUa9;V<+@O+i1lQcF`#$(U z7210j$J_tm2>7M-h&ZGG!z&BGnoba)*{>4-LPPUhvxuR2kRQ`#o1)FOK23GKpgPCu z1;IIX?;Bzv9&u^zW9+D+<98JuzZ25&I{_UJRdoD5%Ko0v?gw!9Y1&N=ReULFYTA8A zXg98C_Z|AD<&;4^jL`3UoCpx1Un|b^ z%b%V;=`34dvAE7((Eq;I#lIlkQ5^z zAjIu`TL|O@ei5tX=^sNb$8>bEP2`kgAG1}*COL#v`y zqH9Hkz3&TMf55b75zQ^od)u;?xF<32bm_0b{MU+;chwy2wd2#0VC!!y{vP+<;e*rF zfzDL$`B$pOM>;O!BNY$E2b?lKTGjYyKr>|GJU)iN-6-xX+(YAPtYr0ADOq}~AS)Ux z+OS?PQTexEtdv5}r~mKL|2&G^wYSA%CM6@HDI6m$aVD@~63`4nzRu*KlHs0e4u(oj zh6R6mP(B(D`6z6tz*+^?%rImU4xix+1Fr6F8Lh)=Wzd7)ZlQD}gWf1EE5{XD>}p0y zCon3az-Gy7z;Z`0Obc=v8s>!C2>lUI!=S0UF5pm9ws^WJ(PW^F-~=tvfd)`-Qd$+w z%@ob;F7+6z1{_Cet&GyehYr#kT}=ZPsq0;C5)=#46|Gb}u&NDI2S*D!vVTEG1_d2n zRf;Q&0WqIz1g&sVMdqXWXFe*(e8hmQFgn@_BP*j6=Bg$rG!4)tl~t`Kv$+f2XNJ=f zFr3jGp-D3w^!de@&zU_4;X6+%&S)KHbWr$Fl_g`Qgn$aB#DI_~aV;ZE2@F8JRc%xJ zfq0S{`MntV#FH@SN!DiLfvi26;=WqNOU5c*(iZZPwt$z6RlH;zO23Qnk6qy&FYbwO zPY|~U_imc64A*>RnyvXtTP0ul3DM%y^#2TnE+kfR68*<0a+hT@UuhGv+dbqf1sMTF z3FwedJE-dzi`mOA+~)1UFr6eM%b%X{!U-lvVG{&4B?{Y3U{eLw&aho7SWYLyP>k+N zgyj?mlW7lryT8Pg->KLTSB>Lp<{@mTUFfo1@*1#y5v=gM8_gPysUk|(1HzHeXkA}pj)b-| zgdV=ic~73nq3ifqSfxk>_F*t$bjuZ6WZV5^c7j@pUH=_J|6E7L`t^jO%4i$y(Z7xM z2-;|PRRdgOFu8&bgpB)R6~@S&aZ&}MJ^LftGe9(Az|I&Q?TnF?QJ68JC%_o1OHozr z>cKGg!uOalBAGD8=^O!#!%PoUs2C$cgfU8-={nBzpzxzAOU8^50Tqmq0U=}LT1FTn zxS8;}iHg?|UsPPI7hH_^A{ZF)Mer^s-s>^P5?-34G_Ubl=6(D&JU2Bd=iq6#y(K&y z@%rQnv*F0;$PxN<-a-;?vsQ^c506TaObOhmgo%!P7xFZbB1y-Q+ezxo<;ove8 zXH#0dmw5)Ic|-0bd++12U6*|QsW3^m53X6RqMr>%$J867IF+zGmonQ35W~HFaWFy) zd~`|WBA&2pObO4{!m+K6nXs~Z!z|CmjLat`fRyNpXqpMN@1RJ z%pgy8^tn!(y2m$NWuzagj#M@Y-t6}d14V$2D|}hYmf6C^8raUwL{HAf7n`NKFtuMw zweXUTy3_0!%T2z!nw2#{G1hM9kIMJOQg-W6t$neyJ>sYleX)!^=BP1!u?D*>e^eWV zHrp-D@s?&M(cx}5DaHm3Xc*XhNZ$1-m{L~W)Hf%sY*GenHraMeXOe!;o^u~=8zl9cK0_86lN?g;!WNCfG)3R~Dt z<9uUpTBj~F78#2N+@CzgIMz7MINmtHIMKMfZK&F-d^*^x1UUxaX96(DlizFMj`myV z>EdGBUye=d74$=cs~JqEv&rcBBskGZ2KJmAaes>3XVCY2eA~tzySn<8G4ny#jQcl_ zC%HV_4cYTqN-`ExO|~SJVlC~CtA&Y_ra5<(54Mn$rCMoP}QL-6RG^$&X^9oAIRs(FrSBxRc`YvPQ>(fZR& z<6s(e@3KCHq?J3Uw7+AlYqv~qUqX10wVdDI4plRBn0FqHu|WSgwt)H-JZ-_zIF5Ht zFxXTrtJAy9;AfOLw!{@Cqw85rV6J6-4Eyo<$+Z|d-u~jAfr}~!h?{j=94KzSIdhP> zAA!_a`%rP?j-t0(+z+z84{wbnYS{Rm*;)iS-eD5sw|qg=JDg*<65|L2 zx!#egT)=shxT&hKymz#CK^>8>%Gymyj-!ao=J>>x%w{973uhSfVvVa}aon9b zkLC;L7Mp+L{M#rV|5)U=sv?4a9ANbl9dD`gaQ2-5-{R7VMA>7?CqmMHPEqU^^qk`h zYR)0L%HCso!M)x`UaY)C_M%)0&XrD>2h&4u!Vr02NVZ+l@O?5iQZYFqNRc<*;um;6 za|z}%&RAfZDxZ|YG|uLM3l8q5-N$QB#GINj#oG&?E5wcSkKJW<<+VGk>B}4EK;0Py zj0fhP&ts0$K$BNEOuqxM&Ju93#cYvSITbp|QF_2E9>4NlV1OJ<+wzMJ<`gNXbjdt* zW6kM5rx<3W)SLn@zu8KM6qM(76V&;YrO&TSYLJc=sY5X%UpdZFx{X9P;QK+E^;4Oc z|4TxQbLbD6X;j#dG97Ok%Cg)eUg!8H#n?>GNzwDc>1NN2IID)R)VbtX%BK(aU3THw zvek=l)9G`@;WpSQ;G%mv>P!f8*AMu7{wf>^t%8H|FUhMXR*W{1AS`d<~}zzNqg4Sn_uC=TA<49xu z7v=uX7>kXYhPID8MdOz@&tY9G(w0{5Wgytn&k3Ekw`#}Bbvs@jyy>x-S&Mv_k2g6B z9X9)I_8`4Km1vr8Dk}dJXvBk&2Ys>{+WzG{7@wFyFD6R&lP6VZHA^oxTRh8Hr5q} zmgepa4St*)1}E4)TE=PdN)}((_RE-YoN1}Ip@mqY!Ah!1jgdA)>8{eHV~1|(l?Yv> zTUu1DeNB<(*L8}oE5J82;2W{v?JCZeP1LUk$!MXq%#qjBSK{Vy$C!!L50qG!%Y;lX z!V|=QM?ym)GuM4k!*k+n1zwf^K2@^3caVHmGn@0)itiBd9Vxz}RZXwf#k^XT`FqXFMhfNM118r7ahpyFn0d!F|JDVkyNn7kf(=d6}O zt2k}{I<_Ev7)4+0uSbVF-5oXvA(3F2RG_&M z%&Ik*-Wo(7oh%(lWHN${VDrO?&Qvl-*jas;riVhtDji1A#AkYkQqu0r`1FR6QtL~Tu8pnN%DOhai^2->7)+xvhlXPcqznJpyO?G z*uyU_9a;c5a=|geJW#;(kpgm?9_jd>u;luF@c^qd)d|CoLU`Jum7yeWB&X>3VZT+n zB*@Hi{IfAedMpl@ALN40yjFK6J5sG8<7swe*!BAGxJVxshX?`?FXIRX-ys1JpC+GE z6`@|Iv0kTW>U$dSJq5U41Fo0(xZLlOd!?tN?qlU^Ym@6dkUoNev<}>_FhXFo*pGy* z<`P(r_gXxdCtyAkr@H1c8@?N>xbqJ$j00cIMhdNzlXmRY3hem3*!bvo+dq6uJ-tir z`%fxwz-$ev+8;O1`2k<<{S_`XopWR8R?_oQ>NW2yE-%kI&r}U|lWvZiRQucz%=K_5 z#{nO*dT-!szWDXd=1COWS}4RfeA43C0xx088?p8B1Fl2_aHGojhZ@rl170rrmt5c= zVOT~RLu#gM|J%?@XnG$*hqRK|JeS9@<+xH$ugBrjPWW#O{Azz`np$7cifY$zMRhxd z{Ls=b_J-0Z-b=s}*yz&gPwH+X4w@36QE4d{3@$d)-1$5zLug~75X%vT?xEmAEbn}| z+(oWWk?Ss0QHar(S8E|lF z%OC5u{IP1>n>FBOEk|tDLn*TR95mx$^7ST0R8rCkbAuCjJG#tseuUPXMRe(SpGDc5 zOvfpoPrXsT5S@u&6=^SuWLu)*Gb$Bt(M7o>BC|1%NCxw%Vo_|co8Ebphz7z%K$X|C zrZn|y^oEwse7PcK>6eQYzFRfETUA@!rUADp!0j4vyP|EeO%f^33|*cJBIOweqWqjD zN-C7;U5KTJ_qMHPdc0Rb%+W}JhGmcZr+j-|MjbJTb>0`*`9qtWUt#B?7>k#2O(tN< zbfw7LEAT0Qj#*#MoY3cf84;CleIBOElr{2too>#7@mssn!-3A|bb-l==wPLyC4%2|{7Z38;(eK?^hxham?l23xv?qPm%BeuGU)KrWO=mI zYT|M2wAy7|10F^#xevintBv~ zr1DoSdBrE##GLtl*?32$^w{3|*5$kqyF#kUu(Rb-8-@~+P{{qu=x1_+jy3n>4?g(7 za--JMwTvnlvrZI!iuz4+CI+3%-q(UPk|^9Wy>Ad?LWess(j^UrVw1%^LSru4BQEzy z29KD-{zy?=?vLM#(#NnrLYcX{(S2-Ko&)LIfb!V>ZF<)nuE?5xEe-uY{+`z)0J}($D#8`l}{by|dYZmk{@Vu|d5^uE4&anL}At{&v zH(26RVKc1?D$O-0fv%`AC)ib;mA!rPC7ur?qr*;7#fAi z2|sQ`n%*j1OBHq{qRW<+{i`gVDt;BsuO3`KusNGppW-Lm!Q;Px9y*L!C-WX4^Ip)y z5Gq&s>pXd2&d8Y?5$( z6MN+8(w&qj!3r5G-U&Y7Xjw!pZ48a+H=I^URl2FX8-jT%u2>*LF(B7snvVA)3hezQ&&C*6R5cGxKoAnri=JD~nyqyZ#f_Ep zZIW?&BP7CixTXASFa|g85vue{yCr{NL^r0jDarPI!h-`uvi)P@mt}u|_+_ zik{Tl-fg^e_HI$q<2SlNexq9GJ`G^UMW%NvCOE?_aoB2;>skzp(`6v3taIKSD$o0M z7WW79UEHT=j*(&2Jr-l7<-ggPb#Sig?^ac5-Z_k`} z9enq(Z?}BZH@r3KOMBl7Jhdl4J%7;U{X;N^8A*jWg6DU4Le_rMbHd+*hFWLl`|FLL{S$ds-Q)?W9^=K=Zro)KVm=>0|^ zcvK^JRCU}RHQ82opjv;Xk^k@Q!Sx8*&dTK;ie9Cpm4k@0vSdV`&+ zryaFcbzsZL$nl<<>f2|-N$a*?&Ru$Jp?>0@c5@bQ_-%6Y-i5e9@VU6!4cz2*{V+Wb_ve_=^HOuK~|1zzZ7if&%~G*>k1 zu_&E?7tbEiMICABv~C)x6#u&ku>J1$umiw*hYd;IGimRNGiaMsarK8(vhQb?gD(3l%0KisPb7NCubz`dHK7-UJxZLlhOHhud zx!t~r{u|OXB$BL+bLEKp>WGyE&by^VI~Vv#5XE|90A$^_U~@*YIdoDq8+9rIMl8%t zjzoqQPRb7DBa!BKQ=AVz_*fZpFqz*jA@Jz|n3g%kJr#o6D$41WZpu;VG$9vvBaa&? zAfe$|=NC6;vO|k5d3h!xfvT&x$U#?`-b-k|_1+(eazqJ9wy<9|D@sTb*@X8fNQ%n^ z1$29=TyCqRB`H@TTCQZYTv;jCbyTh_l`E@_iR}Pi`?-ag_nFFfH`=MGuqxZ+-vei= z9>$dal}4kYIcOv|>e*kk1Wi(c>!}1yRDveeGPUzA-GkvA=4^U@aVoN`m-f-Bv^`+x z(XrdvsRUS2Sy!c3Z~pNzA^Ro$oJrs5R;3=lk6Jt@G9Ipi z|I0Gie$#$-B^+m;Hux{rJPK~9GbWy!-t1CfzWhrn*hcWi(wnF;CPx>aWhm{G8__DI z1&dYtl#W@fj=VQMRVxK3y>!B2Me~sq&nVIIvKARH2lKs^!9MjHAm!=8>)R&z3*@Td zf=1E5fI87+u(U`)+Zn7Qd2bWg((fh# z{S`*}f2yIs4xwX1=%+&H%nwAxaK zwM|+5sJf0y-XlV<=#pBY>A{ku6;UX~@%?zQ`!hHL;rjz#M=&k& z-XrJc@igB#cd@#M7*RLKgF~VOdkl`z&}@vyx(Tzpcb$Q{beqP_j>19dB7OSJ1QWBqb~ErsR7YRW$AD zKr15GRn^ba%N(A!wop`anAaqqp{f9{YJ9J%0=%XHuPMOm8t{57IFp5rqSlyxPwc&e zdgs#4=TD(!#}LYS*rcpD2;}`1D`Z%#%W_CF!Njct*T_C(Lju;t3uEqysXLs?_sAYv!5j;ATCSH3wYgMma{Q;TpD}Ra zDZy!%PmsMas)^pv4e*9)k$-3aJ4S4HQ{Wrl4Aweh)mei#8m;Y(Ts#!WJUSJU)%;S!AJ-wCb`DnEcF$Ul*K zfH?W`?}FgZm>#bDm_6{}9xuNB?=8N^`_G`>xTiCM&#z=Tm$FpM2Q7a7?|2Vc{g!Qu zt#HL82Zq%Pxl!I!)feySD!-@N;C&5vU)ms)RjLghIacdiGQBC3%fQn&0G0j#_5<@r>Q;<^{YSu~uEizEcX<+y3kbb$OGEX%t(pj5 z|50h8w>cW$n$r3)NAjHpq%Teh+DibEw#C0rt}2*bCq_&3poMBa(Nr~O$IYfU1D)NZ z8uQ|KDEI_&Nxc7PL7x?s`$Wrew(DjWN6Uxycbt2Brd59lQU|)R*n&_O_eBF<0K3=kn&--uR60 z7P|~wsz|t?`;8q0C~5#Z+RdKb=nKnLlT3>~y}PM+9Xeiz0!-2XcA!rdQ(;EOv@E5W zK$qOp9lu21(`|}*GX!?YlJM^CS*J+_++I&UyPJyF$Dt$L7(;ndZk#gKj-%-LAht9# z=u^x!sREs4dd*BGR7F}($VpG7##9w0f)^cJzOQ^gqFZu` zYTBt9FjWCMHK0=grfI-51=vFa_ArBe>Q|}l+SDHEN>^@pWW*^;6>7p06>f#|2QGjN}d*Z_FgB%9-KIblz%AC(1|BFB*~v!-Znx zq<;i|`5p{({q92L+A!Ia>nYD$Vzsg~V=0z}xFjc1LFPo*GaQF~*%v5Y`LA-0awA0@ zORJQP{@-}}?oUwuiUnUH0pHjqb9kJUC*F{sS*F{HzN`~om(S{immnJMit)J0-nH zX-Nj52-G#&OV?;G)fTfgV73Cx(SSLTI(tg~nchigsu$Ik?MHaBv15sZ=m4 z|2@k1F+?Bkl|@E;RPmz)8sP#}f`uBePyrTcz#;`$tO4vuhO8P4Gi}-G;(gNt@(LYR$Hl zjh@ja^J^NCiOJ8lyUp>!*%Fh6G)Hyhp72@03MMP}6J>|d&AMuDZm5-YBgeUwHw>fK z2`!yL7&(_BHnIjRB{BJ2Dnz2Nk19k$3X!ZXgjITMS(sr`GCW;EZXc;ba?qZ-2K!`* z$v2_(m+IDEs=8yD1}qcV9IgpAEMcj54%5lm{nrGOyuV|2Wl3}(&=fh?V6L1ZFIOQi z_n%iQI>j7iS2^G3!KwBKpp1(L$d>*osr<`z`IqbR&>gcvQQArkSgGf1Vr%C{^;YRC z=%yiTcu5X|C-C6zaMara+(p}s=Zs%)`C>K4O7UEUR>U{PxKFdLgj@crmS}CX0v+rY z9|AKz$zy7Ow~3aYmYO}Nx|rUj2*I$s)a|z<39qtVB`oo4iY4x&tGSP=_bLrorRyzc z)*fW=Ys`(iKdp~LX`Xc@u+BEUD`cALzs@U^BgH|phy`rxA=jA|NJ7mp(uG+%Zl@&1 z3|J?^JhdU2>l`YOT$1M}>4K}$L~kkXs|(ByE^l7(1d|4p%gbfQ|5n&2(@pOi+~#AV zmkOzgHc8uDE5hSC)kFtq1P7=lI#2@+RDgptfE_35ZG!J&wSQE8noBFy{Zz=LAf)xE z)-WVx={{eh%kEu+7F}j~-@~_2zEb8wjAp()NCDE6?^HhB|*Ys{f+u_yYXc7eb$Q|9Eg4mLl({>a;c;(Bv@(8x`X-p%2M(8?P%(kN@ z4Kdp~Ceea*(xkZAHg*~xw9X93RN+kd=B5sF#ASL9V1WJu45rYcfF~&En^urA?dB$1?g_+re$P$e@DkOXI^Ogi z!f>0Gbrfg~^O;m3>FDJR*X$%+%#&2PPu75w72p&NI7IKeFCEc?7_Ib4Xc!A9DKuqIZAjb2!~p`W&7ID#NDv7C;R5 z4xktfN#C@2A-p%jZ% z0A_icT{(x~K`w^^FR5YlQB4=@SY>$^fpdBjYy70%RvGb7_R z94J2wOnhrh;KFUp*s_w79u?#*BIF0w0{Pg0)NEYThe>zRx=S1@|rX# z@h5cRPpI;qtpR6CZmQj2Ym@a6doDy-KF`+%;kNug7*t}{#tmJKnlL64GH*%_ggKCT z`*}kJ-qWKI_sBfLHoibOCv#s7p*XoIB-6#ITE+oHoCvBpT34QHO>0_a9lvDb2=xcNo?tVHX=AH!g`%-7Btyzcf! zsfWpI@QRv(lXYO`gPHS0yuIIGst5IOnEq}FenPu@g4wvl2OZ_Tv59cLjJBJ?^W}k( zOR5$N8=AiX-6ic{Vb-&e!qRSZf}L(MZC57PR+A~S<#CiuyJdpCQBANTz+S-Ou+b49 zRH3{(^lMa+rrc)5lv~}q-q$$z8kuv07GSG-D%Xc|Y6y#NIs=#4#tRCUsU~Au2`+FV zTGWi0h!!%ZvTn2p9u%)#-0jEOs?CGBp=vKk!U<}qPD}*v96w3r?F`%hEQ&Q8Ew8#E z-wRxMeQVU*OVMH^dBVbi2ehbRuqwGIZ04&vKsE^ z=@D?AX=uA5(A6@Hc@-0+HwjwPIa8oD zV@uxKC876TAT#%fvCJGH7#u$X6t3p4GR+X=4HVM(q>P^!%WNrMq+|`cWd6jkOxvSn zGCfadK+2XehEI^PO*C6tygd`La98@yW+eDxf46F;^K~#f0pyn>;_4^YXp90~^tSiI ztbO1#y;=MzAB@AR*>Jabb5)(btjqIdRlu)kz*iLDs~YfC1-MKDE>nQZHQ;guxIzQ2 z2-lpj4ZdfDo)#xqtx1a%$Xm+KL0Cy9WWsRSwcrH$eTY%KANPL6rMs_R5NXGzG4q6ODOn4=$sNrLUI3uOb6 z`gzEPpVB&tJl&tiGE^>mpU=+lvbS3}BJ1*HZ`d%wUGHGJAh)QAFqHyx(>oO>P`2Mn zd3Q{t=(q#k6!(@iL@$Rom{}Wd`=m@+S6gz;WZfcO#ER6hJztF*kvqO|>Qk~$aG73` zjH@_zBP#5KOYWeEE7@DY6#(8H^ z3#sWm*YiRW4Kwu{qjc9Pm>djK5sr0I7jn(G?TypZ990%Z2H}8N}hhl z%`%~clf1KDr0RE#GTAp})-VCjoCUUlM6<333BD)bW2cOz-@|7;ErG|#Iu`aR;)wOQ z#5!?SS{!GrSp+R7+vxxDSor^e^0&nJu+dnr;Amb5V}3fei|HeiW$myB0pG`*(zQ7N!xd4p^-N#&AHhjoVccG`liQbKIrTDM8}` z1Zho`HAl|83*X1M4fjV)eyg#X_xf__!hRAnlW3dLNk83FTym|+6ll~O(>Wy3cH)#2 zxz@C$R%Z%LiMIKj;}dO*r;H&N!xTEFZRpy>YPCJr`2*)s{T{x9=xrAE);M0u^2!O^ zM`P`Fu0Ptw6XoR%USEo8*wobIeHIeg_1+_Y!6pBNctvmajYyV$zFa?dZf?#t=iE)% zW`6N3T5rIJGMlu$Rd8HEkR>Wv7BfpNvc-%oW@ct)W@fO^f)+C~Gc$w5%nTMYTKqIK z8~f&CV)y60kB*ahqpPbjGrDe6#mP+2EzXvR`Q7DasuXzmlkqr{ zz{pEKFCQyf-XVw$@ozl#QOMGKgD|JO=@d72qEcNvAW8S<8BkeH_}NH?t)d=JZLGSN zn|n!U^y)sBRKPWg#YQQRW4E)w5I`Va;*ks~|s@Ya-1d1BPLYVx*3kTkWweGRyB zP*M4)P%><@;XJ2yJShu%^~0v(+-iSow36J94#lQIWi9Ipr>OUi`hwGarS1MOF42XU z@{C@w^hT(5Hs0QSz*Buo!%L;r9MZSl*#xP5Au&|r(>)@Yt*(v8gT?M^kLQ@m+S%uH z3iS7!J=))89@#_`+CId!%+^3lZ@ClW>kxG|pdN>){N$TZ{&SXKRqj`nZKki?1eb?< z3$=xNohO!v1CtFK0xe6HdrWvk~f>~{4evt;4?GuIjuSe@Jaq#APT1-kWOUF@NE zY7XE{ZmX0Y?*KdI26P4G1?yZ|VT7jf{+XiQmTXM5j<^9EILSYdt4O|5a*)=Sxg@Vg z-oCQV+*S|31MWa+V!Ec%U63OqTJ_J-rbDGH)hMtFvmz53m3GkLGZZ~3a21VqF*r6! zH(qO-d*uun5y~l^Xyq9Yx?^9>c+;q@4$PgP>8low3Xplc=Z3Lu!PK4yZuHe53N zf$OBpq`3DO5_J6efW!@op)oOJsPMen`k6S%d%tfhRN;S1e%}wV^LJZGc*ZWg zrO`v3!sDxO>VD&C1Wixht9zbrWrascUxyeQj9q`p?4#ercB^}&4bH}}-pDJsFRT|) zgyh3>6`;B04Ar>t{VTGXHoj|s!=kU>_Le6A*&+sd2Y%42>_ zgL;zzzg!65#@wMtY^B*Da(YtR@>A=6KF23UdH>U(+xh26T!Js*_8HZ_m?yWFe`$wE zJ-{C7pTx6P0)X=Ekns(r;V2A8w0w0ijO0nXu7^*g+plj}XpL0PpNYvx| zf?xKkGaj-8pmars()~xjEk1b9MVO7pkjnHgQ?3WsL<2O`u1%$nP)71%xEqJpR-RpZ zGv9tU%VQYX^#y?&S-IEe*cDm%M*#yBQtCQ^c82F^H9bv8hM;%IIQ@3r!{r@7?rP`scqMm zZD`Bj3MP*uemLnc^Qd!aBA$Izl=%j{X0PpMKsdMGU`1C4>~@;$0z2*gl!^HdIhyt@{Q=D>#f7cc zfz88Phfc@NuvOI0M^48GrR)ghYaSWVdrnEPVneq(Xx4(afeo_XBeWyZ7-78iiu? z_6wQOVM!uN%9=R`u3F(cM?rndjL zVujAvBbBo-!(O%H=wC^E)$c2fUBGL}s9>|>B*8%#S^i{=Rw)XHycWi9Y#z$v?D=`p zRPl{e8u_HIczka=hUx`gC4CZ>Wjj)fw}M8L@`ic>)hrRzGIE&rbOb=80YODc&TE*< zbjnl&v`$+1O1NBS3_pQ`oiY9MZ0In?w4Urh7-4qNsn{hSyh?)Nbr#tqCO0M|PGNf3}}&Xj*GSje^`Uh&CU-asAQ^CuaT!E+j8pTOBASi!gNl6_mrQm|XbE zVs@3sDS=fHPa3qfRS`^PtK-M)eYIJw7-!cyp7I$CNWt=6CNaBzgS+wAPkM$B8Gd+Z zQzfl*GY39BxXx>32Aer7ktpA5^=wE$%&{c+xPS5Lkaq(E5Bc3l=?{)1p)wAq$`v!B zl?;&o6>Wc`=g@7&FneLM{BgnXzMqSGAUMpLJ%*cVC46bW53Zv?*NkkCr!e@!Kn$ zAFq#$+tH)(S1#dMXZ!3sLRUEJG$ePKM&Ga<%yu`-swPB#j9!yn>owO8nHkDYtc1;P z(rq*z2@Zmqw9PN!_kl(B)k>W|mhq8AO>`VjJ3^G%XC@Hk)Dc=F32%-*hS6A1zRjgg z6}p_%sn!w;$?V!_tq%+MoyFvqB90n~&uuRTmsgOdJS9YGLP`M1IwOamMlWAa7sB^Q z=e+@&IkFO$Z-CKH-ca4ZBW$zoHx7Z%;bQT27rR)uI~n}Vq~@!NL9#k)I+3CYIZDb2 zoh5qyyoR66IithEb>ZDPH6A>dgJ|IWkN8hr*B(I+dONwH9b3 z2FY92AI#xO$d7;DGzWij?Ot|clhDq)a{87wXDF_xSemgt@q7agqwAk@jL3S_pbh$i z^0BAC((w23N^0Mhbw52N8nA3UFOl%W`w15cFPM1bo!+sjYTpQR%-Pn$X(AE-O|EsH zC^QW1hgWum|G1a7ggXw^N0pbl|GNamLlvhl>zt9IRIcK@^dDulNip7gl%_hh?zf83 zl(WbcZ_|va5}h1gox&hF4|46(Osp9}tzltacMD{# zy<-b0r?=9SNVcl}_(fIQi_86G`Vn33+%#c-~GlD4#m%EiJzw#nz z!xt;2GN8wMTAet!#3gkkg9YaYb3kH4DwbQ6^d2Y-w;{#`k-;C?5KAC;Bv?#D!!NMt zs0CzA)D&}?thmoRXfM)}+k8SftZP*B014x01_R9ciBCQ{&4+wU)UB@GQ)4JU1n=^p zO?gq|K8gA~Y);;FYrjh5Z~0Y(sv&S30*yZ<+q|5qsOGzC@%C)fH#s6UHwr}PozvqS z=_KZ@;67nnJkx>#QwIHI2?mEs0-q18|5=6KG^cpS|V+$ zPVQkhar-8(?uoWWoG_DoTxn0~oLKP)A3Spyr6M93k*vpPUaULN+RsrpjYIvm>#)C+ z$LybNtSDMoctuW~;iFbKns#JN8t+`*QDOJ{M8hRge0`5g<_{NRis;Kz+otiO5c-^Er&_|_s4jSry=+sGzH zolT+;-vS7uB(}Pv!6EX;a}NV_Jh{4X-jEC9JUTa`@a%`Qlw@l56XfyJ+ z-83u41s@f5XNy!#T87EOzIQq8EEGvl%=gS>_lqQA9qJoj+JZFdPPOic71}vcwYl<< z3*0v9!w`4P0L^LeLsXKeB67g%U46{l7bAsy6bXgERd02168gOlrM^$8W(zQ>i-+NY zOPVsk&qS+Pu(Ow?A1Y<&&S!{}X1lH(&95{hy=_h=`l~)4ycl`kU7*>VZ%3T9%lnxCM&p0@^K_HHDRM{(b@Ts5Nh4oWN)RjU*s2V7}6}r zGn%y~F(&bUhH0EvHy}?mz3u`8{uI@h=@=;|6LIb`XX=H0r^>vg^eIT9Yo4X0PCBqY zc{7~)BTYBIO;e_B3DmbFj#p~*f9 z+Mdo=P6*z+XFfDBO6ak65pcT?jo3&~xn$iecney#-oD5=$$n?fGK0RN&Yi#7(WoV& zmi`e*{mpx^?_i7W{We!Yprz49#AeHu7OjdWS;5#d@wCURYkTPI50-FMj%$}R9klf- z&3eTdeGUbU_V24XBZ3GoXi*2LBYb?#(o8d>COO%ZxP5DR!7SSeCWmyjGo#5ywwKkHyQo}&~t6Lm| z%jVCiaycW>1PusMP1DD>xEQ`M=^1TlThmvxVQ{3s&&1H|xF27aBY$4T9iu_0#N@xj z$W%YeJLClc{*a=yH3yRf;O7ts75}(KQpv~HQ(Dye-z;tqxnTYIZKIEzWhN_+w&ynmM=`~$%Pp^y-yhlY_fMI`e19mpl zN>Yh-Qgtx>zd1BM4#e3<>2DAYLFo{vT8=2MEm`S!jur4ms7@t!RLsdiZSA^VH?whJ zW4|oBi>dMvBu-zinOYRR!OhNTD93j~54=L~@^}RkOSXEg*cZ(T-5imaE8tJw|tRa3g;k(q(@M37z97P-F|1Fx6lUSr+QosV=0A?o9Dia%KHNWynwpWbXWL+u*Ge^yr2xs; z+r(e_MWH(eP98mWST8MhSoeko(o0lc@Y&VULx*qn$0;XyKFCKkj#FJ2>M&%bzOKBs z4JV`ZdWGqWp|QKa6J77hkzPgU*w-jRUS0m8cKD5ZK@u@E=#e%hypm|Lz;N+I$2LZ$ zcp;(E;m^IB`S49vUQOTm$~f~gH03!p;Be);myUooaW2L8M%Hg$N&@S|xh3BldB1sS z32+nVnu7(-btU$2jB?-lPV&Z##{aCI))z?0iTo4pAhgJbdZQ@j$cx&Vji4hBSzQ8w zJ+mjagJu}1vyUZ>qDQKSRjgV1IyG(NyJQs> zL^@(S2h;NhQWE?+IfuULc}4?V%JN5vW7t!BC=2l77h z@LS>AOnR14d`76z3{@Lrpyn(+N-59YR+7w9bO;toL6XSRhANyv$Ec%K9jq^k5UOCD z#s$OAo1wn$1ZP2}Y6O%O&wM>@QBf+L5s@g6#st~neh1NSN&i6E z?(Dw+TCjk|Ench!1+dA71JKR0aCr?YoW=aI%OB>y)K7^58Vryf5fD_Z;@eXYFIMp7 zo@)G9F?R%sf@K;f&9XnH;+P;c!)z9?uNA27ctV&F&RMW3eJu@*tV^Ym# zqVTc*=3)3gg&g1=)(Z*lU38RArmJ-&B3GQGDvq1q?4fpF6s`p)J z=L7sYAkk_CJ&=t@v1O#&5S|F_B1KsE-$%PX63olrUI}|B&uo0#Yvq1F&Zc^OJ~WV9 zI{nCTZliHOb))F3sSV6F*>4{D@6pHs9ihFj;0{JG8+2e^KOLUHRtUergV*AGx>Nnv*$0FRW$v4uTU97(w5R!-woIf!~27-ofu5%qbc`Wc5)c0|; zG5OU)gw10*M^uJv%l>r4(|=g6Ug5d?$LEy?Xn~K62p9?a8nct@_~tgl;m2)(&jJN9 z9{yx$1d^~F*N;H0^KAwV&+=N}cOU^qs*^Y}QNqqyW8%9GrJ`+Avtr~bWmvQ>c1|xLZW>ra6~NxIIlo(bVm$;a(f;|GYMy4A;)``u07K2X;Iiu006f z7(M*BJ$QQF89mGp2&bbyu}><6zMY%!8WH7pwL{00ybkQFx?X#@RrRC)ot4In*+xZczNFcCe^BdX03RdhL4q4 z#ahk}aH=$8xaxD&cuz+I(>+fA1ZsKwU!_kLt_l)(tEB>@nCkG7Xxh?{l5E=2|1D`0 zd)zMx{s}aNoBj`=%+5-J98aWO;gZl)xQpug`hMxW+}Qs(o2gZl+I|_USV|dFyDP!#fzZ{%MV80aM39c>!9?(XOMOm51ucj| zShVUM&0ipLb6!cSQEk%KEcmq`cg-*RBe*UK|C=%Y&8+HS3)XBcW0y8S!MdAM)KaDR z*F+VB|NZCx---SwsqYgv>nk*@XNqCs%m0Htl?pswuRl!s;6lv5KoDbkYAg^_3d@G* zYeAmomH#KlVg4`2sh2Xf`~LspIH{omcLX7cFZeIVm6`NK|EJ?v&i+r1EBjxL zD*_a7|9|f|^dv~Ff%Q$bI)g{rz*7pfU?6!pq3zFw0#hm3Fr2eWr*Efmtv*<1Ke_PT z#<;>FjCwp6>T9`-E|TpzE8i_UFZAItzmqu2S?gE&lroRsj3n-w*s$+@Mtp0y`K?85 zFh2a6X{p7l6SQc99cpUJeZnhPMtN6BSN{E?a`VPXAA?gL3+N_ z-sC2dC6;|){Nh6R;s(#m)xYZtfQwf0jD2d%CTPo~R(8}66h2B}-xi+{ zO}1mxeWD~hsIgOypZ;Ea=0V*(j6)oqb4OOxDvJN5R;C8WT)&nbWQf4zcEv2Vmo%as zBU3fQ)q+}e2NOjsVqlRk{urs+J0myae-~eNzuj2~=D!T)77R$wmafD4-IMz&ZsURZ zi-fIH4YlM6@iyJ<>WsRAopcWAxwA4C-z(vZ+)b89U;J1qN4~UWdBcEM^XjtE7!kyT zEi$bxD!yaJqOi|$sPOJUsdAx=V1Ow(`DjZ-o%Oz}xJHCl1e=IcQ0v_5^-i3elP81* zmy>${|EM?&FoJELq4(__>AvXP-Ja6sz2F(OPl+~Sp}qJ@cd)7b5IBBr?Th7aAkpRG zp;fjdXcK=)$)~^{-K5Pz53xmEF)ygC`u3`X(JX7AAJg9qf9|cgg7j+>5F#0V#f1@C zo-3d@COh#qln7ItlB9=?-mDMW*Kl6}E)fi4Npft=9=MfTy+{8Q$*8hYRu5kCW368MWhy_@$7c#y?-kwtlt8~T1cUN4Zq zco3sqn*evpBzos(1I&rRr^O($Bfr~3L%l&}Ly+z~ms+MhHn6`*M_$H}g2oC?%t-_g z>~mDszyU98i?8QhoL%h1h>*iZDhIOYURKY>FC#0JQBx@I643Kc-N)*@JrYi)n*!VZY)FWBCriyMQ)p_a{7mi!{OaV6 ziIx+XIwR^&U0xp!;i~p}Qu#*2k_qxpDX#7-JXQ#1?FDmg&`!^R}F9kuQYez;z=`{3}xN zQ(XDkH$n4tOeV0zs+xT>xJ#)48l-I#R};*nSPVy9yezOLp-vj^;^A;HWIa=oUcPVne4Rx{rL&MRr6glRA&{~l|?T%+;ufn zX9d{RSFtOT%9^5=ocs%p3N}XGMn}hLpLb^KDEzGZ=|S3g$E4@m;BDbX-a3~9N@HCv zD(c9b)l4a@vKSHdLbeH-ec#HuS7uvl(R0hJi0AqpD}~mjyF@-EcWEGip>`#k3L&96 z>kbtBDVr>?q27^Oqmrhp_U|$avi={=`GT0%rzEiNwH1DwUiM=@A2R4v5CkM zG~xV&Lea81z=-*0Ba6HHR2P#rxowb?@=;s<{>JT8gC=XbsrM0d_1B?V-g>iSrpJ@( zjOiT#K0(0VJo0$^J8;+Q40>)|^XvLXu&Bd8zy}+Fc(W@=>S-1H#@7wy6*e-!o~fQ~u<8n?^KL3n#p><3Ha~5rs)@V6F&>7M zHXim9o*ov3?3}MB4WF#?0NLfztESUe-G?qY-<}fj^@qMcFMd1iKONqC&6MM|K*s{q z$Co&r^GVzG>P928HvNh|1B+nlcZdno@=HwH3eqnO0Zp0&qqp`yP_l$Neb{l%$Sk{% zt!}$_1uT`^p7|sXR{nbTtE7KGOC>b#|9vHklb-UXaa@#tT4&s3fJ(Uh^#wsLS;g*5 z9uKn3r2?TN^&wD)7WNyThNjmo<$?Yxe{--Wy+TjPk?#F%8YWF(+gHuFai}fafQx#V zWsjBDvNhM6N^zrAnBD8tJ}u&oSGsYd?$pG7+<>|c;=MPxZF%bWcVK!YjaCLX_1-%z zz}`$Ww1L`Zp4!J-<=6 zGrxmeuV`)VWu6ERn0EO8Oe*XKt$2u#`6rgxU9FsE3b+&z3f2oK0dYTs+1wbll@j>} z-on}>NjE-)NxeT&@z``#8pTn+cmViX$YerM2Z%15E(8K?eN5>c&BO-9v{g0?qn z87$7;n-7tnA%PX`k0A0_qr(67`R|Ti96c6t#-6WkO2Y2m0TMEDI zBcAkcpIdxBNOD^K-q9;ll~};OBCByD6nxJBei{rP@ykJu$r?h0%R9u_Nc@uEgChR* z-U@8Nqy3I2)<&(HPW?^_*r4l~CbPcTLTjXqFPr^f@05on`_b#49)^;{!3CLRm&PmY z;DnYZe0|SSx0TkHEHt4P9l(>xR{}4NJFTF$HR6~EKAsHdYe20RmLmOb*>bl7T zCDovl{r4V8(6MVW0wnuq$EOU{G{^YRJB)bd)YKn^tB~47LexT8)k0a+!daE_Rr#4w zsF_+wE#@Rxv9Mcf+D)(%Dq`KJNg&6a$1KWa*odY54ZB=KxzavW`p5D%>j3a+ca9V8 z$d0ROjuV^QmVgqsan^|?UP}Y;j7(_FL!8$UV8UXl#eO)I38d^6m8gn zH^r=ozmF6UVfJ4wXs$fKGbDM3?8i(gPgP0^wu0@8xf+?lqNb`r(56NQ#Lvva#!Xd7 ziT}y;Ds$0SEiQ{Zw!#H-BdKgAS<)~rB@P|-c&$|K9PST(DMTIr0e%}E>Rfy*v0EN{PqgBhuLufD;gRtVKGx$v&7@Fjp729x$5*o zucQ8PXZw9rq^3u-tYm>gVYOd?s zhco?LjURkm*S0x_Qk(WvuQ#?~b4qT{>r;ZxCJ3+08s$O^$@AhKdeA5KIC==zIkJo9 z`XMhSXA!CS_ph%k{W{8sH)>>-qSZ1(+meQOZ3>JV6P<=}XC(XJ!v`S<2#C|UG8N&H z7I*6O4l{rXA+o9BaNLq3wYstIQ|FiqMsm&{>PQsc+e)@5zKgTmShu1%^Uo{;_zxVM z1!s6q+U51Zx?jymg!h_-ExJgaxJ^rxoHh&Z8)zbe4&mZtV$5AN=FVcG41 z$~f3rfRulop$|d57F0keh=^~L@~BCOd9JtFo8*BhrqGT*Qw~k_p>G!fs)c|Gn1<kvJdLj=-UY?kl9am`v z;3GQuxzTZcL-9426-_}A!E41}>T(Gix49@Jr1tYcI+2x4f?dg>&plJhOAq37{FTU6 zbQK_J&T5Z3@F@_r;cfyrBO}^s+2&nQv|WY>i!>cM* z@0H-5J+~ZKI6maS>k+8^3`Imz#aYI9`uJsOlrY;sDJFA_7_qN4cGS`*Wwqgreik;u z#?ChM>J*;ZEZ^vf%JjZL7c7Psj_m9PC!CHyg$w3 ztdfFD(^J05&n(7Ux@oyTYd*xsdF-eEVrTMoKjmv;Y#@ATc)G~Ke#`0T7`WdfnWf<6 zO(&OTIE5k8mB=@tq2BIG3OYe%^h}`rHz8pY=O2E{mvVO)eF<|M(=GtxAb~IjMIZ`h zNul(!!5qj{&GIATur(hq>Cb(#A%K|5@Q|)rsoa6Q1Hn@+u*Zq9)GJ%o6A=+S1( zVqJHwA9x7pAf&i#Qe(37{lLJXZM#Ew) zi+K60d)jhT!Z`W#uz!+y8r;l6WD&t8V`b?OQ4|nmG#6Fu3y8x9cn|j0!yjhOpJbId z2~Kn0Wo2)9mK^y`a0azg!$kzz&-OYk zE6Mhv&Y%nk>=9Zfw?fMsL!>N$Q#=Gz-1swWX*=F2zqpuA6WO1qYVInpAX%&Ykn{eHr^-`Q9gzas9x-Uo@?t z)Fw8zq2>nWXbkl672G4{!G*zp5ciY}j|d{kkAtl%;>>QggQS8648YcV#U&ii+{=Q| z;p1%y9AEICd$d~+cGH@)?kEl9mnrD7PhJ}oXCS$otQrg5A+(BjsC>h2KJ}Y^q5ek( z4yAR&l6_5Q$IL5ApzRb+_eC|G;UU{Xb3j<${sndOrZ{flDWg0u|sdq;eXDATGsq_n|?<_5@o%m5dNZLex$}yTn5&e0$CmXit zr>}#w$tlbvwDL=Owu!2HaO{V^cw@8L+BLxE8y<#P+9*$4 zks8X$GFj^d@+p^=N>fXWSw>|PDQ?8EM zu|vCIJ#PyIAF@em9ueT{t)Bl-CuW#@$b?$lb>~5U7;b=Uy#8bYLd!9&+7v<(*K2mh@NLiaN@FY~$TDw2Faq8?W~eq5ULE@# z)4i=V+gkub)IA24e3Vep#)2Kw~(0vJncMEUD7W_9lp0EZHiROgbheFq*d z-!~FaSpn+#CE-Aun(?A%Axz(8A62(BZB6V+N!&>Z>H7y@Mju=U(E-yS0181NpcCo< zGdC9;64GKJKn&7iE`S^orxY9l(;yZKK`EdQz^DNpYSD{AV-n3api_&z5JMsmOx56N z@1+=p?z2N~wSQN4Ni^D0t4;Si##}p=qPvfaRW}+r}jH@%bE5QAPMT$;4rh0uJa(s7E2wo5!~b{xXO` z{!*;9y@<7BF_m`UML@@ZpS~R68daPtx)036Q;oP#K(=jhpKv65KDCTrW%vfVM9CBt zXpXXNcGz#-S7v;OulJ~iR+j$fO$4${A^54AG&EIo02C#F65}dwHD;}RW^sdGV--WV zBn@oI?V7}4@4zmC*w=S@l$`+Y)~q4cgBM>2Fj94W#6*W>&$)(u*}??f2CJ> zWq)Oyw7nhet`nJ=JI%hdCIdqlmkFxaNNJb?m+Umb0C9##5ONhP4}i~&($9+G5If{Hc`oPdZh!A0ssl^ZH4eaP&)?>Cu)p*G|@oP(H?sSe*Rsc9Be zE4@UqO|5NZBP8QDqzWZ&j;p`BCh2PFm8Y-iu@0?fZFh9%++!b_o(Fx*p>X>OE1pV+ zuAKVYCB7(bk7VbwRl_~h9ICb`{X=W?)ne~byU^I+%j2XdKg9QJN!4V1Y}O95+~Q@} z*#u+CT#b?;nRVc`wHIf6fIC^bOeP6qvg)sEjVGP0(Ge~1@Nzd^mh|Ga1}uLn^{0mo zJPsGN>y2?im9Koy{EohL$UPFPvE~EAav#JLjU8abnMzPOSKg+X3wt^&9CuAwzIA+- zy7$i)?(Q(t|A48lmVO+c)GD2lY4ZVX>J!gY6MsAeE}5jTj^1y+?)Rw`8%%S};V?Yti8(-&cadkWV6x;Cr` zz2%!~WBt^;rP%^`?@jOTy6}DSVi#C8$@W!pE5e4C1P2f1#m{(;C(FLwr6G6OhUIV3 zMS3ydKlo`b)H^Idn<^5879^*LR>6q-s$e}ha#)#aE>JW}v<@_-{`r+>#-cS~4U(kQ zyDj1}-<(%P*HIy-Xm|r5>w=I$5s=nO$GZ$iEYw{VzJVQsy2*EBrpjHK8={&GmjRH; z-m+9m0)lx3#(`ZT7x>X@b+lF#m?5ycCO%0mmCqIO8JA=m<4qz>m-ZYQVLNp7LjTB? z>rA<4gqOM`RUg)F$@(NV4M>u5d8HsY96DEd0#7U%rOheFec?2HD-a%mhh$oiEl~V_8|fT2e=$!2fnAqp)Gcvd(Dag?-k5;2uxE=j zt_Vs=Ql0^XuZ_pnQi#y-nJmwp)QW*hf9&w2QFyHE?1VvEOVL48g*(5L`)6!m=TfQ? zSPP)|8TG2BH;H84G5UM&q~nDj_?+_w{k_r-L_s4O)8^2RqUux=^fZgXI~W}f&b`k^ z4&!Qny!V?AnOG}jvhz?_Zne_M!Oly?)r}~RDUtj6Q6`uxwxzJ^7Y-*|t0I6w+%>&g=@^;*&wf!t+6A}3?!Gwe`gRjDmR zk}il{P`>!iP-+>;=+5L`PloKq)?>wUh^|JXsO!ppN%-qaDl%oU8{b2h#rAl^6v@1i zD%iZe)^h{s(c?*etPbMMK@{AC4%P;h(>}?``eJmG{AlJls_oiRESiUlr@}$1{yut= zF^ZbH{MBhKR>Rta7!f@bv89U-gEzb0vxrQ|K5Isi@MJVo8k7D`6>@J)hZ1 z>kmJVl#O4Uj2rjb0aUbWQG9$k5)&tGz|!h-AR-=n`SlM#LUfA|d-a31hWnJdfxeg_Nq|& z--)MU$lbWsjI7JEFf+b*k9QpltSS{Ym%hxSOoLrvo?ZqeuPGQrRDNJFrLRATJDLb- z$>@}(4~2mc{377P*1aB(94ZhCrT|pg z7ehum60FblDo9iG+0M)1kLSjUWW7%XjJJBbGI0C*r^*v)MC_r{?gV z3}&%pYR^*%SsQWcQ*J4UXr+Jx)*TDT)I#tCj2#?A4l(fP#Q9S%f}sW~<|4sVqm zKfZ4mElnrg1DhKrOMfS;Hd>TXye*=$g)r?n1Ir#^3~?{N(ppNBxSQMi_a4S1HtjB* zmBbQGx`Rc0|DIHbal_2}Le@s{+Yy~oeT6>&)yc zw)a|Z0MZB0kQlf{LE-#L!ap!AN>k2V6{Z$c5u@FH1x}@v@6RvjaWyGr^!$46!#Cyb zax($w7&{_}9E#xN*1aZ>srg@Bpv{*S+bR@%M#l%th3u>s#Y;{RlvQEpfd=W{WR?R? z;24D=%qV+h5K}Fa9?6jwUl3R4Vgcs!Fi0XZw2&k)FUm|9J;GZ4Ip9{W1F}EH2!d5M z=QgxlEe#v=Q)>8mKtUz3=@sD4m^-A19FpKZh}W38rQo8F9GVbvY5|@AMtN|#*#KpX z9Th|lRdBiafO(7^7eo$S@I&ifA4rR(05eF9TyS`dTu}%uj9gU+Elh(vC|Z>OQ9$o6 z#l}AlG^JFVosAS-T75Jggx_bJ5i_;76!4VEXyGe#)X)chd0HfV4uny&!i_mDAB{so;cdwq*(TnTz!~bZx1HWH1K#Lh%i= z_oE_MV5uu^fJm96q+egDH4<*57~tGd?tmE5QFg6{aXGb%*c7QyNzJ<-yYgq-u=`o-cZh4`-r$Ob8h@pv$Y~F)(g-af{_DsM>BHH(R)zh@&(I?F+;+nb{~8hR z1dt#icGHttp5$>E(72W|pgU?a{?(@wX6Z0q$9oUhG$Pbk$u{%8Ek`rnk*BS#J`YkV zEnAC`Wr&1-EV^bOWY<|`XOA)*XuZ9#K@fv9!+4+9QmcH8KKBw!d!>9^jzd+MqCupoUAVP zx4`s}LsFwYe77j?g%l6vywhNR7!*8>^DT-CHMyj7c|~E(nzm_`BC82^{o94XJ;%n1 z>{?~mO@{xeZM)>bIq)(=@^yrkc!?`D{#?_Z6gomQcigX&*`@+WN7^0yUR(_ljJ z&$^z~rhK0m@a`ZnR2$lNc}fnG3iTu#({}#igSXEZLEc*@kG@A|mY^WGVmt=daITT- zIeM-&mxLd2Qd;X!nsBcxAA=6yqezew2;wE|+J2a3Sy1czB$-9!zF2XGJIlvln@}?9 zARziwT`gySH);91wOMjpy_9O)Q;?r#AJIp`6{b#Wf z&D6v;@+^~Wq4yL;BZYi&|H||QHX)$|gq28tyMAFd?G$|gyj=n7@_eIhbT<~&RV+M2&p1e=_ZKPGpHC$=dC*;uSjhTnUNxQp`S*zE&ui-*div zyxqGHg5Xsv9~12tbKJ1W;O!-3N^X+9Za%$cN`1P8rxl*_-4c(4udgyl^RtyVs*TCr zo;o0i)>p}gY%hVNZXeH90-=C70==|hKCWAK)Q=w3arXfAzHd*l@?v6!qdkUikpaB| z#IZFCriP6)t&$>Fz91%>p5>@Uh90h@`^%{caplwr$0db!-EEWula_ z+1gAkAzQ1EeQj@rY$l8?TkH$AHI?q3D7Pw8)tJpxHr8-QWvW8`m8nv?_cM(XSBTtc z8pl-(y{e*K=1G%%XxxM~3rTQ2Z1@#ws2OHCO+Bsb!A_Iu>vGn*VS3`+-xRoW@LY1^2) z52oR|SUTRY%|QAyXkaYfaMYL>lCl1zo7SJ0S;spD3_b?_-muN!#!O_Zi7fns#ll={ zGX1}d{uk;0;Rfs9w;5PF;%o^H8kncQM-8kkoMQVw&eF5;h+lz0`%QZVfQuMl%?{*( z7E$)7H_!ItrMTm4zpC_hi0#*x-gdYB?xnZwrLv9vW!2AtByuUS!OU-GHuM^5n+*#$nE4#GO<%?0aX<9q3dOlBj|5q@ zsyv((7{lnp?!Emn*;(8gPXIT!iN&D?2#p?>k#Nex&$|RQ#1X!<9;h1KF@T(BGYy=FQ8TJ4MrS z|MEEDIgLsGce9mcRUU4bAk`ns8z9ItobrrspQoutCp-?@ER!&U`rFP?rQn<{)DMov zX?H`}HmMn}{Ob?TY5(=()k0zdrU>!lMv_xjDq@Jg8j=HyTPn)!rJyT2Ayd^gq;p$+fg{x}RZg_f8@ z+Vr|gnO@W2x(G{(I;CTULEmpGf_zq8AtgcG{LL3az~0rCfOjHTJF8a)E68M)LC~)P z@1o#S7=D0;7b>zzr>To6NhQKAPK8KyA*-)1WQxbS{T{;Ux9ktO136hC8g1Oy3K18v z&@gcwVui@wlBnV|tUqHC;Z4VCG3mH7=vn9!P67@bN|cGDW8aDQ z$MCMUx!m8fkk)c9U^(|{5!rr)NBs=<20R-Q?v$jNC;M*~|sH=cd^d{cHiAByyd53mR%Y)?)Wryytd%I*=iM!5GxJr*m5OG$fsc zTK}1A{i8v(zDsbQEx6w)Dfvj??BGZs4q&^DO2(cVV%0~O&40m;2q>IG-r5Lz4xj`x zfzw|sy{icK0e5o~+ygFiyoF5E(X$vf2dJ%y2>1U7i0@wFy9l6;(?L6>@(6NM0J&c= z>wn@ogEIZI(@aS6KboKaj{-cd0go%d6B_V@0z8c85d?U+R1sYTihfe3e^RA?N&}u! zfTuNp1BaRJZ@`NNCM3{xLj}#Hl<*Rh84Y+w0iM->XBFT%4R}rgp4Wiq72pL8 zctHVP)PNTi;P1M6fA6$|i zsn4P})Mpp@f_L1ZpwPInZR-f0p5-IJnf z;Yw+Im;}5cXH5DBx@p^+T)}2n)zk=6D3~&1S$73}n%<|v7sE%CC9)wq$Iw|y=TB;k zA-ifl^+coRDH6v1!T>|hEZ21XZ9_Uk>&-upo`F*c5AYN z$Xq(L$!<-_+hr1`-niojxo1VgN&d*II(H!qBGPOZL2*@xYjq^W{ZhzR24HExrkL*a z1gxJiEN!~KOtZO3mU;1ZrrEkZPK13B$ilX9K0R+^KfGGPzFX$Wzks9M$(+bN3!r9x zDK4Z|keQVSyhLUP6V1*CE~8EN8~}z4H|?f0QTi%S`XJDXT_us^U#2=aO1rm~+z#LreTmrFy`-m?iVAb8*yNTd5-a53gQ{p*W8QE>+dz;#S zdnn*DQR6<-F#g2&{2Tbx!0+kmwAzPj0nCyp*^^VqrsX6pQ{WI{gph`t_aamaNqLdp zQ!U%%6gQYyUDVOU5?8=NMJ%m%_^L;IP2zV=HSh58?)GV{@sDR`cm_$vcy5HJo?0-e zU>~m5QRjlw(ss?eDGY*!tc{gYfOwk6s1yMu)y7LH9u3zbpuyTiwl+E9eQGcD?Mza6 zT*%l|n-sSxAr|AlYMfV-;QBSrQUQf~=?yhfso714smf5Wnz&GOqD0Yg{UY?52+^xI z5G^}KmmwsYj(ewr`S*yM;r7a;FP-i_j3v{2Y<6VQSwOgiOfom2HknCgoSn0>p_vHN zKE21=4XIceE#lBxyr$B90{pACismTQR#nngnVO93uU5+bY88F1DpQqlhQ3bS&Ks#e z{>b00F55^=#2W2b@XfOEm^a2=E!w^wL_A;8v)U{_L-ZZ=E)>_R9UM9gnpTa$?clg~ zDM5kr+rg<}jUg2Hg<0AU1RQod2U6g-q4d{U4T&LjR&GM%h+am-FpkVk;O7x}D>uZ> zSp?5(-__S?y->uevfO4cly`Vq;KjhOqhtR_G|HP?lm6u*|gG*LWI|{0osKVnws=hk!;}{$}wd0=JN`RIJBz@(`wz?ZP@9 zJ?G7V4uko&_fO&57qALuQIwsqU%>d^1sYq#8_BT=m*8T&v`Uv1^-DbKoxwcdzd&41J zketW6P32F3p*g-b^g`33$o~PF5!Rfl28r|0!CK0hiDWYoH5yBagEJEF(KZ3J;@?ek zY&Y*pD923y{@|qxe49_~GBIUlMRi7m=$;MzNyA|83m`8>)}qB{+XC1e-bHOw8L1m* zHEva7M1{dbg|)b+2%Xq69cGeFAjVZjoN-|pE@JfVZ)C&rZ`Q^?lWjL z|L^oEdO3rpEP9+1E!oY&UjJ_FS-EYneTr1FhfW&4LU^`kQgC9@W?|opR^mD}_fHjK zlaff+*GB4Vqs4RCWFj7O-+{8RDqCA!@QIsM-vHk=TrxJQY_EdyXJTBkGf`gU96@b7 z6EFGwuT8XB{o3-GNG9P9lgl@v^~2~5rceZXQrzI#nMB6%&I4PmCjMESsm@egI(_K5 z;^M9?-7gNajzqsK-;fopAGnih$>GqIp(!Uamygz_3O%T_R887DA4)o!3b=(EQ<)T{ zpud^q&^GL0qm^qbO)FC=EvxK(&M>O4Fs#!nV1~7uarvu8`U|zLdzNDFVg8U~$&%#; zl3(4ov6Q0qC1Yqsy1T=%Xi532&{b@}O_I>9K%&8)bP~ZL+A_E8K{C|bPjNC<&A*OUz_`wN7qW3kXqL%1jkcq` zSqSOK+UG)}&z<_L$(hE8hf3$kX*?VE!jEsnhj|?vqq`ST&RnW(_k`{5<+t;?b2IGq zQf&j0j{mP94jN60rAEKkz|o_?r%9^Kh~>4NReinD;|o6FOyMEM09j8*4RE*n(C)=7 zmMIsrv5<7?9;P(X=xnNxZ#dCSfWvSy_|HKvR5~6q*zQQ)!)@D%O`aM~8~T!;Euu75ET942KupLhCy^#ag7e3Ml|$xO*;AwCNO|BgHjH0T9F8 z^Dqp117oK^+)c3zpu{wYK`naTxd$cz|%WaKOXpM$GS;!ZpZ-fTXCaFUzqh|WOyc-|1~ydk zi9&6*c!2n2Za#@1Ehq8O;^t!zo+RPp5I$DICm?*hgeN0>qJ*a+JVnCO5uS!HDzIlY z>-M6?gB84~oDnRN4!d@U8hjuR4s?wX@VaW&3ueXLDPPN61kGk3QoIpMx*2?En!(LL zLp2Gon9y>Bq@EGPx-YZbh~yjWJwWBZMl+ueqIp*n%@-h=n?N)GG2FcXDc;j5)*;2s zNC6PT-3uv2%S`zo9^NuSq{WZ2n=aH~#O>g{sqtV2z+MN>B|2-F%^1ty zDf}1BXD*n-e?4S)3B2$KNhFHB{dJCGb%EY35Uq!+ZG)2`&uJIK>?TF(^5zF_zZuWarLdst{2Wa&T!F@vbun~$qKVt!1_O=MfXL816;MxmGiD4xhcW!p=%7cE2hWCs^EfV8D(C>l5>B@+QShysMp`i>qY#kwp!Ni%v&wBk;18A*g3rDDx468 z-74u0w6pFK78eV<**P5?X?M}Vfp%9N>}_|`!7g@p9ZcIjbdaiB6A86LZ8Sy{DVDI( z)>|oAr^;||gA8wx95XoL^qi2aGH882i_uqhA<#+w9rVh=Jgr@M40ltcqCM0mGjsLd<`sp462 zm5Q+o`D!&op+ZfVsZ2@hWO=zByt+?^-y-g-<*&~N`z@BSv!U#nWG~m1^W)3`vY|A)LCcKdn;M%qug-vlbI&U}+T# zEv*EfQP_Cm`^OIfvxe@#2yj-rmW_Qi3h6Q$(A~x_ZM(#wLUETuzmw;)GCQ9VV1X&p zUQ8VN-u5SA*g2i!jWLz)OgJhxVn(r9)_bsWNabD`5Jg2H1LG096?z?HYF1N&vptG_lf`Wgd z){V@VAelG7;V0n|;C=@^AK|jW`IB;~|p8NXkM zC#O|TIFN{k*iS^V!-qr|Oj9*B!%dl?L%7HIyv(CAM=EyB8h8WenGE)(21)4T&HOLS zC*HOuGuzG?ZggtSkx$FdB+|*QxY+GmU}mASk#EV z9D^8xLb*6=>p}y%`4nXi5esZ2l+Lt=`1(5FpkO-zx{@whmqSZ(<1wa>lfivSaF6EP zmCP5d2+6j~S@o$H%cbBv(D6I&Cj@t@Ecc!$`w+QT9@tm#j$%uRGf*52+@pbRKSJ@T zQ$m_4OMA8sv8)Z<@><86H-;Z$^wT@-QJ7Um&oDSw7 z$NMv;mA=jQ&|7Xo3qPnDcs86kG)*h&dw6U7-Zb3a3K6HvGTZrk*<-*R7&ZN4y*I#I4V-w)Bc2>Ps+U$HTH)30Z^jZYM*`NjbK@2TkXMKaFWf1QdUgu zyURY3dI|43>3w-@?G*3F`pMLJYASg5HqKj8aqj`}u2Xq4yY29jA0+H#mUdIi_w}vP zDI)nMOER^vC4m|nevz!^nq({Io=2z`ySZjal z`M}bylufJUL%c*>ZPK<}o0u&Zn=^NV9v7A|o62~K*Dol+doT+7BdAFmClcaOc7VG= zF9|mS$G>4o2oS^Fi)jYnbzrJc8{<`AQp$38UsAcgS{~NPmuwq$H5!hW`h8})UsLJ1 zK`DR#Q}q$}yle+FrTzC##dg3Ya2-z_{{z?r1f=hgg>`BB>G3V~XyN4}ag-l<8aA8J zB*aK~_035vMi0K%{k={L4gUxYe{fCWlrqM%Mt9|J9c#*iwahB$4jV3|x&2{5?y9f1 za=QtyDAb04Nk@PoETy19OVt_xa>|-^^{7$bxD<+8^c}3>{MOU3(ek*-F2ebwhse#Y z2b&-n;SOsa^qwQU#Xikr7i;ut!&FL_gk3)j3%7=WBm;O4GoJMWt4$|2!FDF*WQVH| zH|aa9m`TNm&;CQ{QsSVnl|op}pQz`jcpfkB^#juasMqF_7U8mo;w=HquH-%I&<PvK0>`U{~@zZT$#o!3FOt2m+fqGYKcQ! zUco-DlP6U&^j?r7SDpjHCE5vS;M5R+-eg0qZB1S_KEr+=PvXN7tZ?8|cIcDhKV`CN zOaEm;-R(;=K`}u|7NNTSGJ^Tn?L&297+TX`1=ts-X&BneUk@0LUJ4A2>;FJ77NP~l zt#nG{#lPrNv2q1j9J0Zq;KVucsfe4?u#X*`C-<;5C7AjA3rTD@DHP*AhS$YruWDii zS^ism8eT@%F`2|Tdh0b{y#jo#0beV?HyZGb0(`3h z-zva&8t|P0e6Il#lp-m9#t5*t*#E``qBiqse$e0((ZGQFdd>O%X3MFKw@f(VSHfT*}@5xYiO@jlOI z*ZDG_oclw9{Xp2K6KOt3-z=Vh8xlp;V7d)pJU!%TWyMx1S(6NT9q075iA=)wCQvAo zD4qyRjtYe*aad+2KB)Gc0wF4;Dt=5u7?%Y_(t%oi6lpyd(Jv)2%BZu{;53 z>NJc-)QhjpkSOm-dLR0->Gr0Vk=J0RtBs6UL{FSu=TBqvlC9z3H=6Iam_z}-nqr2< z=XAHvRC_ZmbpgmM3h)qt@~^Rn;E{2>r!ZBdgV)ESrE|ECw52lDjSjtvOH6gSpS1SQ z#f|J$kO_sPFw;9W33Ieq!L>5#nxwen9fM+HW=))NrRDMvs?g$0jEdsZ#Y}L|J6cDa zt=R1d(GhF5-d)|9_yW`L$=ED;8k1n5tK&TrWy@|hc8l<>=uByjp#QGYoG1g%BKDmI zSC;hADWmTYBhZgPMtKo7;0IMh?G$OjryR2d*-XokFZZovvD)+ovMGzR!5)Wgx@Xai zxXjtiwP2L#d!JD*)|W5wyxz4^sgxS`GTrW=#a>-5X<@fL+2V6l#Nt@4_&h(0FK`v@ z;)_wX^y*2e9n;Ivqxce}+^ccfZK0>cNYUZwtN1QlbAvsoQls|}Zm{L8{?gdh_p)1X zUx!0+-Q?owF2gc%>2zDXpIla6ewHiN-H1n&4GIq9zKpeLDp=oZZ{J`t-gCHr!oGAm zt^Z7$IY<&GAHYEh4lP5`UMzpcL-#MJdjxhIt@|fp971FL74*-ZN%8J?6DWOe)G89S zy!&y2HII=q4xrGXe{Wx%=8hoE{*s0VEi40g(84Vz25rQfn1t!jfuQGPVYrM)hX-pa z=CxL8Gre>q8t3wGx^jGymkXy-W625L&^UfL^imrwOtfUYHp;Ct5gB_?ZyK&7b-W8L zcmT;L&GoswbyIMdiPcg)GE#@ynEGanzp1YXlfsyH4*iAY{Sn{kDJjtecxRJ1X$R!A z^E|Kb7szLPuFju!y7qOpD~QX#GI$@$B*#~_?2ceVSND)gKDo9p9z46c$5bj`NPFw~ zp?L#VDx*w)DN0&EJbm6-)YUBjxAi7Tziz%#;gqHhv-mRBPn^V%5=wL!Gja_^Z_Fc@ zGC7VW?xCTH8|Od=8QRWmJP$du`A6W<#dL?E1zzFR0Q7xwW;!qNJPZG*rsa(quu%bw zhyrkc02LZgp#Y`^mNexIUKuQBr3Xs--v;tIWK&1jyX+V_%RBJ%B0%SCR1KoV)?o}6eXnMDVC{oRc| zJ8N5icRCM((J4dwj=PZf(`zMJBHXmM%lCuJeM^TuRks}i)wiE-)~>@s!lQgERmf#h@-2PUSVqK3 z0`te-YlD9d*fdFzn6Sn!5RLh#hHP+Fw)4XSTf#>Sv1t#($J2i}x66loQUQKAy+ht@ z4yD)su&;&xhX}vpxe@lzuLpN+D=#?xl{=hB$S)L85|~p;{Lu(ZYMv@=8{>K>mEW40 zijus#>C8&A^Y5@`M|sofuUx%Hw@^eNC+%pASx}mX&#PdcMj1T>_5ww2W4aRp>89R4 zm^#wmVFC5#8Yt~}5SZ>^NZC{6P>IgyEKzP)XXRbjJ}Jr>`FEbOkZaUE9Neq2}rCl;tJ`iT1mhC_s63wud?ZrIMIyI=4{ zlGF|eUQ&KVi!s+}$cr^a@vj(0hro>1i51_}C50;5)J<0(7Q_sm26W#2AI}LYon`Ykq5w=I``Rtj*uvrH*Dh-2L4}@Z~H}(>2(L|+US{DTu zfNxajIkTyt`mDF=!|wjV7Oj-S#ph_*#dfhmx`ne033p&0U9ax`zgt7vJnquPj?TE9 zl#R{`?yU3+i*S31Bw=})gd+9}r(D2UlFyw9Wd*&A2)~R9zw8)(*(>~VK=@_9;6J@lA}G*+6CutPVo?Vm?u;!TY6CA?3?7{LSSb^$TqUPWaqyH%)$yzMJ>%-BT- zm9(AWQV_>mSm-i4mr7agY)lNc_cnt@1)#L;y~Cg#15j-w*3>uNv`r?`RQ5Gm`DOj# z{53~?&2+~A*;;w3s+|V+6j8Z1z72So?rxyCcO|?B!te1nk3iD(sqxOsER4APd zNu};uD(rWFc<)1}Ti4Iudy+gX8u87|}cegKs!(c4idx3}$mi1+Tc1X$bT4?aWP z?jTu8@}OPO(6^#4qV_^|A;=QmGqW0ZP*)}9E_q(as$qv4V>$1;3b{w1P#4ccZlGm} zx137MCGd9 zos#3~HGl)Bm~Lq`B-v%rvcM4Qy^vz8LNNjnQGq6m#$iD?ycLcw`#~f8qh}p z`f5O5)v^aFpD8zlT9$_0FN8;jo$~byC%-Y2e4n!02e!k!yG#*xFPPxCckmMVVZyk0 z7Lwdm8TfzsLn-)2)yFrNvyK58;{mD)c@4-bKtTfv3eczljSA4D0Zj@pPy+@kz#t76 zq!ysRRRhx1<1or+H{a%d90)I+f3BdaTmie&!4b8|_yAT_tFg%l5X0Ro<*YKwBT>Tp zjAC1d=nQ{FhBe3l5X0T8upQUk@*h33Y-Vz3R$|Yd@R5bmxF~E`W0rGpd^ge9%kpz) z1=(Vm7_!B@#T7Wk^943Y{XHqZtHj4Mam2@Sac>>PsU=XnOYGwFB*Yox-j`9n=x^^# zLY!%zUx70>mj6JhsAMLYh3b{pS4pg|)}zF8xSS*wSzk*OSAhy*c64W3eI_B^0n3&r zjvqbSm>Y|`->_-eT&QjW!xiPbw7=zVe|F#xHJwSLD(PG%%Dzh}DBeuVlT~Iak*uK7GaqS*fIFw&n$aUWKQWs|HmqU=-c9i~T+ z12GLIfvv(MKw_l5*x_!px&QN)-*R?Hg0vS4b>#1qQn-vJCo2x!O!xQ9@;K&)sP^+_ zlx!f|`1|*RThOxq&d})Cb8=i|$T=3rx=5zQG2Y;J z!uCDfUdo@3vVrMk#0Ti5`7oo`A;u0$4+xL#%+|Kk{BAqN0JqnG?b}TZ{|HaHtP6cy z(V+4!_c6T7t%i5GnzD%?VuRcy%}S*CxMP}VD9tCENMnc6e7cD=PAJW)z}sDUni$e_ z#Bja2U>Eq(uiuS^uvv`4FUqdmrw}^Ktot-Sig8NpJ}+U60{2-pUp-nrU+tzFayQko zyKBJi3b2O;aA2r>-%S9SQKnT_Oj4+27nOKVop?_L*h>TUQh>cRU~dK3M+5dzfPFP! zUj^7t1NIYrPr*K))tvw0pa_N?=MVX8fFn{|iFu!cLBuN0>GzJpUQ!tnU1WUWJpTtgzUK4AqE|p{D;q`4 zr}5dK({b&kyA)$=42_(BoD*VblExj7>SVBl^E;BiWH**J%&L;zSW}ZRM%zH1ZZPl7 z)Fmxk=~ODi;xh7rufuL~4oCg35kyZwW=aQxxqIib}5TV)PnO!s}*& zEa&!W=Ju+z*$ng)Ik?B)cm}j7!ROFl@A5lRc$s!~c4qUb!EK^#`~JLU4GQeEg?0N5 z+OgEWUxZ(d2I!^Z*e?RSEL2`W6>70YpgQbg8IeG7L*;UYdM8ajy*+%cO6z~ z#<=y}HhL|LQ)8)$TB51HDT!LgMs#|w+QwdahW?gDSuB((rbzD-O3dGh5ltT&+`5Vu zig9flPm?FRC&9oqI_NgDCY2%lT$WCsY)@~ntfNRt3BWk%RCcZ}=}MT~V+ z+DAOUb6XE|O!qOSclV`A_L1=dNQ$V=PO!R3J2y)g4t8Rq0CHr38s5qmxbG(eO>X=K zx4SL(V9LB5&qN$rQ4!2foNLTYsh$5|^*i)t!K7Gg%TYUz)|!dN;VQs-yxfp}86A^j zr5=~%h`yekYS&X#A)Sc|j9)237JPW9S^Qc(Q&ono?Cl;UoK}J-cfr87v#tB_O0AjeL>E1d{r&%7P0f^y}W)a3FCQ)_G)k?MM zI#^Fo2M78h%gE956Y=-*DGJ=cmdbX-TLob<|Fq>#8=?BlGQE!o=x5J`u=z0v2mH_L zZtKqPfo_IGw4zd4HB?FgHRfw=zC2?g=?^yqXDxuEBv+smS+-{t69kKFz|Ag7Yw|XLwExB z8>yc30ENRrjkFhyC1Vwz1I6&t`u>c?|`vWSp5wSDeV=I761*EjG zeCEdP$IV~rt#1A=@CDQndQ8}yW)p>c#J<7p1|RQMsCn%Y>v6mW9s?7grES;#kL63Y zWUIv&+>dDT;=Pt!Cd=g03;A2d2Q(SsJ0d@mvp)d4TQj+s9?256e>*DYRZ!4-z{2gF ze=h;Hv5f$Y|KUXe2cM`^aX1ULk@5dKvX=dQ#8RzcRB>xOF74gzJbI|HGFR(XE%(#% z()~W?!4~yuR`J!mpI7_u8h~ zm)rDAv)B(}!PH2}BHgX7VzqFMFy!WGnl(*R!t`_vn6BsodeeTOOV+QOeN#1tGWkKd zUVn(fEP2JmrpF2P&`qODx03D^{%h85x(w5;B9wN9tABs@^Ob{C)6G=j;2ry8=%y41 z*Z?aW<&!!6M^%+YRjYD+U5u~FEouM<7MsmpMEkVdp7InAKwSZo7|U(MXv|wA zhs@V)qxLk|C*)x1fJRrI9{axRt{tIY-q8`dLN|wrX!!+T-dJ6*r3#SPu1fiHt*fsW zzpb-@j5kF3D5-cVk+?H-)EGYc*1Dho(8%g6dc49glgoORiDVE+8V;AEVHS$DjWVv zO7)MG&R5nNh0*#flxggZx_u^{F=qF9h7#R9?gai&0&FeZ~`euh1j&J>1$(Y#)$}e%UUdAIqz&V#kfux

LE)OiwZHQ+7Lg#}q~LD>7V2B75wMdb%BCvpvfWQ&(Ux~aJ3!R-mVyuuwK`;te` zxi5l}LqJ%9r(_Mo1G+{OM-Gbrlq(*bpHLO*0h7Un_htfV2%m<22^aAeyD6rcVWHAH{!?03i?pP@#fI z3ZQjd0ac^O@cVS|UlOI%G%Wd56Cr>_aOp$DT#oiWiD_;jz5UKNwHv!awaaIyAvl|R zE?T#-C;ERv24zSwSw8U5vYasAleCen-%@7R!V??aQ5w3oXWfaJU60~FKS70|>akBx z%mLlBZ0oXrB61sa;3OLow&toLRgHukmzMS0sUXV23vucFP>lEb4+pib9El4e-r*1^ zP@`C!FDU~co(Wt5fzCaE7MRMbKU|C2{;WD zv`rKQcDHIIq%3vq5z)PvVW6VEP*J4spDHcm+OwFTCU1-yuDAl91cC_eL+#RDXKZ4- z%t(v?MLB2)+%=deKx%Wcm|Gs)LZ&7Zd1|DR>UD)ZrK1bi2%XWlP3u5fPk^485tEF%ZS?^00WlQLoGIo z;CacZ%%xQij3q2M14!UnRO?bZ&1oH&W^4^{442T+0zbs~5M?nhU+JIYn81TnXh{>P z4OxRi5o*p$&!!e?);+$ZX;fsdq(Z+GX$66m@GW#609zvWpnPevGPCjR=$p~&*Jx3+ z10$-gPrV7yn1he~e$F~y$HzdEAMfsNKyt&s zx5mwf+q*VIab_EJwr~Pr-c0rg!xU2icsI2#K1$euU3LiNCgB%JAySLal${e;^TomP zZ7<|tlMB4D=d@ylS_Xuo!ULVi^QD+sN3e&!oe|!{#6U#AfY;?k29OkYk2CKW;hLR%Bw6TZm3-Vm-{-DggVZ+nK!VN2IWQRCb9n& zRBO^Ugy8o*;&W#n^7NMBG=Vv`5<1<>ffFnn?~s1ZyO9WSk))lG3MoR7+am2mTwo`G zgraO+F%?(ZdnRDKY~#_b7{>xc__k$1ZUX%ODU)^n@me4&iB!JiR-(=u@JpS$*4(q* z;KZ_o;D}O5Kl!$zP4Uv`76O?9K9Wyem^0g1Xdi2shbZyW$4l_@c-R0&&TN=8XuYeD zO*n&r#jxmV(?Wf6BNFZOl`+BZRvD0RQ&zNzde*nBiDxOgBM&D7h~e6=<0PaUH8D`tU`UUCgjakTVPShLvs+2gMf@??m|GWI98Xb z&(-Q{Q8kJ4YnLKd>3UTJWe#P9YjoEiUthp>2z z-W+AFEXuc3rGHjfT^lH2k)^zYqb&We7$k(wj?zKL5x5;^PK4{G0*lY{UGRAL12zflz&{9dcrWdfY( zF(MVc`AbWZPHJV>K<#~~A!@0ec1znreRqW(NnX5C3dWx?O8CTos8D8~+;z!0RKSPq z8C`krdEyfbBAP3TCtbA_%=A+S2(B!q?W#h)6sCn zq?e6}Q+DIh%_EJfGVl6#=@KJ4*k19u**NejYlOBm(m}A?q z1C-**5SJBG6>e;;6`H6AgwaRS<_vN(A=|{#&E$rc=-frGYL{oOj9#h%^-f&3r?+EM z9B1v@hIpDA`}a_wD3~5jY@Y`&lQq5`U`%7;K_wNyE97z7det05lB;sPxsU(<{JgnGhx{HCNKl zea{OLOM(yx-^9vY($12iBa}Jw@ZJ$}Txh;?<_ETZRzo24<|Ny`ORLgq6UtaxokfOpu6{P6>A5A{JWx=nhw|~o%uo768x0Ff_)wdzZ5!;xITo!!u z`vakD7$H)L9JP^PMJNfWDtHLKdvCi~C9f$ z+-5F+S#xA|)uU6Ym-6AZa_>!9Xhp0SE9if??PR@|{EYF(z?=VUyWhO2vgjq{A=F+z z+*0LFi>5GSokn1OVmixvZpB1gu*dc`ha(?SIKjT!C%T#M#ld;m(f&TU_UBf%2LsdY zI@-y#=XwqAM4c$H9T=Uq)5UI767wze0}@)&wNRj%Mw8kcR|(T0M>S^#bG2}PxDk`U zUe@gdrpBoj%TzvVI{{29cRTdR+O-~8Qbk@=qUMimB2{2xN;)N#Ho(Qgv8{B4sZOS; zHIHu5BZ}W#h^yGLBG83eZt^;qy9&yPR92UGBQpxB#lq)VxLOE5%fu*Md z4S3QSBq6=Xm0?ytAl)D7RHsY5aqK2eN;HW;c&^;DSfSSNvU2%d)YMDXlSMe`oWpSm zZi-6ptxHpv`~Rk`wALbqE)6jUxFuXaw?(udE%J@w*_0It9qr zMa-SQco&~{s4uB=(qo1-O1}Ev6{J$MYv9&vo@Cj=*$W+u>{P9xO?@Ktt#NvN*Ui!UUwe#3pT1j$SKXQNFu( ztk#HX%-CGn#^Mt#ZTX5;_PRibDaLEMU{t(^=2Rw>vIpZnf3zVavzgTJJmM~)T)j~J zPr-+mWKdN*@tCTWGI|4RX%5TIt#lS2~~s6(3{ z5?EIAu?CPyky%&bzaL=N*BJC#a2)A}D(!EhtRC0!qUPZibJ&9^OB_SqmU1D*<4cdh z`Dch?0vULC=d*0hI4$a!MPu$A)A(>u)nZope2UkMVFCF?x5L3l8N5{P)m{khc-3`I z9M%@yJN}Tq$dN$CR-`ah)FK^bD%GkoLEs_Sl7!S!zVyi57RLutZdS4hBu#N37BY51 zsxv74A4jSvc_O^98#zo82qO$s^?1O4j6AAu`d{1sta2zUyFZGfoD2z~MKIry5RP_2|@np8(;sfkD|+^TD*;MjCgQ1MbQjKjI&idK#bL6$|%~gVjI&c_^c>%rUjGX~9tbG3wk2 zGa)*)otn!IFBnea4Q%ktrZ%?i=QX{VX3uIKW7~a1)3Ac$N#E2yplJYgawf5TZgYn+ z-IaHvhcdad?LU>N-86eF^Elh~W0?XLolE?x_Q6bpsDpz^Ud86ljz$;6_OmeY^ zjdaP)5s8BF=)~16XL15j)foskVQ4R3TZPavc=YJXcEiuLs9=pn%4ovVbIp~?=Z(|z zPS&Lz%bE(4Iy zcsEharT2G+I9F5GbG!!~-^p6k`{;Vly8XiB)2*DaERVUxz&FycJ~FdH+P_V`~@E*JS_ZmcM20mRnoSjIjFvQHT#Ia2VAf@M+sO%t%YVeC;?Q<}2zV-)8J z=mu|{z&yC>#7Fl*IS}R^x2sfiZ!{dGV3Y8Vw%gdWQsM8oPv9Q7!+38!+1hP*&r{)a z`DENGAvBn5tA;E%0@)Dbf)(8X8RzvAjRSzSDK1?LVv=<_^SRdYhu4C=#!hb}Dd?Ub zNl}V|AXua&&^ECmKLvS7%525K> z(myW47E+nhlhAFgW=-*qlFd5T&7xmZ#1#U3t!jE3Xhu^4Ee@g;VMW}5*naQM}pHxDS(DK2|gLIQji-Wk|Rb&%` zNabBcnnE+Va!DM*HRglsEJ*hwUKdkp9<60~HE4iC8X*z%3593SZx^$k5%iRXq7ecr z4i#>3vDr%Eh}e(|>jXB~%!u95NpKmnaw!R!rJOu@w#Ah{kqX6tMjx->fLwH-WlAmy z$1o~s!Xe9qX3g%tgfyEWsb(mAEorxk9!4Ypze)(eucQF{DybkYc}xHXcXeah{;vS0 z|E693_M3PlkYf}%l4b3zGjDvf$?Yb#*~0~&QWaz_;JW|ItGsHli8Y;A);{Puugf)^ zpP`Yv={%bYxCr{*Glt+N)D@@+B3Vh}SD=*}_=xT03*osP8=!PUJZ6N6f}F8UQN|LL zI>jn*-Ak0^eq-R&VP?6nsOM{!JY{WEZH6Jv7k6I8rDw`^_G2fK3vJDL$(hfqp)GXt zmi3xoUuz`-sCir8CKiII?Z;9sxq74@%Mk}+sdP?%4Z&~EK8?8nV8>)#Z*eGgl47#av>{I zD^7-jy+Prnp9Obd@sD+qh{*{r4jks$f~iF%XgW}`F?4P5JL5qOig&z+2j<_^%`L7$ z0T2{g&7~v*Nu@)n71Sjbg&Nd}Yu!HD^B=rf6hiSqK6X&{1^C9rDI9xNrLvoIOsV(6 z0L-CW#>~1FX0{tYe7FYN5R;=~vAesAKh{7rnp?F(C}=5~(H69>Mr!%wv9KEUmB1{4 zONQqN<|6|zEz5fOJfL#x^&u>0!K%F`Su`sEJ%0Nc_=fmnMb&jGKbub6H;vI)Y&h^5 zNu8REvbLY@i)EywPe)N*VzV=m0_sb@{_sPtdbM45T9}~slii+MN zqf3n~BR8;EBEQ~Dy=WXQ=}k%% zmlJshR04ZEWGg&5ay8iX+Ry!*Dyjz02>KagB_%v6 z^()uiON43(ioN5gB%FyG)#`7dc6O|yDb+Vfa2F}iR4yBB&&hzv0=)ruNi*K=> z&YM@SUmd;r_UP5?qtC86J~YAUCzf+4CprWV-yziWfiGbdhr|RV`i^!6^JrO?pUcs% z->OQC78PM6cAOfhS-8~{;nnU-tK>J0*-|m$)PhHs{C(&+AN-%Ea0#9#?!Q&*aAwCz zmcfCIj^3Z&8Q+Y4UjtuH-4(8*UEj_f8!T12_g{D%D~Q3%t>H|qYJ`7)j(^LX$vM^; zEG`ud^`x~+?BXV54gs2NsDj}LyTH@mlviQ%I4Z$Zt-i#|@M8_^QU;AqTSS-ywj|Vg zTr5mDl1mdhoWniYBNI$9@M9N+RLgL)3NKCKs3WNB7#wgtOCN6?`u_{ca$0(jua5mt1I6^hf7pzDN>Bs17 zpjaqcU_7e<_g2VMW6R%&fna1aZKxU?m1>pmoB2S}_9Y8dSpd#(VLReGv07U<3Fc#> ziz*I7hu;Kr*x2o0f@7*moKY#q^f0RHgF_c)gHL6tWY7iM$e=CU^XOkZWA@hr!kAi) z$!K69c*dq9bbWG;2!_u-i(PR0sgYjWSw2&|lSIN#x|qhYrdAY}jW5wyT>h&ac)eC~ zP%#~@l>#fvFk(<3)e_Nb{}7)7+0X%47m{=n=|jaRd&h#T*Gb#QBXu2k-5@6q78I$P zFndznAx4EpqGQcdi@+i%U`}czWwID-cM`|dKqaX`6F#`pG!@ZTjqj#92adLsqSDG6 z%g}gB+j}nr{H0rYdr&J?ZPNuUqz)H>_+?d4y(W-w?)*4;aN&FGvk5tSQQ>6FBcbo` zC6nwTgTI`JS1Nu(z3+M1{ZJ3>bxG+{ZH;Kk)lwUxkgpH za0&`=Z{VU)3KMa302~*d4-m<9T&>)o3BiLkt7r#!25R9QzhBYA6lT*+D&dH6IH9;O zamN5nRIRsK_7T8}Ufq9&xW6$L^fKQ*6c9WA{1p5sqr02$zsFIqj#9I@ZXaSzO%wm^Y0RbrP zA2op8WCptqaL#N#_qeWR9_68md#r;U4n6nKViTb#TSArOk35;oj>mH1GlsSss@q3q z9H{Fk6d=4$hVIOC1)IhDrWg7R_3_T0ich{%Ni+EL@ybvUOfuf84aO2JYebeB5O6qc zi9NHxtG9eWwTBDG)OImQqfzMESbI-eK_hVqRvsZM!992AGi+~BC+dWdy?30R<`Ac$ zIw=@a#R^Bj`Ud>l&h>qTpd6Up^*(z|;UfXJdO}3rOBC#2rB} z4A=O0aoULGYUysS*n>GZ@X!^$F42!5fEMkZn2{zlNV zc*1X-u-w=Bkcp?5DviukS^&&}5FMjvt)rzk$0#y`oern|0I+be`lxLgTJ=#1$? z_CG=qwt*YwlnznH?2GOyp?JbHa+Xys3lpA8Ov2BsrIDL@3`!ssin+V&1qU zLZkI4nmXT`GrdNrF0T>-*?`TW1r%=&8p#^HJ{s4B`Z<}n`gp8zOB)VWEffO)Pr>-4 zf!ehYhLf~>Y)S&|bnk0dn5XkGO4B)U98AiPox5$u(@$uE<4V=?LTfpAUeP7goUJpv z?pmv)$HhhL$@V=L&Q{t>2zFdkigFd*M72yCG>e5HicSC_I)5sw|BU&Vha z-|O0`iAi^BtwX;g2k(yX9DlWjCvR=oojUrb8=tKXkB0U#V7Ux3+k->;gYpMemRdf) zcn6eNpkpRa?z?5hRtObA?aQ6h1N)HWzKjb5;6vSxw47n@m0QWpjrdQZ))e{ zuay9PmkqdCHdCDPDNAZ2P%T6HwX5ZYUnMo{_IOIn8f)Dd(wvp$^o7ni4)VKNTZlNN z{_5#-TRONpeLr{}czyH_70=?AMek1Ap#nIVCP zQ0rS*oh>U<&lrb11uT!U;v&12^iq4K`^Gvx_csXHB%^}H}4zCRCzuq5N`gTv6i(cFT<5upf)bT%T!HwVK{|x9|60nN$nUP5 z-@1}2qV#8>Io?AeWEB6NO$>)0;G%^^ETYGKaZ_VYO0$*=uA^-dde*^CZb)45@u^y> zw84|FAT}hZSmMJJzsm1Q8CWf*R8@8aS4gvJ4Jhp!@1S{7WZ--Ony*?)%3dd6IvXr@O&#-< zc)vxxR{ubx647P2FfuXB61`_syA%TUXkct%MTz0!?Au!9OYwWl8$UqHU@^pl(DA;1 z@iDsPen6uXe<9W(zWM&e>sK#~I=urb1BUza%@IP^F+_+f+SxP0R9h}FUS$!8bU&c;<#ek z%-gSjMf1ULzhz2Fs`*g zw(-X`x-RFI&bfHXS^PxNWVKBEY77;UR`tS*`M7T2FCeOgMvC%QFtY=!THKp~b_*7G ztoeL$djsVd4~$Q$GlBRa7>}AX3oQjs7y3X3u!GmGEgfJfqAAu?3v&RP{RtF*zzG!# zQHaC_INyzrp*#dQXATk_GSerZ#puN!#34Gf{aQ!;E^&8E1g9C6H#2QlsI2$kXQD1Z zLhiPxt{3j2^NUL{EIYWZEZP2kIv)ALd}PpAlaDS1$2vnqbtxQs2BL04Fp_5@eIy1R z-VzTlM)!s7RH}}bDj=5N;1k6dKN(tQ*SXY zBN?!jFDBI-qb%N4=d!c}xE)A}5&(1~Dq@ltBtturp#;6BKvflV`xL`d-F9r(vSo8a zRhk$Bt}w_nHr?Q@y$80dY7n}_?gtEDgq28I1r)VfV38=H+9%oOi*-?~e<-rx-^+o2 zPlA8%^{c%Wp?{4+p>+aH$e!(^P^=Gv^!Z_O;(G34=7s!>IqU%}sZGNz4XwyJjnzX0 z(+lTN`q4%w9@IG=Lw1%l+N!mQA82vg2Wu$ubKwK5Yio!UHV3udaU9i=t_jgzZ7-RO zo==?dxNh}VYgX4ri#V2-N>sQ`XL|l8w0$c2g{)82Iz-=aQ_4=6ngw0JSv~X5i7}?P zef@{vt}MH#~K-D_GH4)Edak;(J#>A#HEhGpiw>9R;Wm>ew;&NfGgqXXJ$dg^#k8z4+|CLHWFvnMLon_7^eRa&d}LDhI;jM zWsHt-R6>#7)VXT)2x6aH8{%44Fu2+#E{`(&Ki!?86iyaSrY}Ucqo@<^m{~Dive+ zmT62vJm@kPxzRYSa!_@C8+LL)$1YHVKx#)IEx|lwzcq2k0sQryO|(-$&$wl*$oG;s zETeelW_x{C+GeFoPswh{)1(qCsi;Gn#=A}Dnhb2KbmETKRw?p#jdRrkLM44#-e+a9 z4O}CrGByTHPke8ts)9#lvRiaHE#KE}-X{g=|C+bXLs-hJn$x-u+u;HoMELFWb03Q1`YbL|vETaNW> zs=~7b`E~mWp2Uf=hMa|Z$0S%uw@Bvq-QySfWZflO9inb$+OEntQJ{&YibhrAwNC=T zdt0V}WXKNc0?}wM(oM*}9FmBS!87!nOM!?}54C$1RmSX`EaLc^mPsRteI$)9ltpCe zAqkfr&_lLWP)pQ6?l6!PpgIDVj3$0*pqelc2WOF9odC{i8fl$G7W1~5MIg&y4P=01 zfZ*r>bHH+G9iX4XJOdGA1Vs##C8W?c2_)O=w1j;$i$VjD4DN*r3A4xb8NOUvNW+1t z?(G|)i&Jklw;e`y!Fq*3Zs(32NG%bKW3qM{T%&Ms>ZR(~JfPmr%7`Yb!q!12y?QHY zr@Sds8#R5)KzU>OoW;2)7eY*v)#dttj)WT}>S4-fmVig8ivtaTQmRqY*LgpgDh zkJknq%gnzea9l4yME0(fwmyn&7#Y_g$0{i%(B#ZKR28MHh%BSae|r45ve;W?1~|Yv zp9e-HPY)su@4z7ZiytExXE20e0tjOk2ZKZ8fXUgR?Q-UFJFuU$5xX+uYdM&CzFK!# z$<%0|=mbkl|*;VDoMKo#B1|2GLrarNL;H6#F_co zo`thSl3$jUP&a1E@|CcYf-F7s4~r-cBR7QUGsE=)L!jo~kuFfs$IQUKw}ryCpg0Z; zNP9hcwS`zoqohIFzGuNRV{V?qZy$`5kk^d(d6yP?e6`e*sX)>72*?!+^tPWxP8(TA zS!q$*XbR*z4c-#>JCq_im1cxmaS+O-owP-yZ4FSRs6{V+`3^ddWmp2t4#F9h0HUL8 zm!%{y1T?f1x3>iE@KfDd9Yw{)YD;BUNNWOl2>{OBv1i%Zy`ysgVDf#^!KHp!1rm52 zl*MFeD1mwUvKyF{v8vD=*Q~aXN;QU_5L0_Rg`8x^qMTYQO1r&h;tN{B4d9GfWo*Aylh3X=-0|{NGb)m`W`#2*G6k*gK|w zRpX18>CVlZ~WZa=0Do7O&8oJftx>$<|@o$2434?^ZT4i?9R6IV-^+)dLph|GIH z5^UmurV#j%bF?T7R&S^Cn}i00JGfD30H!0>%p59QHut?T<2*?;11GJDGu0BJu2P%~ zEAW{B66=R|L-Q;(wtaD$Rjb$2im<3#m7{DgqdQNiD%WfVZ51_nFT7#Q@D*tCHx?H?P;)&Fh}+=FM8Wd9&%=T$`W8GFYY7fY;J%_7J_OHpRpF-1BA0k9Vgn zR)lHXmG%2lkj7r-|(0k#VC^^h&&RLPUS-Y8m}&t5w;pb$-EJ0i@xY z+m>>c!~CwLRhOOS(6-h%&d%a6bnX8@V2uS8X(0~L*njuw@~q8DuK7iGe-F&Vt&4kK ze&ZeV6$21C3ng@bO9}iY<6H-h)B;D!qk6p%K17;~&oLqWDZ=319< zUL9whdRKA?SsfsX65O9dPc@9{l25<_$a~NxOIx<1&b1J`7&gOEZ|A5l#r=%}e-p|` zgv%bE?eyoWjd8D`NL-==Zq6x+M9iUkE=o244g?x%#}cI~-I;225LXO=hEc8lXGs0< z*@G=;(^o0LD?BJA4HBN`0HylrMWh^ z82MV;uL9Mxu<1jK;-p}O9aq+kb~%WRb;U**6^g5+Z`Py36Q#a8G)PtMm!)dK{>1-R z@$ig~%{en(eEsW-sI+^w;1W0f{PnML_O~GSzW@5y-(F;w(I9s$f>!6(#$udxaC2O; z{SAtSb)kXZCr=#^5}kEPS_azAFs`fY)TSi5qGH)=M~W4h!|69GuM1JqwXUD$0|T>e zNyjfn_8pRIJ-t3j;C)u-y@zlA`uCZG@U11Q{(gNWtBqPhu=uvBPDKs^hsEB3e;*j9 zQ&aFE^BD;l7W9+Np0(~fwU2T62D=w8OMu;lkXZ$ao;4fqF}S)B18}sQB*z>0e_Q;2 z39eP+RPhWXs5al+K&4T_42KezV?)3aQlMr28uCwrkEcSvsVz=!%!T8b?R6nv4n^=l zi62|&;|b?PRwfCdjtw-M<>;rjan?%lZoPt<;4{EH>M9}fbwlt5#~P(_af25!rO&s; zWX>XGh*VaBi0yAB@Z`Z&T|?VDxVc8~z@`&r7+)%zVlrlz1Ax6JNy07*o<09@o8f$m zeeUa$s~)5|&Vg_=_AxsS$rj-4*sh8p`ZC~sZH-$b=}b;yUR%2cp>8EYVWfiuM7|gq zz#>*sI|n!e;HHbQ=m`AH!uLHBI#mgLu{zQ=f>yv3B6rpWX;ValJ{jK zKp@)`!$)y;ZLDEzd4VyWifxa@PrYanSbDtOhuWQYfx=Q z5{~x1ruIh0%sy*xxt(<`E%LDKKvLwl-L=x1BaI=awiEe~$NZf)zW}kUTNgI3&_)^j zfj5_C=LwFOsS(=;O;;N%KX^gl&6jvLN@m#q zL(zh#p%a8Yt3n*O0z^Nq00kONNtYOTJf>4R9&aa;$vVi@zz3B0*LZA9do6mlE_*@G z=~@mz@{B5Xm$}66*CLN8*+$14CIJd59TVQZ!NJ$o4XF(IgNLuynSrk$fIjZ?snO*X zo&qpeZS!eHoFgA5AP-1tzFc!MY=MbWCrhu$uF}}1Y&?}Wl}QNP6K*a%JqowM03?p2 z=Q<0B+i)MmZO?-*VSS4crRI795i==wj0J>hi}j~Rk`)=L47}%2r?zij{f;7y%}2(Q z=g3#Z9L0c#6Q8m4U;-#JXafhG)@r43Hge_>KY^zs#gs&)3FV7&tOiAv?TBOT*bmb{ zP?2L3{D60VsA4Tw4L><7P>qs`yAx}-Y(96)1)$>VU%7KA9)%}3jFII5qO%CsA z%#H4j%G2Birgn;hd<8GtaG0nKa$={O+|Q3DKX=#@R5H6^{>1Jw-HPz`5tbYQA# z_!a|Qksp}Og$Hb~mNraGl@vN5{wFw+F*n6t_GLUdH?9}PnKurxP4fYKx(>NLJ^;_k z1F%x)iXwhEWBf7j<_9D=JfF2$HEYS%yNZ^xeJty`00qmZ6gwaYRqA+9om*0!mtda0 ztZgqYJPZORLj78=ObWJ{R$XvC**XxaNIjXhgEvp1Mt)}+Q$*4<2&Y7-A>Z6I{aDOBY%OFhS-`z$*sD)&Z?d$BHtgDivY9NVQED z7cm$H^Q3;u6(-d7GS*g%GkX|)G@o@f9`iX$1DJ(QV57tE5UP0jEC_vh0x1`5|Y7+!Z;KPbleU}@0?)nH>O<9t(} znbu{!c2scC5-q4Q4&wlaZj%!huD#BN7dYH$H^iw@RvO@X@$>)0=M(r(Wpi z3pjO@F0z?C5xIT9E&w31@ed`MI=KzyaXtiZFFou(nZ6B&v(|y9#|4D&w*MrDGWI{u z9D_1Cp-p3ZN4$9Pqu8laYgb915L&O&p5Yc*R>^+u{Dq)M`f@+I^J54~p}$&#OV^pI5rGfvyB+pjg6FygIkPsJ6qo7)Pp$@r zGb-g@7ZR!y079+mB5A+)q= zdsD&qxS(%)JT;zu%(;0m2rqR;8fC;~7CnO2rzX!vjg%bn)gTgjj7z+G?t9{iU}5aj zUc^N5G}BdLY`W2D7PJRj)g?9d*#s3L^Yz!ihOj0`7<>Emujsz}?Kk7-=pT{?MO~2p zS^gfb{`>gt?1J($*HsTRK-rC|KnGG*`8rUA0vIX@gU--SfdCEU-}$D?;UZqIwPy5s zDs%>OsFFOset*mlG$M)QK+U$QKjvj=d|HBv0gE8b8MBymfbCG8v1&o$wQf(9AmCCh zK;0N3hyy=^QJcI>XzYtVAOqWPkTFO}ty+Q9A(;3)-O19MW#=gc(9=Zsk>pzH0d`%9 zR#SmR2@Vxyi;i3RQ(jIP+%s_Yx4GW%LRF2sW7$3r>fQ_@vZbJww({+D6xYs!V70XA z4gzAefU~s*BCXw>Iv%gLF?_R^d)hS--ld#d2G>E-ttIJ}9z*=C@$Q#kP-%=Ci@}%+ zCZF0N&3mWP=Fw7fF-?xgOdlU;4&1Ixa2QX~h&6^Ow7}FpQT>fAbQwB4{>T<1L*5p~ z@(Wd*<^U?(C!1|YGi6RjAE7^KGv+gGF5Z$FNRO=z= z@d1YTa@_Rc`iMxaaDi+elJs2)i~z+P9UrU>*Oo7i(&eC2aZqAGT6Ua;!DjPdQNdLL z449lGP%v_%2cVvbq_*j!!#JR-G`yx=V=dy_1Xy$xtj$@6wN=0_O~u+^Yg5L2M9man z>^M+~>M*UAa?({pWSC=+>_SvPAy~M=+7_z0P$6&~8DA`e@HWs?gjaQ#U))9yG#|Y? z^DKL^$Ov_`u_?nh_>Jr!6=7k*sMxR>QsLoxkq7*~?Ktc~XkG~fnm&{F4<^$AU;OJu z{hrRPCjdsc`YZR`b9d}nYhBmQ`PiI8Iph-UNh-E~z5Vds@IyzdQt{eHf5p}|$0%39 zyi5ML3P@{e9ycBj4&zvvRH%t+BUoQO!K4&u8$@hvo}8?Rv*9pGHUlvpGTgdqRMUC|(dm>=+j{$9YHyhu2L zdCA9O>RlYZXl3{E$HeIz;42|j1L%Fk7u*MdWAm3xGOTm zgx@pqmBl8uD`Dq!(iUBN-$Q^+o50<0vNIctCFx5yH#qT$M z4_bxZQ-zqiI95=q5;e31pt-O=GwX`E55cr~Go#>6vx1rvk-0<}Y2gv`o_kIhWb&OO zjSN?~8z7IAnGf!rAG*|WreWZ#pMoiLBQ`U^x_C7WXl{XqeZ0L^$Y0i`C<-tHLrkV5 zj7nVxo^^D>#$2LtxcQHQuxXrp#X~Y&iBH38qNnA zpU@@okv)Wt>7Rd|`%Lz&yf%aJRJ%E{F@whq2K*lj)PrF|j%vii8uunZD+-RTfjirs zhZsNyOeXS_t_-|;0O(MC9|RQD>ya!AIfTwAlChB0M*?4FvuM1HFxopt$dZ6qIzdk% zLoJA+Va?2!N0G%RJmH4|M@v&auhlcH?d|Frwjy1lF6AfAZbiK)ru>32wi%r7Vs>2* zrVlZb7d%Bmha6@U{#8Jy8K_?|^9igh4%V2YIPK(E0^@NsSv+5L+$G-KN}OFjxSr2W zn|Id>XxlipZV*fYu;m;I{qZqNq8Vg$I+7h?4eR^ldxfH(r=G)p7E{-1%CsCsvAh-E zifJIh%Bt8$ryN^}ArnZWImyM{KUA%A{Z>Ef*TTkRO32N7HaVD5(7KW+56q!<>q7D= zQ``|}_m-L9dk}ey78~H3d(vkp*yEEx$ddaoV0VlMdt^YFi@Cb9QM_l*SGLP| zBen{cJ!1#cLPuj+KwcD~O-Y<{7^%aX^-=(A&UdASo-Tb@THqQ&^s35}uL^4lY>^6|sn z;p=bKE8BW2&hB@nF~#FM4TAaGqa)^yp6y3_&Mey;dH%x@d^!@dz5ZtJc=a>i9hvzu zkTt5et~|S?&>a!n@PT?pM2cqTM+yN1>TIxmjdLkS_z5VOtci+l@r25sk1U*br9tsr zK2FPQ)uLDl*!B5ge*xbn2zN%ptd$$SQn)MuAR6cE-TGD76>b1)O;j~(-Ia|}a+grd z5Y_NxU2_mr_vZNV*@T^KxAQgKgD{e;rU~Pr z)?7i??m}VI*zD%iYaL8{K-+QuAh9Y0v z3Wlf$-{dnxYRpDbV^$s9Pw-FInSxjhzmk!3Q|0*O_iv-;VR+*oC$oE7+#zpd|ABvI zchN#z#&Se$j`Ob|pe~vI3J~p#s@uLXWd$UopBrZCF<dc}DLCObPS~`M zSKhW_K8}EK(9b9!_2R#PuNW_W_vY1$rX&g33zp2-zl*_|=%cDdXJ%l2oQ%Ku(;xq^ z4iXjS7z_%i6d<%bS4iOTSnN;QO65ex{;d$)9$YsrU7_2%2oNe+EbiUh3w?o$OH1hI z&_T-Q#-VZf@sexwTh+p~Tt+EIDUF>ynBxUJ`{tWJ{bBo&48vUEp4!JVvPyA|U`~Sv z3+SBt6Z02T{Y?lR%k-_LuqhFx3j8d`s+!#Rba(N`xF}Fx@Ai<|dk%46Yn616)f`Mm zp0y{Is^^ePyB8M|D+C5iA!wu-bs@`_Z+9q!+YlV-^A423)vD~!vue02TZ}EoUG#G! z9;?X0fsDZO?FTHXo#q2pRX%{^ZY6=aaSVW6?>*fUsG}10Xx+XXqrljj16!5VF=8s@Y0QE={Po0l&q zl_0tt>#{Md7XZc%2%c2>Seqj?(gy{i7{9zA;-x#^oW*iELb^0qE(g$%z}!fa-f{q| zUu)~na1yCb2W6nZxE10GizBg6+nlSqH?o!ulvS5KpR$AZHJJUQS9NTQBpv9_FynLgZ<8vzz&?Tc=0iqq|bfyKtVA#6Kw`a4KE3B`8bM$jt_0`4M z>vwr|J~|bw!3$m4A5go-MB@Hs+AemH6U<-0W(FyuF5^Mew7vP95Y>uKceVF|#)Nig z!0o}GfHwO@(i=x$zY##G7-5$Z0JgJ{2J6QgOl1yU$cU?GXJSAPs zg#?+{ct3|WS@bFNk+fbm(_OE4^Fb)2W;wY=8$gjlITYSF{js{;x~WA;xx) z5la83{=tm28Pj+W%AFg@6|+>XM>A+`7QZhLVX^q4*r;H&-S~kVh0D^qyTxDPzv=|*#ROBl7}{RS}(;z7bd8}i!TLR$pOYCu%O}4IX=N}plC4!RdZP| zL>wv4c`7W?-FG6n@!8mP#vz2x)UODi93>?imHjm)hsdOjvW5$2rULrX)HE zfi?ye$l*PChbMId$1|X+&BL^yfT{%d%v?l(r1uUjHb=c?N&eQlNy8CE(|xL$?gk2e z6VHgKVtubpJnAa;Kny#U+Q?!Ow9^&rfm+2Tt)H(| z6#+$lHG&RL79c1_3@#gA(h)kq(Uc_sIN;v#Ek!j(QQpd?2AZLXMQy~5JBgTe9jsY0 zaG=e1z`7%ZpRjXiRPk2bddaqs7LCOVf5(E=E?>Be9FW8oq5vz>s+pLqh&~VO8HP2k zoUsW%v(C+S1t~jp>C*QS`z+)jF_hc)IJG7q-6?bC#!Ou50TO7?rdrV4_=h*A$j^Uj zsZ*^`Hck`8RVS^8l07%h6}yflSf)C~xQ6SS?LK*rH9NyJO;aeD{@%TXw#> zRH4kV5#y^$_KfO20@T)&i=Yl>Quh)eTVHqXh8T>ie&`_5q6u65D{I zN+!ADD(3Ai6M<6AXsE#0{^B%Mon4kYor(VkTgWT_mtS7jGi9m)#Pxd|iktb&xTCAcK(Fy~fkhrB`3Bh8{k|?^{J2vjbcgnwgr9d4$xD3HA zR_QgMSZ{8C#_lZy=;G@3u=HI=S%D!`?79qZ-QrBs{Zzr-z0A#>c9=;6l&PF@`(x8h zMbdj<&|JK%3iam=lB%RCnkI!REnelucq$ZSv1*7i z%9!2kN9j8j!#^{}$!y{-vleCC^js|Z%A$DX5+ig%tSB`d7UUK8=Br`HE2fVk#jOgB z1PN)9QnZLf=)MBD67&r5N-aq2bQnWNK}NagiPmC>avSWsdY4&lqnZ?r6p@`&mVD+c zC=Ml+BG6=Nfb_$DJ8*kYp#`DDeldQI2)dhgaWo71trNN{@IoAS{bFk3 z3?&4OOcaVua=4fZ_aK?gxpuXIVVDbuW;M?(*lh_eh{#WP$MbzEpf9Q2% z2KJ)4|nc{l7O|q|L%y{*ia-cCUOT+S*?>}Ki6XqIaCY07HEK^S_ zdQtyg){+Za0gOKpPpzcV(kn@e8;L^{?y%qvbll9!rGK~h;f|cTB`{sb$t(Vjlr{Rh zfsopAAP&aA){TGVz#oi%TXhe~pMR-F)bfJ^*G%dWE%}cVOB|gzj^;8^d%!ql?RbPW z*Y;j0#`+o=tE?HU#kd)xl{o&8!ul77g=) z(|Kw@C#r>$nzaxH6crE0WKm2ij;Z<^!6oD0V%LZC^ZIVOG^(45Ol*`NE?sdW@r4+2 zpdut9J=f$V*lT-FmFl6Mfz5JeyAb0+COol0Dwzlc6rY-{GH|vPdhGT9( z!qy48sl)X;cG@MN)v}1~iMz%G7@^8!dE;=F^x#w|&%0Z9r*dp{;JWMpA$9$kxT-dt zngvW)0zTr!_5Dc^=jAWb`Is9{z$xD}ls^$b<``&Nt7odJDFsQV9>(y&cvSD~bKsk* zbE>@Sc~l}F^qF=@#c{Mm58Clt9ZeHC{id4@%66`EbsHo!4>_MJx^^Eam~ZJ zv&%;jo?EcP!%$aUY+8*`monB~t7r#pYvO zu?6{*Di5zqhVuFdTv94PXiJ4@up1KgGMsvjq*gOPsUX#StQhn;2u%m8D9bKDn-y69 zhK4yHwW19r`T)ss(=$e=2vFlMggUHBr$?*s*?&UYFE9+QFX@t4>rBLD+k&(u+wz<1 zUgNF1SNuN3@d`Ui0A0>O18u;+viBIkSFRz&_4rgN7NM<#Y_5?q_h(<6m_Z3LJJIJZ9w?(o{4p*UkiLn?lUWN zNG?O}G}Ske;l5X*7v7SOmbZ_RZxo4o1TWU#=Y|C>`h<$>WA|kE5@6tBC+(XyaEm;F%+-TyW2XllG{*Ca&BJ<@~eS_&*psQ<-? zm&+(ceenh2D&x$+0|4s19Iv>nb&i&77dykkauBb13NQp}C5gzhkseM4PDPDEWJLvY z4%ScKhK4o;?7eA@Q%D=#P(pev!FfQguP){(75VPyXa~`L=Mkc{uUG{ei<98XLzc%w?s?} zF5k3F(O-CJ3||Gg-c{*~G*jmn_Ge~Q*y<&1P_~OVCh+=SjD0tY9dZ0X6Mfk-lBzCW zC5_{{2|v`X64C)zIO9tpM_%|uPI1edjtt?|>h+I3#}SG`zMor}l|5%zCryKAd7xe4 z61>*NZv%7uc;^dE^b=5Dq$Q4&xZm`<*3?=aH#dHjI!R(yH3jPgNUMnS3e> zPU=!tj9uAgw({k<=%P{CClTaiQUl1n$ggbl|1sY?GqnRuB5Yc4wUE}*iS6?s5!W{+ z^GuU!W^&1`y9%;b#HL*Yxy?js*cF_SgTfvz9k>l@?i;^PsaCKHvW?)MnkJP8=2N!8 z75-foSCe~HN<*4ZiAIWDgX0sG@kn{}*0F8Z!rvw7-Zykp_lqB*V8nm?b3k+c)kz9| zd&eiPk%4JkDAECshY$ne3dIiPtz)brjnVF!aN2fAV!46i8Z&#xH_<2XBtch*~oA%c9n*R5!4~HfZk4*4ws>2De)0gQ~!%o*URM z1*7fDIO^FYq8I1{~bIchn>JfNRhHG!}8g*y~=4^{3nDc$IG*-uE)@|{{yAUEin|Z z1RwShdmo>t_IL^*0cNTjp=^c4tn{d$$%-@S1$fpmW*yv@yrD{oMLWN7G%5fjr|jZ+At?@io&Fh_WR_M}ciz6kjA~o4k!k^dbB5$XjA5>jw zVuc*u*Ig%mpEB@7C2&eiJOW>M0N#vVwQbueg3-0Qj@8Cufrry{7iC_~mQa0@xE9WG6naEuciklNF2jX44 zKsl!S@a*~4_j>?{y;Srq{2vDS3D~4912}R=kcq?Ts~+ySgr%}Uw5JSJE}wNeW#dN< zl!qsY`G+#Pk20o`6~Xp@mbseHu6#_UgtpFDt@>sdv1nuTt#|^9f-TukTUa=ynKrs` z{JyWUAvOj@ne3J9QFxg%U2%|j6jj7aEp9@t0y|N0)y+oO$_3Hr?s1Owu_nMJ=P-t`A4@y<7S`|*?;_E|Qmuul@ew}ClmPjeIz}hy zfTHPv+d?$`0ns3vn4uG-CQktMI=62@y{Bbc7ce({%9U+4tX56lL4>d((01a3QyWn> zTdaL?MdC440;A>7yBb@?@AIW9$aF=2uNUW~0CZ+^LF>AL_lEf(ayjJ3IyMQaLqXcM z3+X5(e}t-u+#B1bDnKA^l#F4sdSYz&C#EN;yn^%$p-cS7f+xJtA2%aS@*9uC+axEe z$SKvuLf-xP*z_$p9WZy5`#?N1>eCQ=r01+syGz)=!Y)WXd-h=cIIoy^x+^|7hd?n$3`xO<&k5=<|KU` z&zrC7YhMcJUw(PrM_9|z7jwb8;D3>&2>zuMils3S(F@Vj$9FJN%A@(+QS{gjp)+a# zEB02Q>`9DZSL zN>~~h(GxQ$rDnTRCR8u-Tb62&N5>lJ-Eu0J7)f;*FxF-tDGEbP3rGySAQ6#C!!OcW zdXk1IFHLRLB5q>Kb>#bnnJmR-YmkFmF>Ij#hf&Ea0cfES+fZQ&V2c&Bgx(x&8r$1O z$AiP1rvE?%_0!WR6g`Au4dPA*$_Nw`hq>dIbMrSRS0fg`wTN1um6s!0N5jONheQq*$m*UR{fn3j9bI#wxWODbn^cfTEHh`0T`Xz=-dNWup2s z2_3_nz*jTRvL_1_)s(8>2o{(Jfx{?fAv3&ZFc-x--r17tkDUQz#1Z>YBe!K@xo|>0 zZ6=xwhmuBSs_&J&f`XAt5G}_umWs6gwmvdW#NMO*W+W<}J3KQuglc;xjUI)S+SL+`M;~G_q><+rx;lWL&ljqX_tfZXl(HJpspwcy2ru4<5c& z&vMlGESgt`SL64^RYm2p;c7@Lz-bc^Gigsqk$e^NMY{)kFDeUSya!Zg5Cd-Jd_l3x z|3D#h&?%OUej9S2-|X<2J*Piuq^BtV)VG!VQ&~V4Lo}}E>#BZERQ?t!#>_Cd=#os( zh;Zs*EN#;JFV(_*c1ZZ(QFK*yn{n|_)WS}`0`)8ebF;Dk616iP2n5U;2!~bZICra) z`lVZ$)L#vh-gio`K|Glq4veyU^7#^ZRvPYo=UE+)S>}oeM7K7XHN+w=xg41Uja4z} zBoq7v#r?3<-z16mxT)BNQ?a%OX042Ykk4VT)rtSWwX4;dwqgw`eT2CMwi#@N<9H@qHFVvTsieof z<8x}SD=lfYDv;&li!M2_Zhd}u8j-L{-l8TU82DqU!T!>U)kujMc@h4>6N-)gJ@_MO zG&~Vy0lfQAwk*XopF^Wg07ed7Rt!`j)b3B2 z^!1GHW|^HzQ7p$lG!SPk35}G9ssV+h>$Y6ODX{*6y3rOY&8aGBMMT%gwLb&Ab1;HN7yfD`PtPDX zduF=~(`JKbFY4I>OoGg-woCG;&P`p6ws-siMWgcUc-W!|h7Y`zQG-5+*-3s;2P7I- z7^xeB?eeGA2ev8+g0(;(HnJJ$Kf;R5ZDB(7x zT*Qr)Z7C!Gxur~JiY}VC7eaQOyw*vwB2KX5%nwY6wJkcK*Ys zcVHv3Z1R4~X02ope%B4@qnSPSJ?>3{kyz&ua}Ps)B$t2m z?Ptyx&wu*E@810J>H8->`qQi5z4_C~K)L!4$ilSyr43`MvKvm0;(%`i427ss|@2M6(Gl;R=_WAZ4t z%~)Sv1NOu}^_#^14AB$WbW|CL|S{^Y`pYSWMygzu2%_eec5Bj+AXWyL9lZmcL zjR*A`D&Z#{<0=(b?|$40JRy5Mb?y&-`Q=p}jDqv~;3~=rxdb5d;4{pi=#&@~?4153 zTjvndLFIRGw}31@%9gbn?b@qd=fae@ERp$aNh*B-SCh8{{U#GQ3B5;*jkqBMNd;`p zWXw`}De2r%NJd{KS~l6wvICOH(1ZFUi+jGK0`i`=^|4KAXabvZB^ToUB2XE-d`Ohj zU4+(}2DNdaoU^t?NN&_bYaVg7!Ia}rDfOEaww$fp0m#o#KD15O7G(S{VNWdhz3(UWRU-8%4k zbbfm$DYo)745EGz^|eVT*RioxCh^4x3N~dqyR_*Wq@QLbXj(X_{== zP_RfL409H4zd~qjgpz0-5{mmNEM*OE;t#^<(t(=e2VZX@_8%%9~kYhV_;!DR; z=ue@%E9TJyF0tccvA@TDIC`xgz1wFj9j;<2PsUZeKp#U_c3oB-h|MuoT96Uw^pUD- zaEc^P^f%|y3W+mE;{3x|*wU4D$ za;)r;GFzZA04G`lLGaJ7f}d$uH_L-LiZqJLb8$iPP+^e^$%pVa-8As1#K{4uH>)6@ zp1vL${*3tw$?_ps08;h_fnax*D>qUlbnl}qN|sN6rwImdML}6mSTHQr4OE== zM+9}M-AOTyWPo@Y7*W%il2jxk(UKqneiKpROX#tRy>M%3aw4`51%q~rC{r)W9g3IJ zdyV@Hl@M2B^qvKBOSJsKr9V_99Vp17sJg*AwhkpOBB><00yR^_c5MN3=bK{&$GQ1v zeJtE6MvsqS&ja@J3*JOTs`}KH zhN}0TvilxVoTbv9kYf)>YnRabMw z48Bc~R_XQbVxW~mcXx4Cn}_Kxhgku1JBzZahsx~@vV#5gBgU#R$oI$(u|>XTJY{`| zu+k8yLx9!R1hpi|s-5_%2Kh##;Z^ya_v++)VZl}9*cimymnPme5?Qrl_-`Kk-Gy}bi_*g996YGihHl~?J9X~GN!7E7Bz%a_1RO@Ud&B~M*BgGJs_+dLhfecsWk9D zxYx@_K0=`fON5J*EH)efAS zpH1IwEszQZ-=;vS^m=zOkV>JuyFjYV!*rJesQ|j21ya>R<@N?r!G8M@NYxnRd*plA zB2P1(vOWY-X$aIIkZNlJSdwJbP9Rl-e527os{GD-b#lJ2K&o?dk3)+R%v{UF935Y`SM zce8<18h9U^>t!VJg|N4+idxAWs*RtX9rs%gB&kc1n-8QKczy4JG6o6q1q6h27)Uh; zq#=-M2hPp8?|Xi0kyJSPHic4U7QBnGR1wCz3#RG;RChU=3c=f1I8{w#Zf`slZnz%- zRn5V^M^1<>ayipU>qAJDj$|ETsSG5EmgP8mB z#N0+gt9Fe7T0lUzkvF@BklZ+3G1NYXS2cj--s^umOJJJ}u&Sg_4G~s-b|AGEgp;Mx zo{(b?NNbnSyV)Qs9n24&_c9{+LRj2Zg|uXk)#lI7j=Qx7qSPkJ%?DZy{Jwut8-o=2 z5+X)A47D1B(hzI43n%Bo3{0oBSSuWTn_{gp3*N<8s|e%W#ai_Ms=FL(h2ZTh)~Y5l zw>Q=bH{6d{tL9+eBZtHmIicyK^&!?uN3ssFR$CL_k|L~jVy&9w9gW6X73{rVr{@cc zwOWFYLCk%5Vs0a`R=Y+4Eg+!VFq~aONN$|27;2wmtr|db@Abc(C9qA#T2<1ghFGgU zyO7!o#>rA?Psp(cq_s=v-E6Ft4(12ndl`{@AuMjI!dkM&YV+r3$KBckQEC(A=3}h} ze&4^SjX{ch2@xY5###+RX^6Gjg_CnC)@TDKGo3SbA3n4ec7>yFQ`l8z!I^14xX!|0 zpV>HsNRQ_!bMd{i^B+FF1Cmrg6@Sm>wu8dL;EUP4=RhzBXMnpMh}u1n&Z56Bs0 z(N0DO3=-}Oi%jS+yk`)Y+ra~dbJ+Pg+)tTOchf{Iqat!d<>8*SoM!F%t9BXqJqU;C z0pg4N7M)_hKQgalABJG`7wa*3!QXGYyJG26%s@XoNk2tHpjyziN}v^7@q_0%%xtP! zOC{=~2uG6}=GHjq`XU&2(n(UxIeSK+Tf!)}3gKFe>U3(h9hE$Asewz?|`u&9AW^_Mya7F>N}Y^c$;ZQbsA*S2ljwr$(CZQHhO+q<@H_x0SIyxiQs zBXcGz8DGAYH6}(gKFYE<(L-Mm7>RPC_){bgI7>4=i}M-Sj@3})|KwI5D|8dg`ion~ zh=1*E^vL!9CwAHJ9xH9BgvM*%wv_ed+g}n!t77(%y{;UlzMPS^>jn-T+R8#t(Ys{U zU)nlC`cKuAR4J_!-EFzQ>{A9GxJWa;NOODIzP~Jtmjo+L5AA$l&_tYmW z1E*rNDQOp6(K^FYStxcWK?(bVqcGQ%bqHx1#=PI>c#SH%jh8r4$A$&CsosC;94EVS<8ugQFqK~?y;f5uJy2zvBWE_eY8=J z*=|3Dmy4xOnfE0PbM>{?^(e^dtAlkMxXe$K&RQlsq}{)*?88P#7{vJj3{ZUoqJg*E$kW#9&+a3oT|HC4`4@M%x1th-X<)9~44n=)Rhe0U z24zH_%Mb{anBO2^{WKE5WUeUf&^t(UGEtaye?DQoIl3B6uh(FK)HaH4we31?0E$zF z6(IfvYF5>k`{US)W+vMn+=D@D9caTII)Dql2D{6zad_~f-p~OSc)U=f0a`dBwPu*7 z)UxLgfPCc+lH_lgv=1%G#pZDXIF|@CPdBAAsw)*Z(Q7}I;s(MT=bjckLPnDxq&Le$PFi!o+8-9ZFR`l1 zzYX2qO(zcGkqSJanhV6Z%ouWiPz!&G!4lwImX@0)0_@X_&iIm{l5|wvT7Px{4!+~Kc%LdcU z{1(g2J1b66V%S1#ndbc`OIwFY1G(ju>xLom>wiQrwiMu@SQ$JbuK~Xt(9PLyV=)cz?=+e+ajhdIkB2~<(CmJ2uC z(1s0TxEf@*Ti1q8+j7#5-=B9u4ICkxUfylIq5-#N%9!l`4VnoZ|LuKYOK0j#x|mW> zFmQ0nz+z8-Dl+0wU`-;C-6pKTo6ylkHAdLkNQB@|?uCkh2!gsYm1kh-?t0 zsc$RMjj)E;Z3jmrvl3S)H|kcGopeeY1Oehv21z~D62%S$Ulg`Y?a5pkHO#zuO-rGB z$BX~@dSRNve1h4uTkW0~S+YB8*eV3KLhYPny7O(8K)j(_>F>?VxQ6{Z415JSz`mJH z6!G(c|LQ1ebk{FR-cY%O@6?-Zg3CuK?jCb0Y^*?-@l{5}AF1 zA(N?fFz{mHF!#mL+C4_on}tM{#&~Zd(lgB#r>@g+zDwmCt$1Jt;Qf}cTf!FBh2Yl_xXuEwP@8|DLB-5K?OMDII!gq;Up-GE*0iGpIj++-Z+*I6nh9zKNNt& zqWi5EXW9%~j>IH1JmwzSf|)XUHIWaIi~mO%x5IWk2&1^Z3J!H1%NQ-v5vm`FwES=D~L+C=U_ zSPyU-tl>*W;xNKR^HPI_8ZEL5Od;-yJRg8N{Q^DU;mZybP+Z4Tw(8B{XazgOpTh?Q ztb>Z?rl<8%t}jjt12(;XZIbdCN5@4tqZ~g!bUTXaR`Pn&kx4bqiBC;p#PM<2Ie6aV zj|FCiSc()$-~ymZ?T%1UmZ%tHDoCx%l7?0NtNq#|m8lda6>V-(L>6<=d=_tBYS!*5J)s zfw*6wmq4Im5)1den_fN`1aU*S2kh>O5aZlZ^aOH8Wz6cWl1vHb%<*LF*l!H~-Bq>m zIOnXZ8B7t@O0Rn9b?96wa;+8d%-l|^`Q0kul114Li6okEcR2tb9xQK;MAMFMGEuS6 z^X%*4Qhcj<;jpCk0V0odyItP*0IQE0am+(Y5)LDY?JLi&7dt8 z-;tkAD-18EvC2+Z9x@Un4)hzy^%@-!LVpH)QnY?EDN&v>PP;~?B+Im*W)%unO=9MQ z*&y8*a+&SWpDhd-;xn-g#8eP9o9!}9>9KwML4Se9P(Y{LDuF{J+sMh$i|S}#7jvJw z5xx;MNW%zx$V}pmj6|`z>1`}r54SG2cw^_;P>SKqTMSacS-!+C7$e^Jq5e#>h{1m> zIT_a}NCgtAE+v^}EKHx#u-Jp^#(M98;lmVFvnYg+F^C0mi<>K@UV!sGQU}SX7gC29*y7tA3|h zdE%^mL;;d25`%XjS1rX%Ypm{b0Q?aOQXmQ>xN#ZU>@h(LROQrE(igrL~ z!D$;lOZE9omTwEYo1i(zmgi+MJQ`nB4=RroGI;Pybo<=VuQ{NAJwDl=ylvVjGeL9= z64YwGO*SVf^@=f+IRr8TK;_P$xgOH`;9*A~8aHy#dL+ohdi@ zWp`2u(=sMaswtP~#?+FQ=KGh^!_cJG-$-9v_lsY$v}pTnsQ69!b5=SsP3A?lcZb$Xa46J}WPa}Fi5gIvga7S&{aLtYnWco-!D%%Z31%Z+brkuuI zK1LXD7He=8tBWivJM9iKTsDtB+aT}#I!2+Wb41!?mcT(K8tkC!E)v3;B-%68VobsK zbzEmsL3Fsa@>v3A6bNBilg@!DC=}Fd&59OJ9Wuu5!kv~W`qqz*>L(zV^vN_NNqLs* zbKo3Mc6-bru{jtwQ{yECmM#e7jW8J!c&hzeG{i3`p~#kLS*)H{hNVsD`AxK+qQS`L zC{Me}DaNPeRl(B8m1W=ihg`H5uualv# zX!JK$!_o9#>^RilJ0vv&Fg-^5Qe4~l5+6Q%m2%$xrolTsBY6S}u6t@R=a99JobfP0BI@o!79stOl zO)Y9#uE>a-_%8-l=(5H)BP9*aJhbp}1~YH^ z@zo4=0CZg8QH!Tn>Eaxr=(-JPC;Iw14)H=;m_ z`Y1TAqyf)6`tVOG&N4s&huFVVxky;bQ)x0LuYTEHdf;`xOGfp*=bzwa%*h7fS^l&D zp+)zTilo1cr7_Sd!+=?W!m2^E4)?slhhK4rnv2$Tx0}@(`5Oi;E)(J2A3+q@PM$Yjy9kARw7UQ}OV+(uy8v)oH?$G5iV`k>{wuNqflf1> z>_c0d5z;f-+%6?BU)SIOBfwLHyPqZ|z(neX;E|{8;={n38-IOs2odppJuNQy3w$D? zqvr0yP;9kz{=ii1m?Q^nVRa;q>XKJ3WXU;N7hI5n*8ow?aL4t0c++;4iNZlLB#RRH zO@;ROIe+d?JM{P)n-ltzp+oKcojk+=9Lj0ks zkvRvnHW0H#q(I*SthbPsN2TxfeV8zwz|-3(5MThoR>4kpBn_G1&c z5AKR^TaP`wE|109Xl=_~TSFw6vQhyEeKCliq3mLi{qodT>!Go`5QuRS-U zyylFWnBa)xPdL@-E6PaCHfESCV|g($~W&i|C% zef8<>ggMtM7g)EIy2GsL=U9K%wVNr>kI?OlGx&fS08Nnf7A@9rt|Wvs{!BiFC&mBi~B zb%TxG$8M(u$?Iea&d=l=*abvx8sq)gg^X-+Z|+Ff!rdec&&X8kdvBT};Y>OX?6yEr z=+;W?;B%}{YGSIj%vu3yzlt>X9A|aH;1xh5l4GMTTms~x zRSD9{HL%-L(ec|h(~-&CjZaq@xri#^GpD9@v6*WKU54wyNEq8+<7HFr{pryzu^N3& zkxjptTJ{A(8Q7MY543uz7ZDdwVIRc$o z8@3-pU#tV|D8B$)Z1vCN(nT`IOuCsP{Rbvph32gxtQXIqW&KAZv#M4`+b@Kztxk=N zI33+hiJUm?$#)b5w_l%9hLhGG@XKtmkPfO02J{b_ENRmT;)Ls6_a;pT#k*jywgbjy zMM6IbQxiSoDONb19$*;LZc0d-p^}1gIz5B99y=0xf)x{s3LHS?pcU?qGyluE+0L;A z;BxcnA1<7gwu-gC3umxmH*4ua^1JQ&$`pCsn-~L|U4i^|_c;h`9W2iMwvokm=g%Ub z2QI;BSLVp@|Jq83dn%`NZrMF4Ijo!O^LHPM;4%S@DyG{78P2y_BzUxF=35VJU6RCt z^n4c{IRUKolppgWfn+0&xg+YOd!UZZI1`AkUzhG``qCGa98LNBygEv5~d%{P-M5NhnU zDWEVXg#PcJRyXyd<2G#nRZ+75sxT`L~znT7}svhSYQY8%N^*{B*Tq6n7df?D6n zbH&u6RHW-ioU`YL+7|Xw=dyCP>vij?o!6Qz zNL1FF{#ih;)Wl%d?|5Bd^AjGN_dhlXLIK`%(4XJ`vFZ9@p#*lnVuMhkP}=}A=m4q_ z*0zQ*MryWrZTBQr-o{h3y!a|7<5rg^Eb9;Oa|=VCb{z^#A`-b*KDkYa-dAtD zMOiQ5wm2C}3COk{wWoHj^Flbn=_OkQX}&VBq>!&9%Ik@vBoPbT;M!}&_UR>g^9F{0 zZjHn(2a!?VzZTg48ud6tF^G8Htt<;yo?qJ}8&zt)6|He+ZgYWy4(tMCY8WNC-UKZM zuLxbHewkF6$++^6Oi>CEx%1ms4phf>@(ZSSa*%_@idl)`N4{ewig=f=z|Ba|YCWOV zblk4H056y6G{3rXknLbP^`c|ntgIa2R^RdDh#gPJDO~HlYp;?6Q=O%Xgp!7zVWuUY zT$&#EYB2#Ev0*0{qd(`8Cq@4mlE!#D@>PRes?ElTbrvVL2&zM27k=C{`V8Vceu?J~mIfhuS@wm0>fC0eFJ73nuyfVS+?DbxBe3+wI{_@RUmHBs^)e?}J zz44UV3k%cxqPFUNc7^2NyraEONL&2f{x;h|TG++RMe_Jt)egkq4dPtaD+vg ze=M{07wzlW*wr(Q`ryaY*GtI;?boaTSwu=Hcf=gVMSS)SGP{DVFg&%F0>=wk!RJ-} zYJdXMBtJytxVAu+3!{Is{?I(uC#vUW{@@O*IMyj<_IO}lC+BhRUw3jKsCluQjX~?l zO3pM$H!V1h-jI80^e~6?&EznzGj zf8LShY-e??^{J}pV4lfMAg~kffQ@Q)MA~4Gm?PpWRw!xc4xZH1d1ZxSGrk|MX?fv+ z3^@K8J-XUI&iZPqW5<1i#G|**kq5q?bANU?j2bAsZz1Nh{ulG6hR~ zRvv93=ZYCrmy95plXE=hSZLX?{nLn$WU;q!4InSQXWo?ciqFW&%?pS5j@dh@kF zt>R`U%}tzbHB3XAA)BoB*`JKu_~h0lmfF7^zXfY>4UYHTAzBDTHFp$gIOQKG+&VP4 zQujT(gUYX>H3z52#v!vC!peL7_4av{lh}uz1N3YxIG*oh$J=xXIfJPd2DXX+7qS+q zIJMKyFO@-S8y$t=H5XcPIT!=Y4M`gu*_JKH9>vX&jjP@?bLr}ippgDaV79F%RkquF>(=Fdq|ppq3W_O! z>8hCC8P)TM1l^jDIazd{zm zA^ppbxgivXmw5)0x9 zr(6M0@!8qH!&fG~=D7OEJ#bB{@@REStNBB(VH*niz_|UT_To54%I?OxFz2WnTHOqq z@3=yOZC_SHg)%(tkyO8V&r^_fKgk|PjtSuUz}ZBKy~pONCvD-J-u7nY6r4$PcOU6U z@S!Ho$mB#jjmntq_jUKgu_NtBI(*f0>(@7DO}F-Lk51+)p>CDVS|$MENpM37o`Xc_2U(CMp{1}26H@rqT22j7 zR)Q%^r;2{GaU*VfSf+HA_fDoE(Ss?Bdc&;IGk-& zx4@BB!`sOOs2j6sOhZPb9TLTsVr&;4EG#@L2UGOr7Fga5agEK0GW+MbG?oFvDiiFU z=+BUz&vQnI^P8QbKMSp$` z7kS<7FK10~R0tVkLbxlk603=6J*DZmA@#_oq9E@}Ck+57DAd*ptOZtt4^yj!UJY=h2+j{r8rM8t|*~h98&5dN?!~56M+sYl#tSRSu zsrmKPDAubH9)m7Chny*OK7twI_}9L_3h(!F_DA7v9pS$7&1nzJf`i|>sHJY1H1;oL z3z4H90`i7|29+Q!Y9Fbv>;l)pd-n#pDn8W{MChG~>O*yp%2yG@?GJnfcFgVlu7BxHt<1cUjBh&Y z^;F&yX6`yJb}C~SRx-p9Gi?IM-tGT<-=u15Qr`jep_Sx)0mkdLJ|@wYAIvNhL@WlH zr$_*^U@2!5k@x3ktx}apO@@SjrQN&OC{ufzZ98?}OG#;&0t_#`rOE{W$dVJil39~ zKj#Emu>V13q5Y{$1Qb)mM3@N3G~p1wo@6{C)ING7<_dJdP}pVBmxT0kHE5^RJxejF zvcXL$zcyn^2aHmu6cmZy^RVaQU?M~{t)Xn9a-~qY!8U>7#H4ebhDJj`3#WzMwXI@3 zWVPYIv-|=t;c)J=C@ubwCY={`!!Epk`tt$)?Ahl4(EH8%ir#7Jm8&1b>Ve`Tbr6-S zXpi(Mp7po)+fFPORrOy!yFRftdYKurgjPp^(O?9+9d!MX%9)q(-M~au9Wg0YTtV_# zGb2aS!(8|c+SG2bSeg(HEjs=Z*zk4llixs6%b%eyA_ud?5Xn4Pl;lCd`QD=CL%_EM0v90nS0GFCiS?p<0(+s|84{UWl?H~qK zWF9jIr0_gt$sdqKf2LCce{2?adpAsOtyDn%l1!-tnjIz`x8DQnJ^TAM?w&TKD5?U( zsK|jgQJ++X6i&TxmY)0}*4CDV2z?(R48Q4ndwYLZK;WdMt*N0Gb#2g3Gg@R*l?LOW z%8p~Tv#Oo;)){b(K3%TK&+NmTCzq9GIspHrO16S;QUZ5K19 zC%?BIRNjoV)z(P{rG>s+r!TJ{gbdCZMcnTy$;7=bv6qxjw$Zb;-COazoEoBR!Qe|~ z2g~IbvLBNNL=nnr&*@&QQ%;e&ATn2rE}XiNmt+1y0M)kRKN$!k1|Wf1toEA;CfG8w zWU8Xj1US!vUF7&V-yE@ee(^tTeo;~H)O_~3K2K0>&3-dzTHq0zy@3@c7Bz-StGwOu z*q26D=kax-a0c|pmax%mT4>=Sf9L#2tA59D>lso?H9hk(S0rdi(;MqBqb(mQI;SWg zFPD86f@zJ+u+GG;VW@4p-@>;;Jfzd?Zl{CKTdTIUDQee_ilfM*Ov!bMZ^fP_>D?<3 ztEDKYiZ3F1A+a3GgEH}WsXXDPr#=moeTM+g`(yXXDi=jz&jlKEsVU=>7VnD%kChh> zpX0Kq`e4fxUe$PfZHOwpnCyyv2 zpRl98(I_24`}{t0Xk#mxog6|2l-{MZMa_X{XRv{Gq)89~tD+AR0LYj=-8FLiVFr{r zu}j$3M!BU^fr!Ve=$w`3s@JL&ko>l?(S`f=$eMe!aPlK?0dN)jpQ4taLe+_|9DvRN zKQ67z1ogHNIvf3z*vH%aadxz5DCpz()Go`rr%?kIjp2E!!G>&G`7*XNkx67MIq1=^ zhqsO6Bh{AeWtTgL%*>{VloM7`4X;8xu<92X4$9bjpq`B zHtyw(-q{tUfIyO`XYexluf~%BVF#?4Z6Wz}H54}h;>sH_eX`4oZ3c{p+pqm9vkek9 zq`%GCpCasAR;H@;WiQ#ga}Gb%Gy3K~jyOdp)V{2jDQ_<|nmTi<-nMTW`mLYOC#;$! zk8zh{o~4ql*vH}KXzBOPgI{)Iwk>``nJ@{5ue~ZXTD1v3t4wQITTv7qp8I>g=2`#r z6GY5#149*65fsZ`qBx1;4UZSOImd0}#1f0`@VG+$eQu~ot<3}L7@6~wIhN)2#vG8b zd@~eB7e%slIOpU7dcH&J>P+nfZpO7X`SKt{V-!I;b7^g8<@)i8Xek z6(JMnMc(*!J(k)h2|XmKJd*N`Z|+h|oA@}fy>$HpS@B|fP*{aa7_{wuyXy7&_}Ed4 z1PQka2=4;_=2z0ng>xtkz0e%kI>EIoMzmGYvihs|_H)_W)j#skbaIou&l<#Sni5Zz z*w-xv$duM{*G))agbmy4N@EN+^Do~~zDRV9tM88>6{^~}Cr0%O8#orBp7_B&$8FLA z86`j#+X_9^a@9S<{5G^&qF|kT9=&G)k#KjQ25#}~e!_z<>FHkXfKK^(I1RBQU*e|0 z&pFW`T0T)NgJU0M+tIH%s%Wm`@U&%H^bVq|y9`%V6XPpqHtgqza!y&57et?^_$r@v zoJ&7OaRrg^{Tp(1jwrsxA^1(DO)ySTdVzQUz71z%uG;$BDyhPDbdU{84k1i zZ4#wodz+tRz&7a!i0ekzmwcFB#RR>he|MztNAhdfc-lmgg@I?kHD{&y;sUZbm!f0p zv1IU>a#`;sgsZ50ozPq_c*c2Nx^K`WPz!-0g$I_gJ z#LV3)&s^QBB~&0)i5GMjq2c!3f^cq29vb3elS(R5al(sdcg1rC{%(T9pySSTc~Jc< zptwUYLQ(;=?e{f1XOBk_=3gfn4FecSM09fH$RBxVy=JrcM*0|SYOKRDU17=Hxa?;=yPogZCH zT&c2NX=kdI!7*HLwV#U(gL7`i*3|k=1zTBAQa-|_ql2?Ar?$(2V_F7A{ESB`W?U(& zazqznA#=gqkOQ)0Aid7zzi#sP>CB5|<faK{pfpFK*EgiTiY-d0q|{M!MN_(j zv8W?m1e>Jk0B={M70AgKc=BPcWtE$SQtPs-q|La3wo=m|uwQsdC{JbdL z#T*?*?%-=A5{PI7M%sCGw7V>?-OM_p8)Y!@YPU9xPsF$OMQ0YYW!owf-B=_rDZ>1E z4+k2An&{oSW*0a}=P9uTU?>0#t9-limMb$Od@Z-7!?GyJ5K;CHDcaU_U-d1U79A5` z{z9hR9br#0JtARTTQwH*q|wWK+#xGxXL$xaA(lzY*;a&oHD*%PbUos(fcLuG|Kk>r zN+m?|4swhQvxTQIStS>SexUFdF|ST44pWmi{g?Dofm{G zDA*o^*(ZAo1_ZZl3Ywt>~IA5zI~uwtLe<_Q2!^-FMD6q|M}?jf7JP5^da&f5tHPW9`|wH=H4&tK)w zA8KI3<&#eYO{_(L_X>zLFvQe0X!Cp6#5 z;J{#zeFWPxkF0oe$yC4qfX{x}v&{pWMg#bWtj0?VFL^BI!!gAxx|%V=wU7gK-vm#q zf~?@L$t_DpyHv5Qy#7$xKxU-oP}A9rS#{5|^T5M79^1HkC~Ql@de>S<*R zKQ>o5n!N#>qcS9H-vR?z2Rdk)LpQdpA3`0tACVGsk3T$`Rc=PP5*0zW*8J>~$yw+^ z5zIac=RMTnyd5d8Xg}5XY?3ep4hm`a-Mn{jP#@2@v_B|VAQ#sHNk+Y+S0FNkA`bj0 z&QZ>+rp(sRoj27Mvi^Kg2{z#}prO~@|H?FjK3R15EJOlPw4rT2XymHeBPG^=9@2h?<=^FES#Z1an5iwLy;02^BsO15o3bg<4> z0ENJ40&EMwQUYw0*=$teofaZokk~s$CnHnD($?{u3I81Ng=~ssdo|O-ZY7ghWzh5)7lXKPj~;^~wzTz!cW9ThXK)$iJGEop_$~=B4I|edQr%USyLt2XlikEd&?t(7y@7!PApDQt`p&VVEzq8Q9T!Z9xAV@ET}_8X`@UEUJqbKMl)I}fq=)TCEBBl zX$vJlVZuD?jKmh<=adcFBXkXxZzb6RcuBnT&-VQSc8!XB9Cc%8^qYuj9E2D>1w2&a z&Iwr>7J%p3akFpp-42YVS!6%auK_DSv!oS&2St_Y5C%9OmCdM}`jm(|ikHX`f1R6OdX8J%?(2-Cmmu&q zBOy@=nNi;<@@JHQMjMp6HbU-HK5C1@kfIC%3cNYbj`aaA>>62hG_*g3?G#74o0Ry; z-WN*Ni9}h(uDx)cOyQ`?zjZ;Koh3A(xF9 zjUkdPQL}FAz7?jNFKR5N-!LFh42%O+WWO_CpQVVy^!j-ypRPo5A`xbxB@_j?d%czL ze0>~NsS&AsR?27wJDR)uv+c*plxd=~s3ov$4tf*krDlFe{ zj0)3{Mwpu597Rs}lnkMOQNDC<#((yeQ=(L0O+?D@g@$4TIty6~2u4Yva}W$Ar@P1B zd_GZoL{7qst9-SI&Y~%Og^4d-H(}rSrIg&(aloRM_~$~em)P9{&SM(nV#>75FPK`% z9mx~GTekK%GEF9e{(@`D_>Mjthlvgo`$N&>96L#OOYvh#==h zi?i!n>YY~dx}pGHB}cw6^r%|509Ljy?Hg9bN#-%RK4Cv1=l;W$q~4K>`|F_F3@&f4(7nv6+x*V z1)SodWv)+(cubbGahN!~{y`kxzKv@&>j_6kvJO#3eamDpb25{qjuOJw6%MzR=sha; zL`IbX@tA;=6PF-9FDJxp%ni47J5f?HLOw~DAV8BYraQAC;^xIhwbl(*7W-YkJ1G6C z842bkj^eKO8>p-1Z|4j*$@G`D|{7p+yajqKg#V7(jsNBTv@>x z(q4UJz~PLTAQkX5)^L=cbTR9v{_ZG)m+xjW3sEk3Xl@m73qQKe1hbN?4#ZVi?NEm56makCfzhho{fEpi8KOvB^MktSFRQ(14kcL^u67s<|&h(D-AL2crJx=eoz-nFUBYBbubCzwQdOYq%Y;!lPNm+JPmzqaQZox=E4E+)9>C zHiLr#>iW}ow)55&C5>cY2hMRRf>g?7eXoq0hhaNs=2pBGsRTfDA~t)(!Pm_$@{P#^ zt$lgOGObbTG^qKG;L7T?7~9tKmK+?M8|Mj&FIGItUZ9&RmD1K^wkkPV`O?uCWJ+Ua zR6~<6R6;#EOVRZ!z~r#$hEq+_Ka=glXHO+pWHP(~@9fO}wIFCh%m$!`UpO$Ds=~rw z7j}n2T5V5lOuNt;m_?jm|30T*gO~~L?AfDDH&h&@a)9-4c;nEDRJYT44)bG0He3iH znWQu7G|wS}>sZwRW|Sye1?^@c9;YVZBgL<%3mQ*hbF;HJ&y98Vjs}Y`-_WoYnJC-M zJad~ug?d#_Ma*t!7lM#6Bhc(9t?8jX7tpUdu~-T{sbhe>isq;hrCooyg0A*hd*~uR z0F&Xci*b#}#x;8IYb&zQfAI0kPGu{Y-n?K+xy(g5RrzQLdcblIL)!dnLa<4Z0t@kV zN^}`3`_X+N!GX{~P?c@Bn4}>>STz&n8aj?=L{H$*%-!DzeJ*r^4V@mjJmD<|m(knK z$R5cdMEs^^>WTQd&x%@%sZY9||MI6Ee!Ig0L#7_)ot$c#VAA9#7w^e2N46 zDM@jzKKZ5oKhA;NVSQsc<-)m0zQF3cDo@d&#krV5@dVn^5o~Vf zxai?0wwaTOjs1<-P1me5Bt~goJTHwSi^gUpqgv$UcKKhNDxUxH{velycP`!<7PKX8*gj3GoljuT)>^=1F=@i9s9P1aYgC{hRsg>{Lc^3{ zcmB$Tt%8Bh5l#8UyqfglCV3_H_E%C-zVV!c{e?j)h@t$FU??^H`1wdTnhx=HP*cSE zMT~t2{Su&iJpq||;LQS~tOVD(H~@K(i1V-}_J$(Bd_0#sSaFY7Wcxt#kgVSo9_(Mc z?zpDc9cs=5t5&P1j$WnqaLCMTf15F6{tza3@(&ZOobORX?}QgFq0V&Fq;(e5DG@R& z0rUli05Fhd$h=7*vGgM={#E4L^YG|1OoTt&caUVfW1tA<2TPoYTMCjPF#T*-gd*Y6 zset`8E@GwqIoi#uC!Thyv^V)xkIF9a&mM6&9069llwA z-~Fmor@EcWd7E}{qNC~+6(u(>MDaPnxdpKVamSzmLP>EB6pY~&3&nx(3k4Yx_(7kG z()}Qs;m!!=gVVX1VQx7y=N?=Hsy+v{DtWE4=;g^~QsyR>Tp=M3%FAUQV`YWON%w(b zoetJ3SDdNy)Z?K2orWypQ3vQ7kfJivupUjXZpg||hQktSvTiAytQmXWe+(Dh% zqZjXCVee-5GxIi=3I#1zZ_mtx8|Pu#n*KFvC+O}+C77E$#xD+CQ^ZD;aV>k=G===^ zF>R!jHwy@KC6QF0VX|dqk=ZkZV8!2ooD*9A4}?H_zj+XP9tci|d z2N8}ZH$SU#MllYa6r7dHlm&9!zqQ1xn%`ArvOXm+mKKEtL zez3H39cSS*x09O`q-|82d#N=gC^eI6t+L9}1EhtKlSE{^bYnkZe_9aTVh$!&O!B48 zYU1n%{znd$OkR*P1_{ia&w;y3q>DfOm~L4n-HfHw3s6&USjhimNeaBl#Y}Idc@RX% z@u6l&B>1LGP=o1Pc~#FgC#>ZGI@4`w)R8egU0vHzy)s>7l|69mRYxO zf-{b!Zi@z=9a{C>^NQ|MuDR%wmG}Ns!v}NdhNX3yu8A>>=#2Srd6Ijug}w2^x^vd; zR2kLbXs>+5NMWr|D)r`8v9JRXNC{)3qHmAnO-0k15R{*2<=UhvGyB|6q=bXod7&M{ z07U@b5V*T(`zGobYZwHLeqWLuw<&N@VX?&Ct2n51){FWD#w9a{i|{Ii3o=^`>owD* zNRcT=WMTJW%f?<2I+2t-^LNCjT?Eu{LGKAq1;6tOAtP#W}0Y8gv(}4VYT+eKZ_g_I49UJ!SmZX*a zBL;CLy`=_QT&R#QB6^U>zm3g6Xszu);-c(uga_zHc69m%Ay8FwdB-9ci;9XwjWQ|UZ*mw?`uG29)(^h=Uaoisny$2DJ^ zLBt5x1poB&HY2rr(pemd69R~s0&`-TdhA$kcgC(IsHxVvfy&$6;ji{p&JVkkW(^vR+^$}+b zMzHt7qW=@{hc*mO^rs?TOX?YHH7V3|fPY7n-@06j4?DCp9k{H&k>e!c69Py=tA+BP_-sz{mn$w~ZWRkhj4a{qL`_FZ=ND{_ z*0^NS;DMD-hKeYv3rb5l+Ruz(mvK)GgYRaU|L%vgrn(?A%Vzr58%y|hR2vIqyRjFz zsU$Hk{%z1*vchl*GHI8q!4W-5~iDsaYCq_wu_Sx}V>2-*$?!?yBLyF#a-I8Xh`@K+Yi}gJbTX zNm6X`i9#mbVJ(W`)VC9z_}DO;u_ep!RYmX+|KdxKc?xPoeibRIk-oWHN-J4nRmj+M zI{JkOj#O3E;9_s@c)f2E>fYzD~| zjF$2I_rRO+`7>obd}dh>pPjM1iVrWB) zljN4G3AMIR32mBrDobHkfbEunpxi=YAuL~FbvqjN^mWIKoSDQ&Z)-hPq+*09{&D)4!EleL)0 zU~>~P?7)RtF8$d0PL^mKYSJD8eUMSkb>6=J#o31oQrD{lIzuBbMb7!jNUWA~?rdJZ zcLms`UiNG$R?RZ#+J`BmUI$vbkQ<29F!^b-^}}OwN)e@5JZ)~MeMpD)ntR9hC$1)dckC`sM3s}R zag@*IMcFd+ZrIS2TBL5zO~JqxN2QRMnQ|BzxPw^tJIx-B)+;zIe?4@8rD7>g%T~p4)~sh zwW%In2cJZRW3|q`a(OUoWYl$CMBCbsSq&xM9L;s0QYw`#W)&rg5Bk)YF_9%~M8wz{ z>WwyCg#O>Mk|Pd#q9Fi4Zzq#b&SmLVQ{BC)4$Z^7!QOc(8e1P4Da?Fiz4&Fw3nZFo z%zZZyg-1y+Ts8-*kdQ%?QAjZk9L<^Ev5y0dg+nc&Nu5n+xeUVTL{vA;Lh-46eyN{fY|~f|Y0mzy# zlg42md-bekPgu*|%WwAjvX<3EeD`lVlNj~K<+VL#RaD2{<6yW0e09X`43RDLo|M0V z>i9iiCvd6W<2E>FR=idqnw5$LO2mT(WOX21zeqne+i#&7Y9QZF$U^1$iax2nA#AHq z4FBOH@OTn^+R9XG7h-U6I5CVVn$D{L+xD88(n9uc;*|Sd0_?QSmqMS7OZAPt(IWEB z(d&T7;p&%UV$4>nC`PA~^8x)VA+>?z;22G1?>(C>r9lIs}eUrN|fMv`S*40wn#7Y@w z%yNst~n=Ft^#qJd2Oc)q5-B`RlWd5nN z2S96yf8(b~5uADZ;#R39_j00&eH?moS=u#63lVl`RPAi`+aaUL)s~KMxpmie(>pG~ zM8l%Y{E%V5p~*{(c~7FaAq0L&RCphMXh=hMRO%N;%~~HNPVD&vcOPHEcpLjDgkVB- z-onlKyT4LV&1$iuk|2S-KJd~@xVnZzZ4%Mv@tbimu<(?N?$fdUzy8WN9yv5{Ncox# zq7heg%S(3*dM|K{Va3X*o>t#tuEu4tpNGgPhyeX3GB`Zwvkl_x)H~;hpZ37o1S?ku z5^;Wh3VQGoCB8XMIUAXg;@tX&Z)cJwY|qeqLgvCza>8H0nly75LI#j*(4t}2CPQ05k3^vfl9M9*v2`;-T{ zh(Vvh*rT}`t-M@85MkrWY#;71CG|G>zBBm_&WVccKiVkh?>#&c70o{^aZAVA z5jz(%GBIGIhkRYj$Lk0aEt?g2=@&2{h+%KAjZGT1to5F%I_P#;x3!TM>nfo@PK4;H zg}9YHjB43Cm`gg_MlaoK)fUTsjQ`WLt@7d=s?am_u(U?`bva1J%j)%)zb$`}W2|mv zTc0?yhBrew$^4Yk*sLOnomldQpx`p`*iGn3N0FH>W78^${87lX{bVAAd%|M!t8UCChRCr8JjNG z&7lN2@AHZa^OM<4xlxQh#5CS+isNX|yz+p{A2*FnqHK3h$JSfjzMGzy0&I}-{0fPr z9*J=1oP(EKBoV0wAX*qw(%cnjrGoZ6${N+S=o7rapjrV}={9N)Gqv{MWl>v!CE9DT!kJ;XaYu4G%YC7 z_MR!gcC3EH$D0(|cD6;Qpa~ZBQ6+J1S8n!L`S4AvmJS&;u-ZgzEa|S5qpJ};TMf$# zXmwE{3*?#?7QmplhH!t|zLr2+(ac`gSiEYDD{o`-Z|$`^V0S+T8NojX(fojlA?Uz> z0gUdOcXRUo?VEO6IeG8AeUqLNS160TQ!J(^a ziz8!eYzGW;hoDjwDPRbeOJFyhemdNz2OD4k>Tlv`$>8m#xLFP8>Sdh5rGcqYXse*2 zOvy^6p^>teVZB+nz={RtLynH?j-tZC5!zS`3bW8aQQ}IAt|{Rb3*d|#RVxJ9@yNmd zmutrH(rIC34oMb1TX3hCYX%db2wmZU+1z@pC1lAtKB@(99b9Y6P;-_zg{{g0bi;w0 z40X$kEWMb&$N1aV>Qy4(-~UMlA|PC=D% z8acP&%WtLaCof^+rzW-YP9tiyNDDB-Cxj{f_#=_hx8*-!{BbY7wlW=^h2GaiN#uPR zkecv8CtBL@VOvW2r=3&Mb;Or!%O0<;DrsMHU8&OU&4a3WUvG6ycwxf5Z}=xK{njkg9n%KW@-UE7V?kB>JEJ+d7}n9b;i^Z^-HgPSOZJ8YR0t6KqSQlXZ- zeHd4@l6}yKUQ2M@6y|HJs_1-~3?Mn-gb&IhNw=fUoaiPVw}V^n{rGmN{iRNcXS+9^7BUM(q@iTPUcb|LBU4r{?_bV ziW0|!1ys&Ye^bM2(oS+5neA#6e(^MnE36Ge5&D)?{!A;*{Bvxt&-e z%SjB%7HaQK+gx{_S7!E*+fp#Cra42vsld8gu=M76d_*r`tQYWV=|N;ZYRHvX8R9Z# z&5WNo5Tv0%N#Hd`su!@L^h#B!unl4cn^L7KCc4xyrss7OoeJ0DxwnkswaQy)bU36V zqERJH?ofxiioV6@Tg*JCkx3&0^xgm*s2l+r8e-oAcs3<`05`Da$XO8R7HPUlzCS#? z0cky(j6rxm3}Gq!pIiT?9^}H5zxBhVG9*qj37ZN8YC#f!O$r{%G`TLS7xVS>n zPcg3i$GtzFzuj~Aa`b?`d(oMQ2+G6<0Wxe1p?rZS{x z3=&XKn6@gOgvFr8&N;>iSWvLXmJ#SbXZ&|0k^nzX$H?#prVR5yeM(PBq-|Ct+{D zR<HPrPZ+7g2t66YB@+}`~?Hy%+8D(}pc_q*aG zm_(9j@I_ymmlzkZ^b=ASb*HAcx()huaWP$hcDVs)@Q2nmk09S>;@r5X&~exCR%Aaw z?B6-{7dnA^M7NA-nmc7TMaTylz!Fih${k(?WeBz4K)r2so95T|xPN+nM|*0~bw~== zG{st99}KS!pmu1^7Xn@lz;~rPB(Ejhz(ZL^)BWP2i>dG-;U$l%3I|0=>8q5iZr7GQ zX!FGFZ^trL+qyUEs%_=#YzXsmk#o&a`Ywr5wQsg@cH4I~ew+&ojK*HEK*=tZLfH`h zUbQCulNeb$LUOMJ$-e4M-o5BvA^JEd>8+ghZaY^utDQheMw6ihS9uu64EiAvgi zP++R%$*pXG_(4*zcPA;?`J}z3(O%Y4UAV%ivh$)_TZ4zpiGE{eP<#8J+Uk>yu(gd) zf$qspc&~OsjfSCYg?F%rS6Dfq8H=EtOAKiy`HoZSsh2Q~tXk~hBjy;1vybIJ0xoB| zj8gAKF$jtaq$MWDph9;X7U0Fxo{E&!ir6_2?m<^JFt8J4+1RXM)H;clOMvn*u$^fa z1J`BjanLFic#YjPg2284CQ^rbM)adQ`Pk+#@~YA;bQ+z7pQ4Z6e&hC=)mE-D`34(X zqxYw|8IabSu^fzl`Rk|zeDtOIA-6bf?BCYcwlFk4dcb#)HBXF!e{4#_9$7KU$wY14 z%!oN|_l|hWeCqS(jY{GeyVZVD{iIhtx&b!6ICyuLt_^5i8Z)=E<=({z9)jR}2ff_e zg|N%Z;QoA7-S`j86>j!`ujyE53{)L^*S z{ZBuBO2#i=e)9tUzWQu0!yDgpuY=wv{tA3h`l0f#AOMEgEEFcV_~ga&Ai6!CR>kRW zP|#fZK(6A36^?TdND^S}%HrxQc>trCg2TWtn6Q-~@ik8Yg z*0hlCR;Q=akvW#*Vw-^Z+(?d(vUNr>elKF#Cd3r5@j8whi=pp5j6g+A+{3SSywa;x z;5QYB=v@oGRP{Ak!a;_)SH3rGq%HNiemRUCjxOkXe(bgAHQbug;g>)8-Yu517IBG! zpc|8giW+zAh!oe!M;=Znty%rfG^{%4^{HrGHrsMn$?OxOC`aB_66tVWy1IQ2?Wucw zjyg=qY^6h&0}7Bw)@bCRX@I5TwxAX*P-R}aN#fs7(He@$Y!&gO4in$( zYH_LtQ|$dM^Dzg4EO@bZ;{(@JCKak0tnI)UAfF(4Eu-G0bltZ31Zl$~hRHic1 zLjX&Gq(69*D=+@!Prb`HN~38MG)>d?CIAZh5@lxkbO6g(d41!n$X&gB*}N&Mb9Hfi z>AW1jbS`(l&TreV^V=P-^Jh?{FQcTX!jCKc`TF|OxxBc#zK5m$)YvqkSNhZIT`%;H zNffq#=_%DW$e~KjegAlM@lJDr-7Ndh%V5h@ht8kR-}budT86cCB>Anu!Ybm(hcZm% zJJ`lNRj+`V+amY4j{d?fz3evU=B-mK@R8*0ya0hx*3k%mXsBv^mFBV>l}|>qdo-FE zXlP*$P8WZu0@ME&TPV5s8NNnH@!*!o(*p3}(Lr_Ls_lJ_rM>OS@LIYy2Mp(|-sJAp^=Lt)L4`a7u&>upULJ81sf-G4OAj|1FT|i6YQDYa?Q`U4JgJcBb zF5)PRvIL}weI!!M@j?y5_>;==>Xeb=7T3;@w8kGAtS3Q~wA5qpi-DuHOUrzf`N1rI z`b!*iWlb~^FaMYKZ&mpavLqwBP*!B~v{6Q%B8`#5?Xd7g$=9k-W4Ae(R9HJ1rYGlJ za3+5e+>f5SJPv1X{Lh#8<0S7lcXl!6Kac7jpqB*;yZ^&(tNyDl!huyUUxy&7wz!08 zU0lJ~4_93FCCXCxX$*SMXGZ7sn}gpwlW5ri_%vuO$gQ&LG;5<*Z*kGTr1Rgux;St2 zfhSPuvXCD??Y-Lfs2UwN%yM4s}htiEJ(f=1AE0{CZ(a_BL zIADU%NLKE&7m$Q%utyA#mM(`9Je1$TXiH|_CC1Tt91uARr$ILJh-Ec`$rZ;P-l8jt zJ|)1w_s;&Sb?P0^LJ!bl_kwOxVAKBwg6%w@UW}z)X?Lwp-5k_>A&ypFoUS)!+K{2^ z)(1@>LMlbuidx6P?+0-6)vvfCjj3DVanR4}Wa_TGQ#W+gTJjdN3ZG(8*? zj}x4+8QLk`=@d3V!dm3WM9#icnofYcs7@q@vw-G4bKZMw40Fz~kttf=LF+ki&fcFT zFB-y?mUMJ%wNWw~pU5(5o0SmN1>TK2UE{moe)q4x1BsqTeV{1B_ukTqhsPq4dIXGw z91lsl4m@Z7PhPxs!YDjIgUif~XMN#H(4daiW}KCeA?XoczD!Uqc4>@tH5_(#m?%`y|rAoA4%-r3r4$^?G!PXDBgw;zG`fC zb2BtUX`uoUVPvkxNw@=Q0dLwVOC1+tJcClS<~?@GPSX7s!~SkV_-hj@bW})fMeC`0CK=y- z*i7rO^ExDw=%-+m42A`xxJwshJLA=l?^-u*t1ktRvaHnWVxn))erU*-}K)X_SR2%cd}B!iG+b^#Wp5S^U^&HcmC-kpsJa zC?@PCiSi}<&_ec(&SiCZR1U9;tsFDn#?0A2cnOz-3u^!j#%oF=c+sS%u`Yw8v7hwP zX|)UTM!KO>5J=wt_$Q2t^{3-AY%%bUji>w9*2t%XZWqL04~sLPq%mWFjEL2GF5Qpv zH_BHeHVg{W&$^%a_P$oJNb)=e0Xt$T2% z%QqN&$Hi|fwDKGiIIKDtWl@nYI^uGn>Q>3{z(^=&^i5pf{Uh~+&r)-^kVdUfoNOae z4cRcwYS=m;8-&BwJxL9Dc;rm7`JB3tc%Qv#ru%MltOvQh8jFK%V^?V_vWfnqS4#nh z$7N@~PBEd{I(Y{h?8J%jcR>0K7O5%px6Ge@41l|X)J2#Eo^DT)M;&0@=s23f@9Gvu z8gb!xA$O%T4Pd;pvGbo%rZWCR6VCjlCuHcy z>}K76p}bw>%rP-v7@om_PIW zlBpNEu^)}ZT&N7cu01M1C zCX5oGuoemZto|LV6cD<;R4#!Pan`G@SccJ#V-3HU;KF){Zds=w@5pNuMipxf*&rD219HDq?fU0bi}h^9W~ ze|M7n&<}LzdB?g1rEhQT14GG*LhrSM^pBn|3?UB|sG|qvH+vk2DGfp<3$bUG&B)rQ zWtp-%`tCN^4#g~(7n>cHr23WsucixcmXQwU%t;!=9uOi7vIE3|AjpK6%D#Rv5`~p7 zWcpO4C|H;OV-pc8VBTvB0fZJDzc^LU3f#Z1*)$oG(W{ptz%6#yKGEiCkpWfAl&AN; zH*kf}d<%;pVLZOZB{ba$ewvhbLAFe3kOfot(M*!J*@SElB0k5UU9<1rA#g@qJ#7z! zV^9f}SnL4pr8p9ns^B{!WrQAJY%*H4O}I?qEdoa$(4gl^b=InVoJj&yB3ug1Nfj&V z-$Pr3Z?rN9jOJ`iVbQ9Nz;;X}J+=@#p3Ss-Ay+Uh{>-<9q;In4fUb(NiMkVD==sJ9 zeYMs3gx2b6gc#CLWvR9CW$ft^gnx>#dS2j3Tjwf60w&`ply>3G3Y(7{FHEvniYwUg z#N%aw4&5!{cdUWZ_QmAxBp-fG(_gvso~Vg)=l~i_GwAQYih|gv058eAYsn zP@vVR+eVupiYf`picfVYYOrdh!W~gUdrR(dGtM!tt z24o1}K!|xdaJTF?aF*!2p(ZSfF;PT){(|fM>YVgLy)`< zauVare8bV{MOkZZHyff+Sjh&}!;XqcEKPSb{wZ!AqX)0{8)w#e)!kbODX0@$7^V$a z^KCquPGI?#vNR&2W|t_y6AaBVOqZdqv#bjW`*TO>B;5WmnfrGqcW+)DXguM}r}JCN zHaMH3X_Eg6Ogns@;srJ06~e@-nkMn0!D12BvU`X}{5r#<3IMc1q@E(AHbh7j0ava% zIYhsfyAJH`9q-j_?ThOrG6X40S=?kHr`-^L+25yhugf~%q ztDE#tX-v7f8VG22g`R)oXOqxe%kz9-gZDIwE?!}O(kxYogOT(=8|F* zTVkVwH76ci{9j8F*+Hzr%46AMBrcTLNA8!fW=us^C6uA?K9>W><|BcJiGp8Tq-&kx z@-V7uc2>7KS_bo@<$cB|@dTlb=Tv!7ZWocW^eEWWPmI^8JQpPZ6(w=4ai(SNJD|F( zO>kY*U>Yc0N4SK;FF)QG@JV zMDT6`!2=V|w}%ovf0U8D8`1OyBIZE@chsfy#+L-?(ja`raLfb#S8a)(KNws+A#Q8L zl|~@>2z{N@MgCf=JSjig0qzG$mIGv0M@KVczWDIy8d&!lB7F~XO%HmJh37^zau53) zA_g?C-epCD8XHEnLi}H4ONhLq6ma7a?ucSJhK&d9tgY6-_?5vsyQ!m+pupBPvgxD+>7qteYTm*a@D-WbXg1LKt zgf!*Ta6%n3=b-#Ok)=Hkg-Yht_U3+^q{3R24cB6^<5J*rjeBQMLaUQ z9n^~|Qh}sx)DXb}U%&E8pMq!wB%dmXGyu|W3SK-G&s7D0c3fkHdUyfzn)dQPmh4ifcuZT9`0a{MKtO%t?zUNL>fi$8hs%VJ<3-pDK-&0Rl8 zM)?RgQU2MtL6FGu0f5^_COzC1kK2P}t*fGb&1lWcOJmwWRlD?Ro1pF3sC6^{t&aYmESRyP1#G z*eWQAos2RUbGm4i5K}T^shw`$$gGxS`9VsCviBe?H9gnr8;@BhZh8C{9xTsK(j;Hx-jQCp zN*U!gSMH6A%OIPBZg6t9H=kB|9UZS$!FunA7fv-_@B#e*;{|3wrKG0v!OtTqml9Bj zr(dqHKJ5@T-We*}M~#{g?9QSzGw8k9V)gF%x9-h8u%QaYPHSvWsIODtt7gJBl$Kjo z#^@11cQSFCt+wIj5-=NrN&{q!{)rhUo@zi0X53MWA2O@+PWuk_#gv9l;{Rup_Vbs| zg+%&izLR)}Z2^bJ-@I0oMXlw@LB34`H5)g>{tW>Dywo zrIvA(_i`mAjgyrdc7{*q!(6$)-HRmEVBUp9vH<`OEC+3C7}4{xtbrFr`0&%vHX-WE zL(M}5ZDn2)hVotk3;PP;UK&Jrd~M%|$~(Xh;VuL9xXA?S-MynT`3Vggd0hIkeoCqN zEHe*JMg2B5K%<1=C6i{dj)nsMy@A`Vda36EqYn%l?s!}BhV0_{=~0%>gDGu?uT9mG zn4kgLHw;nM#!R)C3x{qyJfEzpx_Avsx-=Rc7wraE$8!xt=VE1$5vFbAuvFr1Azps7 z_|`XQj&k}{f+QGw@zl|dnWNY*ikKp@M=Tg&K80vEi69WwB_N5G% zr0BAzT)Qk?;n(3b$S`ka=B2KWS+i;EPCaLzik>FUKi{N(_|ZA_CfUu4vGbo%Mw;^~ z$Zojn&CI9MfdVZcxv&!xGeLlE7?mP=AX$kb=bX~&nR~86S zbq=3`A({q5R6=jp0TK0A)$TnI8v|m8cSGC-ihDP4KXmv!EMHAO(4yy$vS#20bTzPT zHcu3KcX9ptpFoNOB_)X>vTUQEgM#NIiLmZ2$R~h4?8SpkRAQ{nz$-X=>nG_yN^}3} zD5F(UDCb;hR|T2CjbnE$g>>?q@}weT-Fdavb=a|F2c@8JzYaGD?D36isTA!X z!oTQ@4x`?T2*5H!F?L+SrVAo3hs|TxphWsLN;Mad+d*0{g;tL=iSkVLaA*>j=ximn z806nl!K1ih1tHuzbp%rL*fl#=_K*h7(x?NyZ@>}3tN-w& z_W*?mxqSP=5?55CJ22~rATM!Z8WL3X#6x5aUZ~sN!UL%{;rWz;h+5jqar&7II{3@C z^ou>gbP*+J&Q@?ElNg$&WO%fx`DGgV%G7xq%}A+ig zZr9*){y5=Epa#qqW+mC&^+^%tgNbNrBRx3XS_x@-^GcLrK`o~B!2Z9JeSdw@Q~@JT z@>FAastCEAOH`Fy;T~kFYVNcXscHiV8f1yyTc?ffK}OFXR5~d0QVF~v3k*Hr>e0Ol z8Jm#)rK9e@C43Cr__<3d5PAv3_{W*PUnsR5C&f2=hFqU{(8Z4{^dhZSF z!Fa6%wjDR6Xt0BhcJhM2$~C@-h>N0LXPc{D{BTL5@4Yl$cb4lp(9UQU%55SBt?8>) zd@lk#@6Szvo3GLu5xyu^CxPd!5Q#4x?#=-prMDP1EaM~?AC`OEsQ&NQs0UbheNqFO zs{uCPcCQ6gu#o#u0;)LKZghZJ0JKyA?o&|Q5_GF-)kkz>d#NTz+Imk zjg`!yX81>|?NYyzYduwcO?31%(ZZWnv_Mayb<@+eY@9b5T&Rl99w^>ADH);-2NB~xG&nk8YQn^3c*v$zX)NoNtjXjwyVo~2I z)GS#Qnu z&IbUhTGO^m#92BbpQvFpY!ED5Yc%OrHf{1EMJ{)o8#(9u5BvU z8Zg_nNL%CtyO(B5yl5AKZ1uJuoD91SZ0Px85npTY@r7Yv=TIC*%eZ)@{R)$8ux-tBvH$I+DQJ(YO zMpHMSn*JpGHErA@H8KPInmst|vB5gAGd~7$3D(?jS=BBbzl(1BEQg6hwqEzCH>W}n zEa_5JOW6tTp-=J6Uf%dRVhOEzaBvofC1_ z@c6jbsmpV8h2$F`DqajeR6I&iSyP_lfJy@wSy~hh5*kkXB;we*J5yK}CXndOu|y$DGNv*XkWyhE+)2H$s|vfMyUHHsGCyFtyack% z(FA!Vpd2EFLEXeyTT%_38o*R9v&K}%3obsyJ&BXBU8)5{UiWeuJ9#| z%i=n7YAbF~L7@1V_Zcpr5N@8eGJ`M(i&6kuPB2Pf63|LO&Hsd=)Y5aYpec4P=T5nZ z6e=UiYxR>z^+z@6Q`MrC)?I9@EG@W5!N%q)d0qu%tD!9lfAW3t56*#V&|u6ZTP+aC z+_*tTc#%sa1=-q!?r0?Wyx3+eUtTTsYS}@}Q^HB*dXt4emq3M&-Ysyp)LMFJu`czl zu2`K$KpMMYLRgR`-T3Hp-njZk*x9CpdGVSeuG5HvQXEI$w`a|=MBL~SVWL)e6GRgw zs>to1$&sqUy6uX^Y}@X+KyX%<0ffQ0INWH2mGGjE$Thpr1yK1)^emy($ZxE zgm*pNhLpcM* zV9i5!LY-JzpEtb6tSgU{!)!Gpn~W(WaPj{LE!r#UhdTY}?7#f&_;*&A=Zn5&iQ>NC z40_3;EpB4>*2%&tcdMb@5Kd-ZO#N}%oto{|zm1^g$PVV%xFIxjis5i^m(bIK%#6#( zBsSn$OmDN@P}lk99X&DmFIBjzMs^2oqB+UEh*!9cE}|8kL47$rq!aigWIdqsHcH4@xQTH_?{v7SUy-@6aWAK2mqX-d`eO0B*_P?0ssKq2LKuX z003-hVlP->ZDDe0ZZ2t0Q!y|vPE2oSE@W(Mw7myl9L4oNzBjwKdrgv8lJ8V(OW2mY z+?`}wGGH4Qu)%aN-6n)y4PnV1rdXUXq!BPZ-;g-iI1Z2wq$h-s-bhGH3P~smbW3;rspl4Z59qGxO%nn>TOX^rKF>)i4diu;_31Zo~MrA^#3AUisf< z`fKiasM+{<_OZP_ojUTdy-v8`!dma8fq#B*=IeUTKJ$`G{L6aJI=462cuDVtm-HTV z%<;Xi^UpbVu&F6GSL0ZFuwfjTGL756`sBJ0@3V&5E1$|6#t$6Bum$$WpUK?|R|Y@R z*sX+a!-&7e0U3tlpJ^QMCPc;m@i+SLzl#a)F^1rM)|{k}y&0oGpGALij2Zs{PvUf% zQvEMO{zDV~!OPCQ@-q5<<@>r^D6857#TkP^EjXLpLR&@(`h?RE?*RILFgW*OpCT4C z&5Y~GJ>spJNal_|OB~RqjI{BCqfFzBdn_ZR!@bqY_&_c-G1-*=W+`u`VdTo;cd2}p z>7}VI2|Pl$tnzGS*4Z(2{G5)j!uagyS7y;GAn2qhW;1z}?M zIyb^PH^Mr%5o^C-^)%LOh$O4A=0ZSj@-kI*!eSV&I9avqnQlm@D~0JwljGl4$Lk2= zb?A8WbsgYK@s{d%ongGr$?>hw@w&ozT~p9IUm{Lkj#r8o=XZq8uRF|-9dY>4I($YL zK4Stsz4#jD0@FBBw-K}2q(=54u<0L*)M{ildHgx_GoVA-!;rbiMZ){oN%fucPN6`5 z9uT(?-jfL@H72)4LXgYZW_@q^+E%@ck3E8qN8uF#wAU;6D4%LRS0CUw?Xb+XmI!Hsu60Wxsm-i z-D3V_z>)@08|%o~!7Y@PM>c|OdqvBzt7^P!%qTK<&S*yMbpX|u8NG{=0wdE*G*7jFGE>|K>?EpB5%v|sS%E&=n(Co-cZY|l7{bNDR zX2BngUV%*%FwTW6tI9VknfYE=XPtKXZbGH zjz+N%kA#^Mk+^&z6rxxhZNYU6aM>e>SapL+iWtG3+7mg$-c)|G@+nzvXDLqOpNZzlIN5n-`IH*Cx4DNXEN-Um%JMEn{O^oz zQ{)cFUGy&F-^=NjCCa;!TqW;nKsiafw+U&wMrTXGH}kh^bdL7U5${~>oh#m6?d=tB zpZ4~Nw_khtTW(jTEnLfo1F;bdotEyefYa_vRg6HBur4w+o zEqGT@woO^oX>MReu`NA{y6kH!w5GY+$wEG<;k#DGzX*+?p*fQ;O}>J3Mc!3}tIc-p zs#k1tG@_Wm&B$qK1+YpZ5qFt0Jo@q zsS7Y>rW)bHCbat|ZtE^fz5}PHIS19mPaa3x*v;ZStTH z*XX;^p4N~wl3ggGc{oH<70X1Z>*@ zP1Zx5`9DcKN;i?Elgc|q3Eb&;AJ>{S?$eu^j2_UsYV=*8Cu$<)Rik%J1Z7MNkfvX!>6n3YqlyZ#q^x?c0?u2;*ayBhd(z2?(h zlkjOFx$T-KhC=_auC}`(^laqvq4yuYylEYChflzu?o2nooDXT0Y&~z^5BEpYEQ7 zPdggNM&gcHIO695XnUO4mJnikP>-ry}!$BM7|t!m@$B9TPv)O}oW{>T9!Fm7X=I zB884PbiNt^?&`52M2!IP`~yRO$0;;wVc3u(-<-{KXOoTR#2vl#)}zX-wAo{$y0FDUCUIq%b{-wI zSxJx#?3@gHT#E~rDXlAH?4gfQomKa!L5Fe_1KJVd-FQ4~8n@mNjfY!Odh9+Zwxdgf zl}AZr@?*2fcsoqd5a9tMITOP$yY>VDH#z0le#_;I*|6WjQSV90`^WZ#Mi+ztc3>`Jv2GXLVM_?!Lzz-TP~KyNg&IQeUIuh3@4F1>3O>dFj1e(k zsf=Z4pFCbd64U<%{oZ>UqZ_bC2auH{P6XwhFlclTzo!+q0K6HXk~jzT#A|?jh-jF_ zIn1707>sJyMnh(IH3Od1C0`g8lpRCL`w0c`SgE|PcufCV2jkV?Q&gJrEYr6$GLi5t zY40J%pJ|LkAx3tLD(^X1=XUUABp08I@GduGY7h`Y|CmNUEs4G>cuIpiC*-PUp?|A$ z9S(C19p0})ot8FslCEfHzJE*V{f|s?eIHgfwJY>6J?H%yaPJRb!Bsq^ar1@6g}ruh zt50M0+^*J?p)hdGVK|?o@k^<`2q?TiAw?bIS~UVl)pAPfs96=8?6wRI;3~at#?5ZU zxY8d*Qaf8(*Hp34UR-jvW!zsAW zE)t4Lj|60ypf)R$wb!|pH2R&8jBJvS?}sv#p{f_u)oPeUX+70)XNF|QO|LJl*Bno8 z-RY(gX^+Ee0qQv%0i;cu4K&$B|w)hDe@cI$S%G^~7foD#HBT`6yzLb-M@Ow5%x2qd93 zi8R)Y36*c9xar#|LA*Rfyj+XfiV(mK;}vwinG&5p%hEbOoq8pmk0cE`ziN*z6P=$< zP0;ya(CGe2oxgvq^Oya{I)6iCXC1(HR;@yrVVQx|{Ym8UrlmsLQ5mc0+W~rcs=Rg@ ziHuomPGLUT@1#%O#tMYx?@R81?tn~*OEqKxP+gCyUsfhgnen+HzD6wQrrC}o{ew9s zxAs=FU4n{C5Ydv1);#=(czc@tVUCDW`)4zQZ-hQD z9lQ2>;&jv4vO*>}+6t$Fpq!ywE$@TS6|r$~14S`|N9Y&EY%WtPpm^EH&N$had6}_H z=EP0oDrI0^+|^Vx`HLxbb+07tT)y{7LThVpTObt4Ei^r;SQA?>40yhpL4golL)Upi{_@mw=nq52%N~gdUOJLA%Q#- zAuncP!n3YQuQLXn=)Rv#Iwue5*8GR`~E%&HPPcr;!;D4 zoKC;Be{%(R?W_&k^nA4N5aGE>M`MPZ=-Wob-C$Of*%LamR?ckT>vp*jUvV;g0M=Ao zTS5OG_}U_Tr29+Km3bX0S>Mqe-3;mIX5o|edUb!dD(v1?>HcnY2w1HF2Zexx!ZFWb zy8oNGXaCo&`#&thaR0Zr?*9bPO&vM|W;Aq&S~h8*jdcQ7&`8IZlN92~+m7;jAlGwJ zdanf5C}v__;x_aXEk;Yqn@eF<-Z|LT%MWc>f}lSd^YfMybl(-9SmNK#28%Wc5`aly zY9hdzEYc(}O8`NYD$UwLU9}2MN^1+Hb_e}zV%zaHjB!!+wN=YpJCG`?wf@^sBvZar zbQxU`Zf_pctizwCOm=?3w3XxaLwuXc$}w$mr^?+o-5B;@!PS&0^*1j+^=%n?Nh~l7vgT$ao@>t?`(`) zisIfCc2E>|>{4^rZBs?uhKRT6h=-WFZfuM=BZ`P&?ymqn~WS zcSHPk>S0=|LqoLpz{K+J!7ooHag?E7IAIwsqVHa;J9^lhj9Nc7onleHSqjOU6Do6q z1BlP%U=9Bs$-is)_XPeug@4gx1>dCYcF^-EXfv2wzC>HoX8kDey5!C0{$q*OvPXwH z^k}VAj|l4PyfDn+;+Cs&B}wV zU=AK1E9vuWR?;RLhEUS)u(gto%tdJG`)sYL7idlWAv@C4+LDxVabGwmqLIz6!F=#h ziXO&ex+S_@-W0}B#j*sMGNv3LKnbIc!IUiKmda)EbkI;zJ57u#rHnLIL%urCfqd{} zBFh87c;!{mOAK%&9LUU@j*UHBEoJ-hyyLwW%`roIb0t7d&%9xHmW$`~!Hna*FO0E5 zfc3$&)3Y>2qgqqm`_W7nA{)nB3ay+WwM*{(L$}k@J9LQCyO~IzzjE|Q%y+)6Dce&V zoT0KJBu=UJfe4GYihldcL6>7(>TJ0i4I{STgEf;uWqkHA%3v<^bI-Ejb2OT;=shcj zXQ-ZnWEY%ANRpYA%689kM9}oG@Ha+KGj-6~FsM{E3G3>HjPj1)$?3=^?1^WV4mvW% zQxrKO6BcV4ME_pH2Ti1Zd6ND$d!p@eb=bvDg1-LYr4#Av2clLT`O-ZY5nS$sf@Jnw zJt27^Lm*1trjvhQ&*Tp#k}sc7461Z4MqVdBV3J~lVLx}0>|vRIp6ZwMfji@-^>{r^wSy??waat{zgmw#bpr<_v z&9PwLv_h{IWSvY;aXTw$4jB494NHn`cBRivyEbEZJ${;;R&(T7Y76u^jy~JNSwA;@ z^Mym-cl2JY%f)DORVVX>r}grV>C-?w*RR=DS!h2#E#-*saS1Z1F?R{q$<-Q#P z!}**T=F{;q`ShTyCabQ2wAnK_JY^nFOqNHFbct@oB^o~rB&4e*^5o~Fh)2+g`DbBT zF!Y=a&!D#qJsz}Jc?I=Vs6u7ck25COaUSo;KTHN5N9exr(y*tyRCj%^4*~3;Mt8rY zJ6b0Q!tg-4Ms5!<<~`Upbpwl6d1Ax^lyM8s#X>(WKK5lndR8z;Gr&-UvPVJ)xu-Sq{_)koun?54kT-xUWdKuS~eFO1L*A+#`{@ei=DU zOgpz^vRiY?_Rb+Hd72qZ4!N{5>P*ifjyBcox}jB3C}{k>d&ubA+? zQhzt;FZfwrqs+bmyFcbILPqo#1u5^VOxZPgZi?3cO#?Gw<*+WRRkL;^x(fCw+keQw zUgyuE8M?u78RJq@wt6{Kx#i#;F(89|=H8k#=ENNDJk;U{_~JhdQ@GNe^*;v*Ig}bs zA>&y76=0F<>HYawE?Xr}av$_-jo!NKCqG=V2_Jlc@(O3pK{w7;RnX6kUIXU3Bt;ja zy+1-RHUq?PFUwNse}SNdN>j%FB8!1{ehSMKoc*uIa+xZ5BzwJHS}{5g3iq?84UB23 zkll9gOB8F#7V-x_CxVp!<*@K7Xw8xZ`4s~zChgu=!LpNW|7-Xj6wJ=*;fdYe?tdLB zCb&G?kbZ1w-U+^x4QERWnW6;l%&p`U9KT*yr*up(S4fisp}@Ya36vU z@LXwB6?qy3#8p9@xtuuR2q&KBg8)v*iE!<>V9YAVd;9mB3}<@-PSf(QjIsW_5o?IE zw<g}jiUu86e#_7DJ}`}F4&}x zBcnXU9NioW`0GII_aWc_F&szMDx=qiF)oQ>0K{;Kaa|b0k75ACaE{?-#_g|RAA6K< zQ*c2crWtaU^?yKtZB3O+-6sEsa9Y8K5XWMLP;5(+>j}Wg1o7SsX1KNwZCGkck5$^R zGa;Pzcb(ujg=lS{*=;Vm)=sxsgxzq{)k1JiQ-qrGV_|yBSix<=eqX&|cwemS1`jpq zEemco+F3u=jm6wVP%aKK0;^fKC8zA>%Lkq#^8wTrFb8Jbkz(D#a{?Ipo=SdFh{jJQ z?7KyrhY9vVisv1Tdki_=7{Zkj_`SS#kv48j@jl?BZ2kzc8F)laK3GJ*1>2GJzou+) zCFUl0^)zE=9Uii-^M8!$!8%E9*Ya?=-2VyJh4dQ1am`>`u%Q`8BM{Sn65Xr>-YS7x zCk_0P1pc8haMx2tLq2Kgg@P3=6gwT9&=SRdicxXk^%8jhq=7FgKsyOBjBJF5!}BINYX3$xT85+N8z&8wh zzt;GE)qw9ejrgR0!Fui@?q4`stKt6^4L@zQA6qP2w*Ncw9c!(Xp13g9nvWTZD1|X2 zqtDVzH`+X-HRL6g3;m(12&MOXpv+q1(^pZZgjS89cKvmjUh&t`@4X1P7C$9Dhjcon z-&d#i|A1ay+2viU!g>)SWw13`%KRfbMziXf!AY&?w6I=3&};_hM80al2`(ldS5w}p z{fR!Cu+;o#gV&tf>o-9%cPcdkN8docUu5$ykWGLjfV$hi8qvHJ`oaB}e+a`e496j& z|Hj!=)0TZ~2?tHQzk`Drs>jiPK&jjelkoOX-o3ZOhO7M#Lf!_a?7+WOk0ovi4c1$< zd3kFHxK#sg3jw!j!0jR6b{U?8o9efx8a9uI-ffNE?Ty~M6W&Xd_g^XA1<7CkB^02Y z3m~@Q;j&oadNVUTjdllO{S&3H^k)2jfiJe-O<}Dm@89I3&p7IIw}H7*?s$Hjv=ZZe zb*)Bqh1fBVn##K+6`t{#ldiU>vAL-^c}QoP5(+IoTO#8kTu!hAZG^fGY9q{)S$>K< zHgjaAc7q)~E!qQS^fYS^SkY6^9&7{c68Gkt!RNneg{BBpzatt7)!)VgFb*;i^k4CS ztY#6wd#|qPJHu+bQ`aM6mQPV5K<1|@YRyJ`hknXkUK8w5iuH~#**kQycZL9V@HiT6 zaw*FysKIgj3U(Vsh`kn=E^kK|al7KVSa0Hd0&^fA+(V5An+0;4ld&r}e&ITf#~VfuT2ruPorrdm>R z=Fu)6PEF>+l>0{P-@O+Dpru*J%+Q7RDli)0zUOML54JIPJ9e(Uc+UqgeW&-oZ^CB$z|f!~a1rhf0^DVf7Ic`r5aTc*bE9Ym45)%4>(Ju#!4qIN8d^xYJn zYDM2lCa|#reI8ZPy0)l-z0Yy_&of%Tm0(SaZ=|TLCf21%(*~Q{8hTxaI$Zyq7>1bs z4fHXCopA*0+oA|*jxe^SkO_Vq2a@fIK%2Ykc%O`;Qkzg$u1q#`r1)%eTdRegNJRJHMbJ&!qe7sr6c38|{PzhlUB^WTxsiC& zDRv>_cc*xtXs;gXH^lWxW+pDGak&SatW>KjqwZ^QG(EYG6^CvNHYPuaN?_p@1Qezuj6}7>xQq%^O z|6Me~{zBaHymhdCT7zXA3u|kc+T-Xb;wJftiA^%p5oIGgZ1hVzoNgR*PIM0fRA70H zHWIpE2y{z*w=GEVcztzjL(D)EG^>t{;T$zaT#i#I>$xk^uh=8xn!bm!RC*nMZ;|i! zP!=>UC__38uRq;(X|U7~H6B${9X z+3ya?ezz{i&JeIu1Ktw?-lGBcgn)ZAV7tM4rYz&f#P5UIHmPstArO9h%Dg)=7x{)z zzjkqci|VM~jc8_l2Qb*q@KMV9F_A~ZaxDHA#77L|nU$stPqP#kwx~`?n30584R2Om z0?%rM1N%FIf+LjH4_CxnN@?h;vIcr;7}Ci`6xVXT z(xpaF#m=qOg6()mB482Zw6u=K!I3m9{E3ZiZMpL0W_;2c>*<`>6p6Vj-gm(F?l3f0 znWk*U>pdlGp<%n=eBtG=74Hh?UvW3fA@SJ(IUjL#30iFj*B1)B-iO7Oi1iAW#z@sZw|mBr>i(&jO)j5I+; zqgNoFOs+uK!5>N!jwMKYf0I#uK-zl)Bd`f0!HHY-IQ&9`?>=*-z=?e{mP{=2U}CmR zB$0~80<|eD>XKEC$oHlO-GXUVe- z6H?%SzcR%~9oR!7xC0u!2d1LA63G7H;hfN_l+5V_eE{zeoMh_S(G%tfCe1HrbN_|=xsE}5 z!9I^pCqwO$3t?-vsj(w@--kmY{hSoODO(H+nzO4ldAkzi2pc{cq`X@j-i-49m zurj37)$n^KBBV{?<5O>eyMtqua?gAd3RKeQ1Sf&BUsT@ro3Lqs^YA0Ntd|h6Q}PHX z7=9Midb{L-kNiOMMJ}E~tjCy3=Zy@+_5$|($Y5l=U z_bT|SWPu*ccsi_|&h=bBsl;Dd!U~zL$x?&zr{Ms-Z0qtEqSH{_LYgv8Hq`piy~3D# zmbgQD&x;mJm@h1Hbyq^BCn|5ectJP{ncy(OI-;=f{1armXFL>L zEwzT6O?_UsM-#LA)G6t9>90pmaS8;eGYK;N*C60j`l&1mK8e05ygQ*xp-ewFAW3U@Bq*b`j z72AeSKnC>Kr+vunb*%cn(`uyc1!NW)WCcX3_HUidO+lOG5H0p2Jug z^|#zZo(J*!6pxBPuu9iI15?c_D69n7gkdi=p$87fcXN&WeCeCcQ*xnIi}KGWeA5iY z-FUe@K|?cW7$k2o?M;Jw1z+pMVeH>I1x3vklf<$2l7gTdShF~3>T)n*DT{vr`k)Kh zuD}+fTwXa=aq4mn7_BSA{T%=2eA53(KBOBS3T+B@G}a86m4( zjL98<81D7(2){w4YLhEJ0Jo<1*@p4ccfZ~TkxVIOUEj|~l?_`I<)f+(aL^X6Aod?;Oi+APu#&kmtF#8Xt1&i_i;YS<>x6Btj5@&K*lx1KI|oR zRjVncSk`M-(3Wgbi%!g0)tSnwgSj;5DSCYrA@~|0mdzxUtg_n$s!D9UF$%KAXXE3| zfkeNC%%V6f-nZfe9o-E>CyPc+wOu*vYYvXF7B^T$_3%q8S@kaSN0va_DeJ;k%&n1@bc_J5IFuwe#8tLR~GP%mGLbkJl9o^^= zxni)3N%f6%S$w|=KH>Tl_Ikbsb^iqJxm8{paj-zGkV(%6$IsAPrOFb7Qf-o;A18wD z;SOfqOq?A-$KsEmi2l{6lRln*Wbo)CVMAMqhE_*I1Bl_c#kw;3`7p)-h;a>K0K{-_ z9>u6_hT21Eog$Y+rn8-K`$yOkbuGI4>*y!=~J`!vLFRvXtSxOwOJaPRMz6{klr99!WN16 znXHz?65&WXXK@=1L0TP7%D1&l5bw6kl4nU+#@j}_v90pVnY9}LW~nK9H?sRQDqBgr zFClk_c3(&CPVK&(++Esz&t5nMF75}(J%iojZJUvW&dJTRX1y)Yr02NVgB=-XMTcJT zhjj+*d&gM1vQoL06x;UZQ@I)7RpHtPt_oZga_KcD5B_e1EQHGq9@+~#?WFY3qr?(0 zZs~L5yoTyDwx$CY2`%@hWXh1#v@|MBURX!G9Qi6;NT9!)-M?=w#f*OV;dW(qnTI!?FfHn*+FS?zS&bjH|~!Gj2v&YT(a z5?Lh{=)6N6!h+f1Qf3V+3}l)Hjp&9|kMD|<8euGtn@&U9^FzNnOft+RRK;0IO+fe(Vb3x==~Wp_|oi9!}vd9#f_07UzE`5@DxzB=sMi`+AFIyqo8B_4l!E77%hnyO>UuWTBR-HPLpYR z&UG5)I?bKtHZ6Q1p=sJ&*A-RJRXM4(OY}gi+q#Dy=&tVPb_d3suy312zG;!KsnV%3 zZmU;DYid?*YsUW`X8{rI5)pkjiD*|+M6FD?iAH2~x;pzx70K!~1|M#Bty1Ew_pCX5 zikoHCic6u}2N_rUwx*?l$lPZ^c@Fyh*YHUCX3>vM(c6bD)E_`L{aY|1Nehi%l!fkO zTMx%ht1p#y1X}@fuV=>X2(5Q;PNMaq5&8c>`=PGxfH~UZ?XTGS!rCSouz$ulyP697 zU9w1wvts*$YLBoU$>q(If>Xtz@n1S8l7FV2aT{!4RWrJtJ{D}Az{ zW2HYsls-Ogt~Jj}f63Q~!ET=Qe%jzWxB0DxiGPc?Bc7FC{C0e?E9%g>tQ_7rw?R2% zT&(=x2L0i`Of)Slr--__ojXY7Ixd;%129CYS<(Z&tOp#jcU;Humas3_0(_2Ffd%e5 zY>tx`o8O52+>vaQjwIV4TnEmO{sLoJ%FcKu)!1LOQsCJrAy=3P5$Y?4-Hdi?%D)4R zKdVfqohdXoo|iII!Q6NzeVWMREU}~~S_+E+OGnG%cR@N@L^{Z}6X~!sOCDlodNV0y z^B#Ks4?*ujq{aN9qMjC2xKDD1`iq!`-_U^|CaE3KkF8F za9pW}bYHY5-Azfln}lxC)78V2+Z++y91$%p(&HauozvO`i#hlcWgO<&EO}C8Qd=B` z-fR)cSuc{)GQpq^W#>d~hnT8Sc3_j7lj!SP+?HZ6)CV=vqSeTueUlg&ZPOOxI`h_P zT8{>6`$An&$W&=eeOjNMA1F8z^+;2;x>op-E%7$?jDI24)Aonh#V1Xy;H*CVx=8T$ zK5U-?IvTZOX9{nl;h{M(g2v`f@a>2IHV7`Us9JEsh}zxrecbN&M2aIPT{1!djt1dO z-7^nBXH)kaXP=#ry({aPZdUTog(p)?H@9i5<^(hPqx|!3zItXb*blLhT=UqBoomw_ zja!gh$Cgni+!SZoG%?G(WZ5KHqJ!62He+YbG^zP3rRJwK>I{80=2AoM$#|2&dtmu& z4B)u)9{YH4m;JH?{5Uy>&i9>!aHZo?7ifI3LHDGM@6h+$SbnhPbxuDPv$XJB)*tn8 z(zB82{Wk}nyj9IuQblS)+>A`3}b`9{sJSXkVg`KdsEr#aX5hJfGJMAqHYy5p2 znXh=dlL9x59YS*VbbsRtdAK+pZ+0?+_Ic5GRE@O;gY$5>j=kWMqn`ou_!n z)R2-k%1E;E(8}W8D$z=W3 z$fj6l=(SJN@)jxCBtp)8W9NR_Y59K*EflP&^8%>k>+P4uqb&WwV#-Q~cmtH-c$Yrc zF=$L*ZM0XY%L&(0FF>EgQFA8t@GnWrZY#%InuZ#Y!y?sHj@gbqtGUZQ1_@Kt&n{JR zquD?v*#EmXOQq z!vqC=nxH9NZO$;8^|WiBnNeA0L9*m6{lOclnUBs zh|ByD`o3;58z#|#im{b<*lsCgaPf&3_KY;r72~GTmEnFfj1%Vu;x-T5SkW_Atck0G-e??=p-b=kyuL&2ugJgkkHD%TZ<0Ltgl zFrP>Du9t6xfNyEQw?n|U4SiqRLg@#Ij$8$ttAOw*A_ zQ%X-vH#lXw&I#!{nv*iB1NfCw;ZgnrlOfuZf9e(Z=RXMh_?7EH@fymM zc>Is-Q41lCt{LH3i;rS)3bD(NkV5|vw-x;QA5US2KH2sB1YZ3KL{SnZp8M6v6H#=2 zv2dUy9tlW1Jz4G={RC{Nq2f*0*Sz_YDLyiP^-qxUQz?0bGu)GR73;+(f#K6k!!gBz z_(=@(%PEo)@2d9esGmvULhk9d|4@n#Ab%EqN8XXO2VNX2W+Ev`rjF`onz8!$#yeD! zZ(V*Mr0eQFODA25du%}29Bjti3qOrC#sLk~Hbz$?bFl&M;Z#F{|Ex&4M3E%zY%6*? zH$GE+_04g+#r(o1>?Qbd6Gkd#9Vs%Zz8CKa1epU)hS8Mq$SoJB&C-pp_7mQGlBv(( zH&JV!BYNs{IVB?6Qj|whc(ypM+B!I9kKnhsV4egNaRf80Iy+{8WZg8jKw$Q`{bcyw zs{aMxm8jrH(^%d~zAO`#x6jz|Re4)xNK3{SQ?kYUOCW}MF7>)J+FSV*#8{(7@b$k+ zKRAKJS28f<>+s}YrLiB*Fz6e}l;1?kM^oWhbnNdLVOd6~$(JCI=K5BOw{vg7e*AKK z`K)BHbuaJI|2A+;7Vub-tnWy<60!X6Cdn~TWxD`5x*^iz+}^rs-$Qp!LjL_!12cY* z(tAPoCHk*s`T_EP2gsJCaJuKHEc^cG^uhhG~Q()-}# zE{ai%5$A-*DRO+kIyX=Zt}SE#6rW>%2DQt#N+{XBjvFuL$c+~`P%uW}d{X^d{FL%z zh5j%?e#~&f^Bzl$(y>NC=B`qF4J^i|yx}N^JH%3K!(PL7_)i&F&B(c@0joVf)@0|$ zvihwM#v1Q^>gqDGxHD&isuq?1EJmB3Ao67h=Rc?AQnBs18ThM%iD+!JZNwI^d+`JA z^9CbTERz%4qU26Y6YE^YwM?JPke147Bj!um$1y5yC)mIYd%$6frjll(C$F4fH%7kK zvFg(Mt!BRLF04YPe4X0(Fwrhqd@gc5qFu$tH_tIIdL7d>jGGO9mXf=}{u}MBU_<>@ z{GX#7!9XRv@GGcS8deW5clv3<^M+^~BzM)oruhYCc=~WgvomK0->m3^(sJBP0t_4h zhA_T>xbrw}-U*y)V_Xg}bkrARaz_@NdlNuet8U5`d-mU!E&0DBP$kVbLU?;y*oWi) z3b|Co{cE@fU_i+{R+G`(ZFI^VN{fuPL&QDk{RUz@+mb=%&%!a~&-B3TzeB)(YrxM# zz|S?{7a`ym8t{AwcwUT%k!R71^zbDxd}9i;Z`|Gww-Wvqh5KEK&u1)AH07ejCO+_VHJ};C+ehD;_|un5_mP)NN9B2La>DkF2>XMS zXHi(5eYiZYnCy>}mgl)i%k$hTmgl)i%QICv?7?|cA|2@%8fg6~>bv6bXZHxl+qbJk zu2tr9EjaC!J=y5~D(jrNM)QzyMCe{$H;(w4zPAnY z=x<^EoB(zVn59apGp93n1L!Sy1JuEG4qA5C895-B#-uNq zJY;U>ycHJjujQIb5x`dpM_X7rRwhxB^M+~8gWr}O0knE#@UDSS9=#=e zDFWbrnvjn5QSbJtf#jRh9B-$?w+WWCRE%X*J7*zdQ|@y*jHW)LPu3+K=UB3**CZYt66&<@&aR7CS9up&{4~k=7T@5$fj&1~g~vbt z!pt7G&jrm{%D#R2^jZ$p@>e6Ad&YZYH!$D-E_$>;iZBl;DJVJ4|Bp}${X?sz{|N#A zqX934fR~JDt{Hm&#suD|zgUJ@Hg)yiMei@2tiPC;?jx^|4)U`%wPLc8+;$qJqTG1O z4M#4|6K`hgfR)Kt&JKM(E4nVPi3(X=5ki|X#f1ZzHVfzO0dcMHTUx&rkASS_wc!QN z3AmWunax#N(DLsQnHGS;P(SKxydWi-UY}^dFMepoB{opmgvsb>P!_ngL#A4 z|8xcS%?xVa>9pAqEq3^2TIiQ=@QG+~)1+l{!nXdg9_%Fyh6f`(jQw8bPFHT19q+PZ zyZm}%b0*az_P&MtZ{*AeW3BF2%vC&b+gl;sq1!AaD7D*n^3?$m6CNu=zmW|uck4^f z+6-O?gz)SnLhbYqf98XQ)lH3lU^Zr`7k(S$etVnbi zH$~-==P@!{bGYWm_75X$(J9;)%i;ZjH}kwzWv`G%8qfDS4U(gr37P$%9p@>I5Y6Go znuCBxYIQPIk05gVI+EjCSl4<1`emFzCb{mmm*A!ad-R{7-oFYdrx6jG0b=;*zrw&x zQQ*Hq_~^gGz>z5M-yz)FUw0TTO0|#8loxadl98HgvbEnwr(ydmL(<#Q&tOC{HrSL6 zZX9g5U&>}~g_lez@p_kA5J8>WK;5ctk{*S3k8z)JVQb2@M#n>nua5dSfEYfyI}EHx zfxAPvbbxJ6t0O%isAQWgECDPtVY^dy({WoU8rwf^49b1VX}%-p*2(Ikx}VL}nI9W0 zWP;xgPPkh^%51$%nP*wmZYgt9R!UsRCS)NRi?m>deFXaC&=y6My{ExNhe#%DN!S`3zec)xcXCCw{>TO5-qJCdPdwaqduCPb|IPEZv?YDy+gSE5KZU4>SNt@7A!heHoRY@f#-Ls1ugp=s=Z$)CV zI;GElOR~>rY$scMSG(N%_cqWa_7ZN|7BeDw{&IpzA#;owBi|--s-Oz?gI>Hce~bP3T4W!NFcYz1RdA!BY!GKOt~11H#_y6AHn?a}6>9a_9 zq!BBnZ9jGpARPkI8eoS2c68PDO^0X0F;90V>;vT&mCUDd|8opEpr+9wmFV01uwxkW zmw1ENaWrJ<*y-xLFhNl#z^;}!K_;zZ#-*WdxI@fZzf);mDdXKl$2*eqY1tGWvaaV+ z{7gp^J|ln)WK@x%WjIIR8aUS6=%#QDe)Ry`|1EE#sP>YU{T(^$1&U!+T{2+c@;+;6 zm`*#LMD-!S;Hx+qxdfJmrzvj{4s&%PMqYChWQ6PckJI;^T*ts!b>v&tw5s;9wd7uy zbL{sw5kUj3rubS7pKMbb7vKoMw2J;4upMKh8Msc8FHh^rO55=2V!kq4z>eQV+@nu7 zeFn26vVf9BC5Bj(a%h)Er-9fAh&4BkPN`bBw9PTm`f+qa>g6as_iU0`i%O`rNC^jM zOaNBqgi{^ETnb@YNsZ)nRD5NhC`o|L`xeR3kK1NG9gS_z3Fop&r+k8yEYEWaV>r`{ zW^cYBHxO;>zK!x~(WPwRve@1yEq)n8N@#O=9oEB`x7v#QwA5hwT7*F8A$!Ak7s6SV zC_JP5UpuVGSfoh00;k9mul@|hCsEGj*_YDLDNd2=r71f)6ZMkGj?SX*u<9shdj^M9 zshsH;>UBySsm&Vgp^wDOyW&GsdtjQw8^ZLh)%>hjk@v1(FYsO5PI!3%r@%)Y)O9af zS$m#3;zDI;G=nl{I2V5}@Tc1uXo=2?`?Hzq4EfjhoW4!^eUX;0I@NhJqH%Z*x{^~x zq`^&UO-^kN)0`zMhF^bB;dpU?zT1eV4rWQtE^>*s*(EOfHhVJUPntq&$|CTc$> z?&deP^Z9n0vn-p$ZHr$REUS&*W_;Bw<`w&)EW#io98cWMdrvymM(nU1aJ|!TqZ+S< zyf0g{D|CF)+A2Gt{s2wyZlvkXscD)Rv?op8 ze@fGxQ_*DdxvZUyG~G5eO%sD6nuwac|5Ivin}nK^;%jZV6Yzed`#U%6&Dha+Gh93F z+DU~s!)-0!yvMz9iO_a_E)_jfS$ZU#B9*tts~Rv60tPi;eh65g0SiOGkOmBgfJGXx zPYBpIbnK@?7KeZ(aBPbD`QM;}zos>%SI52I>5{jFC2!MRQF{nz7l8j4OQxFrzlM&# z!4XWvhQsR3mj8E4CbGSktY{*el9}zYKOl0jTs%T@@gBY_VJWM)&Iz{}mB`k|P;Z&S zKHKGJ?<-I)4PFUlbO0LzvWI>i@1ZB{c_4bSLDL#&aT4hYW5+dYtAD&Z9@GYZhUB=m z&XQam!Ssa;>a@13fi$^x7vCs{kuSghxQZff%J3LryIGy1MyIFr@b#aT-aoJzAclK? z(ERg$)nEg6>$@WF;Xc2gw^FP|nHt6eBNYk|)?sZgI=&zQjszItoG9*|Q!O%9z`uF( zj7}METD;%#-b7vpG5^$v$2%(a=HD{5JM1wg;RI@A9#e8KhE6X>N=Qf7yqJzPYlIHe z{T1ZD4|_tM!u=ACSqA}*RR;x5x(*VYW~969RG)-EQ{}SG)lLNKh%i_Ak_s8LXcS zcu@>=&0?)7ExS1O33mFN|Q20CJ@C;#}ndUs- zn}l|R&`-tCEO0S6_&Py@)KGX&{$R}_@aCel=IF9oQ43bOb_AGJ(v6?LL-O^HRJ>b? zJ*IzDgYW1D-!V#N&N&%h>a{`D)&g+{^sGocsoR#cD4kiMj+v$N?Fj+w=m%YPn#b{J z?0Ylb2RWI+oK^{0P+l{^{C{8u_E?4eKjU@>L2AcAF&qy_yMF>AlIeaTU?Y(oXj0ni0T=JX!oI-w^PGr^_PVJNq{KnW`V2AjO|O*J*CoW;F0eOgf;c$Ex)EnvhftX(y1+N1qNH?D_ zDUXT;74IJNrojmG5=01SXu1ZiXG0GcDW8Hs2HO5>SXU%AhIyUoXx^e?99oOZj{6xu z$odCN&e4E@nGH2#P#Rt0vG#;!F&p%o-gna5YqX0_GjXoK_z>^gRDA`#ZH&fUV5sGv zO0;d9jYrKa|Fy7OdsUDf!nq{)wme~k56D8D*Sk0k%EqfEBk)V^*zlQYC|<<>Q%{Tc zx;;bR4}+FAOZBy-TdkzDq@VdBkKKT^x&#;HMoi7wOzCByG;cEnP9poHSbQ_-*-wo? zG76b$8}Sm(OhYmVXH&M?Oo4E!tVrpyWY!a!K`OmRGZ-tlG!$~v6Xn`89@{0)X|0gx z19oIGDE~BVm7I?6idYf!XhkqPZ1=NM(HaxZ72OY=td&4c8hnYW6;HZV=Q`X$kDdYf z#kf;0qQL}|L(xnAnW($+&s3wPm=$V@`d%n06%Jok2pv7H-wTb<3o0O^q#cb1Cbm!0 zn=`R_hxOk!eKPs()$-l@f0S=I|MTDk`L3PLLNi(W?rYS6x~Ru;du3vL71l6&y}op# zd?)o*DBEp%|HVi6%vao~+Vi?ubx+-@@?nd@eX?x+t&prEX_2uD?uPp)?mFotO!3Az zZyBz4It%5koegw~?;~!&x0XCBNV&Z85~8V_Vil(Y_%;X z!n~E(%i!$~kvktl-2CEBoM_Mc7bt#f0jKu-3(37SMR4uM-oK@PG(vy;5Iimg$}Rm7 zLUx_dNc2*ulZ-yA*OXmC%rmkZKc-g+suvX7GE`X`6fS5ev}Rav2yhWB;)_8UU)tP7 zX0z?T4t{FluEXygM3*#6^r5Fn1!PDC6toI-)5PzzcL45UTan$^f;_WswmQ$vZlrNr zci%u$znk?A#Ky5zSh&e4Hy0<#t1NrC=JLF!a_LhzyIgSdluJH7v##&W`HLZU9;{5f z-v{_r^j9U=y$N`?J}2{W9$U!smeb^UOWdF>x$09QFHZ3;z>GPK`?5Ef=<9i+VjB1R zmUgSiuId_{0}XOCe>w-V{OzLgV5xkGhPeXMVI3US&+Zbr*92FQG+>HgZXw- zw*Jj)oM-QlWdoUP*HilUqJd%w)O)}R?;=YZA18i)5^eR4A#7`m&qG>#7Lu>y=F_Bm z1>YRPW!yh)jK`0w)$YK~R(schp;+r{#}DdGTpxzyJ89r%(oaW_9%f%>0u_0?f);_x zwaJ2(+fgCo1(5#%)t@0tyET>eR)DO7;VyYA;a&o_w;awvb{+ud9CjWEX9qi1vDUOQ za%ou&n#fj;oUna{#t}wSS7JbU#jp%0ZA~K$C_g5kP8ALzv;Jk^FrPC=iw!Y?*h=dWun|NVQv}ZCKDn0wuDW3ujXpwn}yW!CwZ?FxerTi2=@yt zq0mnm`cC!LDD{knN_?gID{EWm_4NHT&wHY-%%17~MkU*0FNdC$SL}*SqjOW(@Skoq zrKjcCd4@Wz%D)0;PMhN$gt3x9GyatX%$Syc6;C0K<+HJM;#zV4)ngoVw(QGC8^XO? zp8-8F!QLhqT?g`;x70oPho)HA`&Cc7Kce^?hKYT3ct=Q=BUbE%%4r$a>C~N^JW+&g zC2BeE-~x0@--j@L5#Ir>t0~(NtXw45f8*xwqu4Ez3;K*Q>!_`b&l~HqxyFW(uy1zw zuFlVb#^4IV($mpix+x=TQgKhRlZ5qZT?2Kg0eO+JJ$kU%+?nCGjgQ4SZ`_%BY^ZDF z!_3?v4YaCVZUdy6x6E|y1;^mG33u&n>=EcqOK~9Qs^=^JPTz-_x4ijXC`vDRkh8ol zq+FP~WGg|78*-+;Pzx*JxKPWI3$?g2I~p$#Y|T?Ijf=s0*88K}=eB#-puol8mPL?b z+_9e6fNf{m{mtmqxn*BVt}_~6Dfob8Z}}-!>%8ltXixyhTFP4My+JXC1Fb%ZYyH++pDyb4l_!4_pxiR8AdslBGWV*ep)BstsiZi+% zgV3!7XP^+{sN~{onlf!xR-_pht?(PeIsdInKc94ilDCQn<_2G16lu@An=dLJAMAAV z=sNQ9n4Z~F?U~nes`sumU(J>ddiJ5#((c~~ETl_ohQ!1>hf(D+1;dE<-95rpHPR^67KKVYwFO=+F2SZ9kSrv?d~?P#6dG?vda9HbKZXB*2-6MYRjZlLcMVDs>` z*0=CbHP*gOmDglh`{td=^f`@)TWo&Sf~>n+30i3)2h^^3om~e{P}v1pF_K{YtjxBC zXJsPYTQbfc4bL*(MzJ@~4abgz&-fy@rQ4-zx`b@2J0e@VB`@J&5b==HWs1&{c#mQv-9q7z6l#B${#rC$RGyZ=`ZU*m*)?>(A&bZ`f zMDlqG$K$c4>EEgNwgLYgijUTWrYnudsumx6ekY7iJs!h55ntkaEJC>n9st=}Q4_n~ z6^_q>FNVN;?Oo8e%D>9ckH#EMbu6n)cR_J(V@6=$=5I2j-TK=>QkEQdOG_pOc{{lH zR5<_L3WiHOw0l7LUqi(-)6j7zP$Ft2)ec^$jQ1WTH!J%0kYm>`8`aYIGIe4~wH4jtVJZYEvFc$=lxcPDWr#y*_ISV%%vqESj-Jo&dvMj>Y0$eTL zLBQ2S4fVZX^r*VJp9Exl`aO71T+hDN-iJ*3WDc};Oqw^Rm?Hqx=V4;CodcCw_Ymjp zY6Q^g4Eg%+=kdJ9^ELnoCd#SIIo+4YiF?cX-a4n_!<+!9S0tysC8sLlY)~VBR$USb zMh{<<{A48Gr1)*9`T)YO9^@R~7v;#<5mcWq*armr0$q;zx*Yg=Z%bpEY5`{i07phf zr>1#t<;X&wR#v>8Rr>&Vwvclj;#@z_m@9(n!;pxWWG*^G|y| z#GXY=1VEfNv0%6iAw};DJ#n=>oVZ%9XRr}o-mbjUxiIkY>i7Is@kju#o|mV~yV^sB z-jlmWnwdIHABXhiO6xe^DETT0H!V}1Bukv4Tpiir-u$ zgXAMn|IIvQ(`1vv`Y05t%$vCSIhC*LDMf3KJ7=1WX-pQ}Z8Di+>f_(k2 zBZ3-1JZ$Uw2Evr=BQf!Qi}AHR(|mK1H2oz$kB{wg9Dp5OkD^9t0EjcX_pIW*gWeiU z;f1)rz9;T)O^$o{RJd`j_nzf~`w-yHm1G_8e8T^Y7=M#|P5;}IWUx%?L!j8q_NdMU zl$-uzh|?jV$n#O|mRl{(yj=T^!kSz#b6?|989Ot-abMIo_b6ZOyOU(!-k5Q17vj_& zkD?DL?|by!@_;_R9D9uTO@~J(DeLzq$!yLmmz8Q?ziy;IZF)SD;AgYW!}5PHNhYiR z1BUikQ*iWJR3{m)H(ZZ%cv%W*-l^Q18*pTO6})=7%<^TC_Y*7*d#Ra}@;)`pV*b7azMP;bWsu6FNh(*}GhHN^a@2QnRL=1trL*L1zx#7k_=}R88Ud(2VDbJ6u%c9M;E8@^SIRoPTECpj z@jDvhR}TNrs8fB6tF(?8Du@$#t=vAod$%Uq+m5B)WgG#&G!7Am5YX930AIg?fKct) z5g>jfk4q+xdvOWpF(b*6S?JVMh=MN z_EC}BgJQW|BXWB%MB+@5+XFb!!I9h^B67>0kyTPjhYIZA2)~vA3ObBo$f7!`Mi7xy zyX3j}k1TX+_7G@+iToYT>DR>ar|D&okP!(E;?|doV6F)38IHwo;haEA^)yYzNe$T? zF)0)B*J{K2=l=aXA?|Y`Bo9;HIXnM$q|kW zh55*ctggnqS(ukk6z1iP!n`6DX2>Dy*A6Y8B+FX->IaG}uV$e$N!C_}bJ#LxxDP4o zd~k1M=bCBqy8DG*D?OZr3co8IzH_t z^0m??j)(g=ai0kH31R#AL)1P3Gi)D6OZx~P52%x5@4$mB6#54GyN~`3pva3?ncPl} zmR4|5+%DFMP_37MlOa;?Ropz*a_yWPHIGxIDe!0HIB6cQNy1JL*r@_LnPF=in#^k% zhP;+6krujsDg-0=T_VzrWVjQAY2~;ge~a5dX&+}rQg^c8nw0KD4#N?q6JktQh2Jv+ zV$4b0$T$>*t-el4G-+I?ae{Tp#syIQDBzB$>3b4-dPHdF1S;NPOq%nxM#P2l8<3x|C-O5QVx$t&>zqV^JrH*~-=bW+k&OQZi?9gp)!ggF4>=yG@NCg!lUBIA?}& z&Wwnk(MTC9qN64%qN5rW(b2IYLgNp|EInE;kS@~AzJ9FeBD8qwS5LH}e)TmJ_Xn{K zIY;Y|vtu1{cBDggYaMbPh(1^J#szSnFYXO+UnuU2;l3!;C;y1_3H9t+pPb#OPd-I5 zNS3WZqch_mQX%KlUy33xHZ9gCXN$PKF4iZ$NdBb~@Ot@N0;xLFWVLcG^ZJsgc?Ke? z{24i4G(as0yHH@4C1Do{Y@@&~Vc5A1s^)Trfs7?LiK@Bu)gT?g?~>bD;xE_ghl|E> zL!}|==Ms^}O9a=Xda_%|jwsSaPS#u)KpMxLflwNoa z0@QbgjK`UpjCsVQNtzR#A)KfpN%wQYiO^}?cQYqKUlltPPG4!qSEY{A%H+^}RwQUr zr~yYX7%6(>N-2u%`8WqbEyeDCk74&x;s3j8BotMK`{KNK!59-Bj8TNJ=7l^>eS;9 zed=+DI`ueI0}fSy!!&>cytfHo(JwMjT!{OyS;KwR^bP#|QTB;&Ao)U+O@#AW8$MKj zBKL3I&A5=>Ex+EcVQT*{Tq#@xpP-8(>b=c&+<5&n6}Ao_hP#L3z{7MOK>nQF)|r*C zw~e1<*waiWY1-x2z*|r=SS)@$v^R#|mr(CDuk)Kh_YITp@?_n`R50HKO~E4?fNSl3bK6Kh+Inj1KqMJ$JGE^fl8TNzb>u)K9UXh>*nvnxw7vDzc8YC|wlv3D zn(cUp(|>e?jW-@cKYaMz{TDE#jJ!K-PFR_QOx8@I{q(K`{k?SVv$$ECXkWmeE9O2a zpHum>XYO|TOcX~^c--{imZjKVdx7_+!@y~%MYIPtgEEP6xL`MBzX1Cr*(J+3nZ(F5+nY}PxHO6Z z!DsiMaJE&QseNrYak@JD*lIvM1UI32v5vU9O@+&rnZ$;S-4P$l`;yJJ`!~W#;MRlSy_x zq;E9H!{K=`TIMQ#h3kqxqq?>xiB;I`t*4R37VU`Iqfbj(#i%{@G`3!D47$I#z&L=` zrUw}Z8w&@GKixRPIMX=GINMlhJl#G_?M1dn^@=KVsaUtrrf7;Va%{B)d4D8}u$^qM@$ zmm+>A#3ZSTMM{NO>5nES4T-$eL53G+MY0SWWXk@qFM5n;pP@LLE+B>XnQri5`v z&$T4HLHKsm60;_J&nku}+qEUd-F!jPbvT71DdLE7+=Qg)LU~CE6UU6Sx+(bpJ-BHO zufeUVymDoXt@!k=*yNV2WI!}qD!aOJl{0taQ2^n#sulKUq??%U&lZJPWfZKiQ{5A-Zv zMluVLl+)6teD>kX5#q)fz}H0!ale7zJ5BdXxI%|lcTe;EiIbrVG?0Rafa!e;sV)|9 zvBhkWR5=yaxgP z3fHzLN7!_4)(V}E%`kg=qj<~NY^ifO0vo@^eGlR)ct_ZWc+(!RBlKNvp=9p!F=cBB zI^O^Aeev>Qn^Fs&lh~J$cYP%E-1%bDeF6PiN=K%!48(V zYJ?Nv=9ra*#sru6D zI~xRBI$$RCM?QaaxG~d)y-=kshXoMA< zEC#-RxD3W8ZqSPH(qj5Z7TV0x$}qIVP}5{FYCLpoz1?Sr^+(Punf-Sc@+#d+lh% zI7_`3EJWfBRzfvutn?vjw@TNJ1G=YwkJu%;r^Rf~xr#K;*E!BtfD1I>f{6c~5ofEv zWB!6{v>^G7dSQDWZq9a$oou>$p=#stX9C&^!@HBxeTa_}{~blFi?{&S*!b+{JhC*&V5_H-jJ_<$k)GAOFyKm`5{&B3pL_jO2wc${TYfpjI9T5mAjw~%~HqVy7x$w+pB#SaI% zl8GE)XHztq9tvrz^h-)6U#9z4%Gz@$pK35tiiRswiFR7t$?F{-_Z0k5T6KkK%O9s9I9BZG;AN&f>CPmqn3w|NyfeQXJR6*|3 zQ*6(*%u{MS;Mz>93oDq$-RQ7%hrJam%;{mhFBl&=a7~{4dte>Hf8m ziaYQ4gmWNxq3$rPq@A*(%M{r5iquqRx7+T)``Q`Za^JnP+yQM3x$-ZXm-X`H)-T{v z&t;bdVI@6tG-_^!>&sealj^WO-5q_Ze=hZPJ={rom1T6_rF_j5f8F6WlqfdkO6%@U zi?sz_!jz}bM_(^DA_TZh72K~e_4~X$#(nfhzGrB06rmOW8t*9mjE2{07^216CXTc*Queqnd=2mEF^+R>H4~H;+ z0*y*fora9fq&rWeIs_(c3y~aA=)MZxWVu}yUv8q%bP8SI?hDSmAEt1VMX6>4avUhPQ=NN-23(=#NR(}wiR^AgH=ZcJ zZZ>4zj8>Q@^d>w&+V1|Sd)Bn=^6zLSl)EvQm-9VpP6WS^QA^Clg{9(^ zx++(OWH$7OKl}Pru_!*+Om_@nr-{%5RIOTTO3}E6Zz$=)7b#+vaoJl@@KqY$RjMzp z)_|)O;2I6MM$xv|HxAWje_fyPq56ymQBKxGNtH6)i8l7pz7*A(9@`tCHL~#+^t0?E zU&pt%W!C+SSfX3NtSga#w^&=CR z*qj0US_RFZig|M&0uzPKY{H$3x#uXEXZE7S32&Yyg5R;d`4&t< zblOnq6Yc`2iO=n7%q9kMPX|s=`Dv~^+G#WKxOA2cx6BHxUhTw+$qWsA7e#fwY_I*N zdbrCE@iUHhfW^|>@eZUw50)W#(bKB{B$W@c6L)4uWnvxa(u!I7*5UjByF#k! zu&4D>8*361SIE7C>Ccn~ooe2>@4x@P<%GSbX&F^8W~~$-u=-8!>sXhPf^6%V!vjHG z+D(v29nR#?kTevES&K)6=3ID093GK09`Od_k)*Ud9^awyu)^aJ$jp6=o-=~_9814% zu)Pp(q0f|e9hfXVO&$3BxAm3=D}%Ooh^2zOvPoH`^lV@MQ5>0A!lTL>hu&9jYBCPQ z+Wy+8cc_K8`KFh~k!zzvpsskoU|g>$+k^yycp8up3sFz_4AOX>Ho zJQv_Rsd$n6vTcUkv@>M@6wG&(nJ!F;v#U(M>#b6r8th0yM_gtuvRGA|itbkrj-T6= ziL>j>hT!p=PY)f&taHV8CU`IC;Z5ul9L~xEb4IQWuY1K&IqTb{*|YH;J=*FmM%Ozs zwWjcUxOD#wSnXsj?+Em4f^aUOKp|C{PnqKEGri)S+;g^;MexJ^mj6cZNanYtYiGl! z`%&O`r8_Cys=}Ko+@``$P~dpJe*-Okz=;|iN= zAq5060ljG5a@HJemnLQ`rr&pD-X02xa4h$fcO2&6u6+YDZz-qr)@*IjxFM0Vwj|ib zcyQn(To>D$+QwTV7ua|kH_pgou4tt`>Kuj7jdVr@8ZtE-}v2-=^hJCA3xZZr2+0;vzt7a;)Xl) zL+M}P=$yNhP~5zcFJvFs8vfcZ=bnJCyZCGG*6`Pew(wWVUFLt(R)Bgp>iTZ?J^7{Z~{+-|PF1Pqfzv-Tc!dC=L zX`{dPIz!f8XUWe>)@`slbWc+VHfsc%)xh1S0rx4u77f^<0QYOa{SkdH7Ek#9f%$r( ztn6>W{;PKqvxFXqb}iJ;1{F-Rv=nzw#UMJ~$(Rz2R%!km&A729UNk3I^PY)}qpLC! zcR$5%wdtOYG{bcoiagZ{kIw_T-VgYF+2QM$qFbIj6kXTfzypJ~VgGsA?uqoTCU46v zsh)pOSBC>LX=YsHi(Y@HYOU?BRo5DP#W&-R?S})U^%@SY0Oj$4}Cz376BE?v?1lNh;m%bUM?$8a(EkXwQ)ml~@&8tS(f#D_rz{@p;gN ztPx^}I#M!dJ&6dsI3?m>0Z8dM3uN zDccmv_607L6LN)j>{j7cr!;ypSNJ&)#f8Qo$a+3Q-Jptruk@f8b7R->P?g(aD+cM*cgdKi=5&a_d{ z9ZBy~X|2(PYmk*1?4TNCsRmiqGquYuokGA+$)tf)~7JxOZSjTfYSabS-B2$E%?i2hec= zbb0`t89+ZgDD;v5+8IDULeO#R?);>&>g4mr{Q+amHOlv!R(tZq_NmKWP}eZ&^W@-D z>?0kn>A{k$6-g+^S-U}!)sWUoK)72!ue+54xD$hO4ZaiL@+AP)i`=`Yy1OQj!ZU83 zx`P+o15h4zIf=h-U>gn1#ssW|pt0R)4>qJvY1|yBTnF5XNe-U(@74jb?|8pb7Qdj2 z{DLCX|Iz>sykm*1*P8HVkjvgmKDSdvxA+ycLULJE{Yt&`U|sSdXpO_&9rCkHRp5&n z-xpN{zN7(PQh=v5;OU5eP71p@@A_|C-EX1Yxs-kDd9)PRN+l2P%t(Mh?xk3@7Dk)y zc8+N#n1prYa@iYfh{L;IVVpkSvus$NQ7zv|=^M2FKWEC%@-r;%$*NH@|R)&DRe)QO( zRD9ppSz*Khc;8o1iEGVX{NhR~e!a^rzLNS?PWD_(y|0FS!U041xQ`a6>g88b0Ft-G zTO>#2ru$!@jPORk;++Nhec$Juc+1Wj_SvS=uz3mpUA?aRimiPdQDfM@Otd&M>aByC zeTBu_Z&xCG6$ZSJ=EZZ8&x=z{5%+3>wkM|~{0G*i0?J{isj5c6YX(bs&0s079W3Rw zK}yF@c^y)oHD#KgQo~?wrV5su5_$!0Dqz)-Em6-KntI;wX>?k(EczNRv$ZVhe~nTS zp?-@Q|LdWTrRC@7XC2}t^tzC!nt^yqAaU3J7KkO)R#u@|JGTTWWf|tpRTHX`k*+S_9sY7T=<9d3j=%yTU?sKSJWQG zuhUQ%CwUWm*xwwrGU2`MMC6TXn;PM38I~>}NSsS%V#MZSnOJv=(e2`TVg ziFv(M$K+szZ8_E^@hOj>_euMc-sb=TA{xMfFdy%KpLyCZm`;AaJ0I_KZ-hqset04* zw1P#w+)eOR0TpwTwcECmqEkFTh(!3DgeRxc$zarjC&DRG^3Tv2^^TlYFROu<_`pN}97MVN%bqBg|3B-N zhPDM_q2K#&kv&-VR&>N|Xvaq_xakZ4G#I7d`7G;pi!WsyH`q>LucZgZQj`|e01n9A z3DDX->dyDyFicJC)Ic`WujdOf--@X_oH)~uM!?7ZYV!p(PLtsSzYq7o{{Hr2uIS;J`|~%t=rIt*5q5cSz%k ztC;8fn6^{ff|#VG$9%c2yX#P*;$fzn!f&JeN}UT4c<@F>*gZ;^@HwE5wk#J-=2A_& z4{?$*uVS=K($!c|fj)b)=5F`Nvk}X7|778~DI4j15u0Ak4m<-(SZa_8&tSQ#GZ;W-(m z5o&yzb?-N8o~rLSnQj~U4zEYXkRTW(cb!JT$78~>+fU^OHhjrR9^G`k3^n3Y*iC9N z+fVImGTS>kNqOt+jG67@rt{|ZOrK1~D*P=PKL-|??ie62t-R%KOv$}suCZ{TiIRD| z$~;_W94asePQ=p{g}f*J7lq)+h}ar2wNfV6*~^(SR}jJiNgW-<#H?4%@%e zkVg~N$Zu}ia9cvATf_vt6AY%%qJU>B=v|hdGv(x_SkBqRcsjW&Y`&f5Oq)P!4NSM` z8C!vtGoMKo5-a?Cl;W-FrN~aLf+x(Yz$dab*@Y9pNv8LhQ zJ;&ZyBEsj-J=}l$;~LsQf&~!Se;#4>B9~$dHi~paky!h|L zmo>+1Tmixa$i$Yb%tQqekS8$0hn5;gKB(RXsL9~_^6i@pUKZ`!8$Yo=R~UFNLwgz6 z3z+3DaAfa@C%J6o9IB?#KAJ8#u*7mN0q1lNL64X90ubzvPc$QrvcI(#)h89He7|O! z>N<^kgahNH+z3Sr`{;dAlA*-wT1~tY0aI{~1SX%$$@}E4U*^YJT#DYK@YjOv3%VN3 z_9Lby+Lusx`LY-CX8Y*?eTYC8QdmGs09rwy1r!$0g#cYjpwlVLAT%vk$+3@B-ICYc z!hy%FVqCZtoJhOJU=p-acO1|1PTt$&UD8rV+YXzd+N+;RCJR}`-ra`{e%Qyh(x$v> z>l9On-;?I?zoxQXC+E+m+=H#m+z=KBzr|Z_D`yMoRI&0CrB%ySs|vbR1;rJL8c+<) z+klrZQ@nh|AiR9%;JiE#KBp?A9U4c6LfWYToeD5T1E%=A2|9E-;@cx9edr8s)hYb< zG%$}(^Wur=uf1iNTo1H}Z#~8b9ZY;$i1bd?7&u_(uZ1Nd=nL9f0*3YMu#nfJL7AuN z%+pkTyELFnN>lv?KUQql&|Sp@(#qE_Rxyoyi&Po+At*ozjhZlCp!B8-2E**jyrbN* zs>yVXc)F?fj&CEJ4LnvQ2&<_i(%!ox+b&%a zeC6%Z)xpMzWCyD2W^gca;m){Hu$U|U&JwB>7{V4GnDyIU#PAz&Y1G1&U{5vo|;9om~vPbQVy ztWdet{k0>F;~x;68?*pFkWJhkE~z1?I=k*3q|Q;?M0J>I(xw&X3dh4$O`Gv>C3C9i zMvLHn_3{$VpAl7k?(2rCzaR;(S5x%{$G?LEpU1<3{=b+~UB;6@hM~0&xa5`{j1_Nj z+%_UnZz3Dk+$U?glf*3(zsy}x<*O_K(~*?Fkf4N<0r|f4;tBqJSs7^Em-`wsR!Ltf zdg3>+T%nwzi<^+#&ewlOdaDz>BRxglk$%bwy(1;H;x-goeweqY)O4SzXTVGmEThz$ z_YCtYCP?>oNd8B7f!*wQkE(6dUPtXzC~sZAtvGF#wq=d>X>v47YsQvV_i9J)y+CGW zBP=sV3I^MIjE`e9e-$-DkbfF`pfAb%iLlI;`h{xNpljyc5Y*|9;X0Y_O+o`wx3n>0 zlGJUo+0x>E(vgL`Xl(914quR5uexcL?xtCabIjI&*$Qy51{|ya3pHS&0vw_N93V-# z!C!?#hHR*kEw?$czizUAF6TZE@&G=L0o*QZdneP0`zidixsR~k$Oqz&A!xcA`KSDO z2;$8Mx42tWn-16YIb2n6u?8$wfFm^E2nAT80ZSC%NDVkr0glpuqk=Uj{BAaf=xGNp zT&N~oA@?CjK{3b$nJ@w)LjUF~p#f6{D}YjG31sHdaTLqdQu4kyDwazow?!33_I5 zpv&w<9?wvi@L_ooQ9mSVOhpuL5j~=L_)}m3&k76pwy=Qja>N%9@qLAInMS!x&CcZ- zuv`IFXut{uI8g&mRDhE-fCE1O9lYS{;~f)B_c`dsqp0=YW#K;M z`|f|H5g#tRpL+irOgR6=ykE8TD>2+8lodq_sdP^>NB=66gsA(&KsF$&_eIEt&ztUd z=%eRWEJNjj-Blb6F4#GRlQRxqu!Ajh+^_T11-ZFKgsBXqn(p@;xbySAgj0aYlpOc& zvN3mkDtsZY!Gu%$j4gG_INBpzI^z`avPh&()ct{)HzIdDW7SV(pWsftBpqe>z4ry_ zJs9)w55%EkeNU}f8r4E*Ad<9;qZ@;6e?~Gs>vy}|F}pFUl8e^AEG9qg>1E#2ScEo4 z+l%U?M2blgMBOc-(0CoPq{J{tUn|-@W3)InoG@0MH}AuOyVt@~S|f&$Bf2Pm8G@W| z^rkEio>m&V;dCxqJT%^Z()1q7JCk6OE$<99Z0&uWG+OO5r#Gu8ClggCK7~u2_LEf5 zi&Mf&;_Wj#%PL*Ged6?^q@4EN=?fh-9&Kt}T3(Igk7uYhj9WoN}cC+ z-awP5Eu!1meI9*M^=5he+c)bR{yk~_0vL-7m-RwAjtSa+{M0%0ckijK^mqI$6Gp%2 zbJlOD`Q4*U{+c>#xPWKQ0^2~QSvz2H`&|K_F?AgMJ!#g<5_!6;W8aViETj8HNwsoT zN&*)yKNzpYU!{L{MS_3ttM3-rET(^J6?}!{>XpSX%(PqqTV$x;Wf8woj-F@T=Y)Z3 z0J@I}1N#(kP8hhi0=i+~cx_xb3{2P+M9rzp(;RbXc1qNEA3;h} zWzCs0|AzN4Z-f0&lkdkK!+U+XRN*K|nU1$l?V>+DQymH|PZwy`oZi(GZ(lhzNulNK z$z|z6Hr~FVYeKwz;ncAdVwgf_w+~wpU#7O_x;|yUpx+gCnC!wJBg`skxi30+tj|`0 zNE~AKeAl7|cSVv~n9XM0iy@I6cNu*b9Qyt+UL%?VBNL@>&)3h!nwvAtIcH0znO}~H z^#CxU^e&_PHQq#L?%NzwNW1SK8nN7;K+?ibWwWi=<(&CVh*9&rIUdj0Sx4LopI~~Y zM(`vyoAADlt+a(CCllGE_YI3x1{KRKXig$7lk}d&7JZBY;E0)IP+F{oM0YfUd*+V1 z$d?-aG7m{tvW5`UC>F!TeEu0nS4$ThZniuB>URX23 zxJ>01G&78H@ne5gTp?pOQ%S@4VoWBZiW^=Uy8v$+*qRr=jlg3|H8A$@&Ny+x`KQ6; ze4ND4&m2%<@W!XnXc}WI(td;C_h%&E4f&=e``o8TZSPwYUh^6?JXKmssI0(ovlDU$ zeI&4oyo*~b?uJF2)?2>Bo*dzpmRoI>{{SL^3hQVWBUA3R^1<8WQMl)%z1f;u;_gw{ zR(X!^oy>x#9xK>Zsq|mlF?Q50ii5Z?v@Loj~tuH4Z&B z*t4QJZHyKj^iWeeV(pL75hgbG{m-;hoD?sPcP4pw))nW!yy)}r0F2Xq7eYVE8fh!B zBy?}r!+drN)f1{LPq5whVb-9mUn^DpWUXeOT(t@z4f$8RGvL7-8!Zk*WBr{h4lLQJ z{Jq+|;DV!lr=i_E^SX&2G7`0)0oLdo+xm z%3Y1ZaI+W1S>;oxQn_q|Cm2o_rF2@goI=qp0})bGQS>Pa#Tgps847Tw2AnCYq7Jhq zZ}QZjE-W2MYH;aFqD)@kX&&5UsJkqjE~)oWx}?k9x4GG+r=xg|@kcD?5fsyS6$Wi_ zckwB`w_=sQho#f&ytaQ0l>B{*9i_JPq4KoA`YQpuui?e6AKyB?TfTDMe`}g4PBO!= zHGnbUgbOOn(*;Y~km=mBOm+16o}*3Y0>p4Ooy!H#FzfMxtiXGYu|m%$N{KdOPdRF* z4mSFB%}%>F!ttKt-URcid&NuJ7la-ZI{~ZNl3gd9Uv`F=Hf0NgexD9ccx{mDD@z zG(Y|&3wv43yPF!Qn2q$ujp54Wjd4nK>pT?-$!oM*$7v~LwHvY8TCi*4lKG;a7_7vhWZ7pr zP31eAt|o!#hc$WmL^7-1ABOmZhr-{)HlL!UMLA8|)IqT=wx5eih?OIn z%&3SKcS4+Hg2hx8l}H>>tu%tOxf4{`V|AIO;sM6$Eq1H)^%lFWbQ}Xln6Ax$k)@Rk z7-hO67%;kY83V?cE}ls8tNAUqyV_uf#FpD26r767o{nWKB%JMhrgA=dD{Eec-|`PF z*yJFExd3C092YWijZe59q(ot>)=__tezY-mrnZwHcMHY^IK&^lUu?RfSntQ+-VTza zc8#>XV{k1|7cCkaC$??dwr$(CZQIs~d1B|pJh5#jJI>2@zx(69s(au2^Iq-hJ?HGI zuGM37Rd-jfxyE=@>VaY(>PQWO7#sU%Dk~u9Xf%UgdSc6DzU_@~Tf8_MX=QG+J+*ak z>;=;bvb>zeuJiM<3blYP==>@p7mrl#h7X58G2P18JI`!*q%$9&bO0jKXM-L8nxASg zxGCtmB0IoOZuHiVgL|oaXWlU^WelLT6(?D%iyC*N?|K{uwce1h+G1{HeZ_dc^7lZ#K9}#* zIAOdyr%j`}!vA%DJxaC_NV~{*)%N1oqnJf+hC|;07#-t4&R196kU*uc6duq&c(@h? zyNzTy%^Dpq1TdY}lJKqN3FdKG;qgCUuq^S#M2LLlNA)4gz+J#hlh-Q-(y;AHgLg=S z)-iuJbLOHYoP2dHnM$bkWDqiEu=^<8^e^X0CnkcychP4Ej)5%lMbWX2cWr4JfzgHC z*>fCq6hz+gL5}f-D5D~y4)A1lxtFmt5~oi!g^Yv$sQc6d$S8ARDTnGh*480Q>n(Ht z`5)*_)eOas=U;kckE)43qYQ6y<}&d&vfWZ7y!)Ye8c4HEar6$FH8&n)2#w_I?alMy z5)b=CCvd&f8<|hlj-1g{t7iVTeg`Lornc{lp|-JKJ95|`cBSek8lvmA$E15A@QJT$ zw$d&4om_Mb(tMF4-lmo_^%MWMb>f(=m`aGZWdFVDq>R7axTouZ@({Q-f$k)uFAH^& zh2Fr$8g-i*j#tUO|N0Pj8^Zz6)|9Z8T`vohY%Cg7S6=uVhmwQX0NoQzm1-xPz&0r$ zcMedw-DAPJXwiMG@Ks}eJQP_jj2M2}s+tMNVCO7!M=a6Zj~Te#nff~xm)xkyUo z0&Ttsub!a}dRz}8%t{8=gLbn(Wa>jy{v`mbDYER!#f>(FjiPpAnfPYk(~_zqR8it} zONHR~3IW=Rhp6nquQ#`Clb_1IaR1o$}`$jF9gT0Ua zTlxJEtcfh^+#~4hZu8)mH^SDUZ(`r{zXReItba$tpOZ5C6U^<14XA()`CaHr^5Cusv|HT)M6QX0Nxs zGPy_)5TVfSQD9^4WykCLWsIGt0-9%h+(#3jRrwJw6g>-hQKF4$H z&QA&%JIComi zgSF<(B){#ZX}my*31~TBrnsgLuL?I%yx$Lt|LI~kL0#$GzRQOMoi)5DgXi22^J{kU z5Cxkh#l4Y0)!H6Dp^lq>;TwVY2&2=tl^ij?lXZm^I%PP*io(mRN4gq=bRK(cA#l)3 zkMDvcSF1gy5BUBB$W7k)3z9W2pXUcw9dwvbzE3%!%8+q_{yF$Wc5W!Zm>j+ykoW&t zin)hr?o7Vi8LOcG(Nxj%`%*V84qV|cZwNl%-Q$rz0Y1wZ^=^B3cB%6+ox+GefJ3qx z1jGaC%(8LXH39M!A!IA7b_p!!4IRFpK5+}w0H(|VMNNl3DpI(v2nQeiWiEIY#pzEo ztKc0pR^lfKXO_&S2%Tm^|=qoWOXykZ*P zs)bJT#Jspaw4y$U+Ap!S8K8Np>EIGp4i`-D2ZtLD=NlY&I=z~hvA4!q)0@hVi%;~2 zbv`t-o;lOmEWbbd#x$wOX4Pdsp9zqGR^IH+1H?4KsuE|KIxMfkowrmsRmTC=*G4S*0x_o0bvi)-! ztsL&HZqN1Q;u9EqjQ42|hx7E5QH0Ry@`-<)3FfNqx3v}hpBQxsD&eQ-JOjZ8`s(E_ zpPc(yrJd3feSByC(av$tA8$+7^cIQnaZAz9$r8&J;>0++a4zNOr6cg(#pRz(@Q&3e zJfagk8`~qns`C9A3B4(k;tJFo`)}{QG;X1AItP!pTPh(JNloOW=ei#0BELPySitu5 ziAGHW$LLL_k7F@apx{wzCc_)k@0@b7OZ;G!eBraa5JRYk6I!9IF)zPC>Vy=^@5q;{ zvY&}n*S8<>3FX)IVrK`VACHaPc;mAO$O~f4!7!L83*)r1%kywe+O6(6fdv`!Ms`y89A#ynOiC->Fr{+T3A);8XN;Z}87XCF2{&S@vN8ZshUo{*4o z@OPNFT%qqb_-73h*KvMvFtDJItAomvC}-a;A#Feb43-K0NJkCoN6DWy)@m9V0&Y{-oGN1yJU9w#4qX$yy=1ckjddJb8zM5@!hX5IBAU)kpavBFx3_Ig<-+Cri z-R~c*8+^a#)CX2;B(&#cs}sMDc}#BBdbI4_N)N=vvhLT0x*Ix8?g%z1EZv{FquTy^0;b@A zrc?zyOuW1qZ$t?T_?ubZ1zVqhfjMBZ1#%^wJdtF34{ zs?mA+786&(AKqhUWRJjUuy>%IM7V2<*}Uq|OWkXhyRl*Pl+`q^96< zikJRf8jSVjf2S7)EunD7g68}JhX5EM$g3G1R;|jFfnp{gT@pj$5FIs_UXk|x)3-365{rKTx6Js!V&FKUcZeHIBD;zH6rBZ@(T*iTic0VviCV@3j+ z&iF)D;zV%)l=GNo_1QYMRXO@PYDZW>K8;^o;WLdtOW@0>KS_5jH{c~~OfHY3jBNY= zDW!RU9NE>3{*yM7g)>QOPS3CIRtfYF#p||$0`jOJ{g-7NeD%6SFCp$RcZm_b z(uC0c{FLOy>C*DJt#BlSnexN+d_^QBI3851+!zM&CK zb?#^&d=Rd8>=BXQU+My+q)IOwB{fSD(<)VpW$`NELF<$|iG0;|Qb4b{*8aT^54-^B zHcAb7V?DVu426Pba-EOme$Zh0Ym+`NYit#-qLB=|Vfi>icz7DGK1!`ZaSg4^zfK%w zvj@VaUzvqhJT*G%PF^p(fr`qqy_<)Q{h2|kq^NX$>mB;Wy?*i06rL5Z)qe!ofknDk zS-^pEEeTwX5afWi6oGPW4rC7(Y=^Q`fpV=0WRDPR2VN=&p7SD{;YkFY?%`;d_)=EA z;RvCxhaQg-9G_4S_g+#G=6Eg2`JAKkKUEh1Yv~|*C~Oe3cZwm4?S`?X%I{MP8q-R< z)H{N2^z{E};dRs>U#yH#7Wu<-{1g&cl`0n!!hxXe8DkFUA~JiC1}8WkvI1!&1ghWE zdEk^{Ri{|btB35yVsOO{;e|YFe9#Y_Swn{>mr5QrECO+Wi$~kC!UEf+$^NpfcQ~hBWy`4O2VV?f=U$Qn;oc2a=AraL&3kTezJXM$bU1 zNEih;&R&hR(;tep(+$z;(MGuBB0{)C2Q9AdJCLf$N8SP9Pg ze?z!n$;NY{cmOGDrx7J@9xEID6bw@qn7YW?jS?acZpEVP2nvyT9VpgZ{(2V97s8wm5qY*3L%${}G&i0Qvm@ zY8NiS`2n`ivg+P9@N-dAHY_w6~*(@1cCo82^LP} zf5wdvFY(mrhC3V+ZN()D%#VN1soxP)+?sYTfZv@xy)?M9x~~zsgz1|?L0WiK7>p?8 z#2U!@!oQ%}Gp#uH-prdb+ex{d?BzhJo__=C9Z=|I0bI%O~96IBO3JdkG>;)f=2=KDd- zbH|2k&Ap#6>#FXUFTo|8VLK#zkr$ulTbrV?F)We4@dHn?<69$|&owol)2}?Mgc)Z0 zj1@Q$&Phcs5PpDzlPxxLyqw7B-BO|xuUedmuG*U}8iF401insMTUqg?bmvRETc6F} z|7@SlPJcPs5wOO>i4Im7O>sRCvBtJUM(5c~arM4u=N58A>fUoit_#{DVh^r}4qiqQ zoj!_@Bk*<;dyeOuR&>XcYO5dS$J4wbIT; z$P{!;(qh*_SfXI!5p>zsQCTaJ%WkOhk_6VewIrXmGO8k;wlb{Z z|1EnFC~4+yDpcn=9}mv-;TCger(B>ukGTRlU;)I>=?gnEAa!R2JgvKNRHRdREUoE|1BH%#>)Hm zgLz#^0exv$MFM?kQ00HkY&Cej4}O^rxQAK%1R>1X{E6TzX>?oMV%kctjItm6mW%ik z|65pB*752GRcsRNHC&xeh$oiQ?*Ae8|1{A5Zt#zSd9D8kJOcZV=$DF~>^~v& z?y`z@waE0x-Sy{$JVt+r{y!5}^goG<$S%qG|An|qRbKChAL8W0EPld&iOc&T4*x&I zaWwxw5tsKriSwxD>h${mo;V||Lb@70J2Y7Ho2Q1J;qb`O&XXa=zu*nrn?889DP=P6 z1m?fnCKv{Jkyd7nc?7p^Hx`#D%TJB{C~SJfzsshU z6v~Vjlqjy{%KysJ3a&ufW~~PD$>x~ZG-Q{A?PXcA?p;g#sl1g{jolGrnUCLjx5ISE zI{M>zz`ycnevl=E@fmcNP=+3m)5FnEy5ayH*Tbp8#MyVL{Ayh24GGcDPK~qBGtW`{hUPfx zC?EbVUdZ2nKt`kHt=n+ifc;!Got`~@{Po@>V)s38acY+`i!qV_G$F9Fck52N?3a-}}j|Z1q!e-)0bX_npWQnw|V@V}zYFVrk za`~g|SkPU{5QBL6R(Ul>k?BjHRY0&AR}aER#AwdtN-=K&sQUPXjSZWPsnP^AE`!kz z$aAzW8LRq~!_*h=ij`hC+PXvJ+7>qodErUaRv4n7JmRb+Q+r)9n^@Cs>Ev3KQj_MN zrn~XFiGi)0R7+)s>KB^X9LAG=#XGkyNq_qiJ+xUmN7e+c>Q5 z46^lS&s(U{AY5h?wzbo6le%PgVrPS59*2thTW06^e-qba1w4Ts#rQj>&Lc)HfJsly zqrjV~FdRao9pf0?LWlS5G6X_IczF>qnDmeJdTrm%KBz0?r+sw8p>~n|&5#G*@564` zg5)7U#JVq7OQP08TB>@4hDo@u8s2k~Ks+n{Wy4>igGd+uSh zZSMES4ws4xXoZT`G3-`6mz(+sEQKl$@#FbdQVIXC>b^?ZhBu1-#=?B-m<~I0hcuLl*j0S`Th|MCuII>>oJb{X({{b zv5LFv9MtP^3cBlzSk`!(k4F&YN9S&MIp%*5iFNBFAATE-wVHgyLPls#NNQvykI;Wo60vQDO`*e^zhAX4m-_^Z7oq+|0_D3U zDFT`Uw9q~7cL;+Uc2y}%4aKN8P zu|KXCvmWWpg{cW4jEK7**CUL-C)MXOo*h_>z|#X{8PLsATx>zlJd0bwZFhPDy0DlX z7`U>9xuTEjbr1^uZDhtq zg!M#%TVX4Cd;JHFzmmZMyP8amKx7qpYlhrc7KB=ble|yP|9k6PeX}0J;VNa$^Y<%SJFhpO}WJ`a$1ddzQP9FH;7DK*Q!7>;k`HOjf>99Q+5TdTNTZX zaGDehwG;r~u{r;GKQPyYhtWW(@hD2yG1ht()TS~d2^KH>Y=U>XK|dCU=TaU3NShV| zD!F-V3)k_&uV>~8WLw;@#HpMvy!04~K=Bvx`hnFlAkP4Xckl?GxZ+JE>FvO#7u&Jg zW=c3vpzxoS;Y}rYp5L80d+iH5X0=Dhl#wJjZaRucFSf*acHu``G1ShzE%Z?~SMUV`#f9*tb~Vp2DE{ih;A%{T6a& z?^>6sbcg<{si8X=I!(WXRiARNpr-yr9M9*Wt`4e|u2IO78l;oTu7(Ri zS~BgG**7x($AAl=l9J-qbf-(?0eQB0!C%4Mzg2DBqxX5O+E<|5huEBa&QC0$Fgcr{ zcBpaqU~~Tf|LUdg-%BMhyH^q8(sIf^fZb?>3&OK8ds{q^Bd9hhXJ&zeQnryV+O8LB zPr_>;SMAF<>20aji`wdf{JAdw%A;G44!8(@#E~^o_>tQX)$2|v^Z2!Q6~~zNPQJsv;SpylruvGyXP3tH~+S9d!Y2lwgm26uH zZ<5`lKic_Uus+%yfv|V)ripp68y00EDh8{TYqFyvi|^9Nv)Pw0(9AwkKS;)YNSv9N zH2Us^8$Q_Ctt+D>-3f=N`-y`um~1!UuGdw_@E1h_W4JHtl_s) z(NTP)E41QEAS++?V{|6BX7QU;sOd}|$~coMh8yW*>eOOT-|Mk1?B>RxO`Tr8Z9Pbf zxS&mUPgm9u{*2@+VU^|MYtEpL%%mSPb37{3(I}iG>^FqyyENhp{*INrtj{0~gx*nCKMS8wFOVG8_yOHSllb zIU1RZv*t(dn#Og%Awve=-Y$)K4FPd8f^oA4L64V52@yiDRn#DFLmCjtwIYbD9)qEN zw^!3eTou<6=B#T0COR^Tspv6Pd9+#6jPeAR-HjvInAH>u zc|O%1nmUvDmN$N^hmOs5cfuo_ziZD4SP zp=HXNX=UT3p|bSp+n*%?rM3GJ;E{6Fk>iChcN+SUvgWgMd&7FF>Zy!SUgb{NqEj-* z80N)^;nM)Ba-xlXyhBjz<~Sk1c<-{RrSXJQH1$`^Dz6?jLAz}EwN0DLG{TuAmPB-r zjL8Z6u<1c;pg(m?4@eT$f=G5=Y)P~qxe14aobupz5JCpi1QwsfITQCrrcd890FA}I zVy9$eM+42Ganpd=X5Wcx($!+DP^LTGbe8y3Zv;6a4W9(t9Fig$13lT@>JW)Ypy)Uq zY-5W_!Qf4AugWXM!kd^exd!Qal66@a^UWj1M80H6tJN$j3`a?aRF)VHm`8RNzuP zx3s4{DWM#U=kQB@E4^p^N)A8fQ>0*FDQ=izxk?Rv!~|iDG zv?dn_PE1PFTP*pJO+TXP-Fw{6AHdEhEYwy3sa~^Awh7w4b`uP+@YaB^d#jyh_Q`Fo z=t(>W(gnP$+qb!#_`0uR;C*`qPXput!fxkOFee9tQqKb7rG<}*y|O>lW&*U>r3~Oc zD{jEG42&=smiQ=U>pb~pOt8UW%j>a!pN-naxgLSD#+gW_eUfug@ zXdHJ*FMj7k_$mPR)&uWo1b#0EeyazbuG6$5{Xg7_GQv+Jv4X6TC2qYr|zV)9_|qa20iZ-{#Hq*_kk(xzF6y%6yw zUWwq10`5{PXd~aVL)9bj#F2yQzZj@=eAEB9vXl)?M19t%GLPQh619G!MF(#Kh^Mw* zu4(g;)4dZAJ#ijNverNLxWvwDSn+uVH@+Pd%S3iJY3k?oyMPVC>5KN6sCyzk(JUxZ zCcb2i=v03)WLejHC`+@s;|an6^d<1Fp$!4Mkg})5_MJO=0D9+zT<6s$< z{Y5_MvZHtU5@Xw>6Bv~0w5GNsWTo>M*h#(lXKGXhon7h=7`<~^u3rXjGg*a5dFroWYNUta zOJ}x>z~bOU?`8=?`gL4N7lL73q-W0?2t7_r4$4^%D1*1pMMTuH?|T-g@v@?_t}9V_ zXffplwt>0}{bC*TZyUVp#ki0%ii}_xzlDUQB`<2B&~A2@M^7i}SYp9T%EELQ|FZV# z2!9pHHyU2e@dQp>4JYLv;YkjtZwG|zluQ;KcqO4mLXhN9KdFG?Vp(wn8QBF{u(TM; zYj3iWr+_aOp(hAlbcYl-jkd-%hI)iOV?5h6FBo9?e40uLn;D#$7i~V~YDX8MKm|#Scu6kiD zGXTqfklW`P58CwMpCziZ91TOcRn#gf0%5xUb(C!<7frRW38Gx;38#@9K7o*)QC-&N z!HJqY@aapJeiy8pFYWU=UgIlyWCZD4hNP(Jr!t=}3qNKt%)!D!f3J)kUlahd(g?7BoO0W?KoKQ7z0H$V6aez@ zVys9D>7t^hO_l?mU260}ip;L~aJ)T&I<`|gm7^mQ08{QJW-g#K<{X7pmf=`7B7sxW zKCB}GKAAS|sdHu(k8Sk4Euz$(U$ILf6JW?W^DFs?M6kz*mXe67Ryr%CWBvJ_|6>lL z@VSZK>VE43!;D9Dr>mdmt9ll5SK`9-_NB2q!S0Eu5${UGnrAtJ{8tyG@P_)2jevVR zY`f0e^?nC%mtHe=5F`FS28Qe-1LVF_pDZ=W<&TMqJ#;k=g$n$yE&=n!Cw6cbdu6I9 zpNQ09dZ|-A+esrS#D^lpjiO2!nqu!Er3^LEr?8SYnqqoHiQ1aTPGVd)GqEMLy~-Mz z;<`q$q0cOJ6s|e5=VFd-11{v41mC&i+#C%(MxG^b$d(pF8v^xw1wud|s)=bNtYq(@ z0ShF z&O`0^Zz6+q0G(uZMCu~5i1jIc9RJ$xX*1^CyYG*2a@3+WjDN4Lev0Hm{GR!%kXvWR z{6O0zlTc~khw_a}X$6_J45zh<*pfLK_+Bf7=IdXP`q1qqct4fa4?1{H8N7MgeW9~= z8Ys>adNmUlVM|-p4f(>IyHkR+RX%)Ur(h}WT`H>HGs;{254v(`nuMUb!v?S;KX!nm z>EA45$Fbow?W26KQjhFwB<`=stphPo3hBgs5-%3o`ZA~?fJFfH&BI0N^*Ghp<3m)W zJG??xt*%N%%TD7tz20t!b!HN#5gY*u6Y*H)bt5M0h91aTyiPnP?Y>KXiOz!*OTm;8 z(nP9MYA1GU=?*Ln)w6EVDr}gsMvaq~1mX~nweD9raDYl+pH2S`+Aab1Eh6|!1;mF6 z@K+h|w{oBd+peBUL7a{+Iqu1q7f!J~!y=svz%`T3%jLI@vD&ix1lDGfUycN7z=Mk% zz!y$&%9_tkbJ!Svqr_^EPi5kiamyvqGWnwu&;Sqs@b)v8sT`w7-5LPQDHZwce$1Ih zd?+M@F>~dTO48FboU@s>MSOV%Tm?kSS{O8+gAs43fvMYd&F9wEGpYi6y8>Ad_P0i@ zy6bpw*l;X5F{=0*?n}SnR&5ABZbsDhp3n(Q3lo&(o#3XC9u?P}2djQsp$m~>PD{#0 zJ{cjnIkssbBh|55?c z0p)CHqB4HYUTx*fR?w#dTgxKbIngP8qO%8;zrp8{FW4SAy}1UO2 z+%YNO88trX50Hur8$fSU=a0yt4l)(bq{re)XDQlxR8g3$%uJ8QLvQ9C_gPd0iXO^0 z8QL8!3ZPf}o^Bjnn_m;p{miDkk=vnm1bkQO%(%{UDkNk#P8A5!OI_I)bYF#UuHWQp z{7e6H>9MNV^=R2D5qJ(roea#rb1pewnatSNFwYaxKa$+xUZ8ORiK`hRga4dn-MtWH?9COaKn(9Z2-+liJ0J5mAV zuA?Yd6w}{0(Z*|x%99W*C!Ujyb$^{LkH`kgc1){)?%4Oo=)CeGGA zEblc@Q~{*JIHbXRCzKxYz(c-yU^|X2e*W3icjAc91i&=6huk+S4-?%$)6zPyQVoEn z*42k}MJ5<6mcQ%R18x{KW*QR5nYSRZ+ThjRWmQWD;2dwpqFzY?+3ka3VJ1la#_*S_ zNX35Mbwx8@30RVoW|f3Z;DTq?0K1?W=0i-W1b*Ij1p~ch&1{(|Qe z1%CclyXG;sj9a}(P`yA<4je(%PYkbF3KU_}zX#Kx35rhBuNvoaUdUN-dP)@{?s1`X zh3~r?1;pbAa)}!X#AAa*h!+1RTOb_fL~0}E)x-FLaW2> zx;ObgPy3_;ZxO<7EUB}FM6DgS3>fzmIr-~Ljr9Qp%c{nf=YX@LE-Ap@a zDL3gFT3FSmpkwvuUeA~r+X4_W!z?Uyyz^PY=2>x8IY_?9pQDtqjX}clCuPZv{`Grg z-**y!;M%YM>CXRAg;~MQjDcIVQ`LN(9Zu^(6boUy!+i5gTM=+LcynG>^uLa?*i0du z{!Uyt8AA7+!nQCGfSG`(+BBTl9`|)+WwQBGal6$R=|jC^V;g+FY`6%pQYw2<%wB8^ zco*Sfi5B&BxZZYBG$;-;T5=mxVYC}{xu&dU^kXQyiQiF4KNY;z4VdKMRG7eCL|8hJ znv7$@kiopL+yp)9Lfi!37VB84ye5M4##1O@Ip|AA{}W;%7l#@1**dI2bb0AdBJ66^ znQ*_~DL`y6E1moH<~_1PaC8B0eE#Z>!nn|1K(TwPwumDOfNXkCG(l$_LXGI7hluq9 zN!+&oUFz>3b?!FmAcoo1yaiylwuxtjHtjG2SYzOz6`%o6WI45<9d zVjT}&6x%0=6`A}o2|Wr206EF19y)YHIs*8UiBt$)iE;9B5*>{`(|`5ABE*h4iwbWM z8j(^Sj6EaCn45I#nB7B}mEQQlTXOam4{h-&UcojbquI-(h+ud^lM?YsBkcyGhJ_!zZ*yp0eWJOy!8X?g+bF z3Lk*XrBdIGx<}N~>=HNVWrG&6r}Qnodh}HP2}|>vKB~^Ta~|c9<1e)Ra*?AnBtmv5 zWE=X^U4HR}Q>OM&vpKCk*n z>l$f$y=M?iWhbP8Ws>x?hL@aLc(56Y@cejSG0L0BDH~R?219&)Uj5`RWIIVujKHD< z`OLkq3D!;T{C5p$AgL5tQ*7rzN9Zioi>71LT8=!gKY*P81B83`@CwCZYv~ahOC-oi zXlqN9&OXB?Yh9PV9{D;q!FS+s#C$-xQxLyxK+1g+eC5g?Yj$Rmf zJR8}Peu^LturZuJBviM8l%IL(KF-=P|2kq4aIhJ9 zwhv;p<yyIM){?*a3dim36d0soZI+MmAIa^ArQeK8uIXp{H zjDEo)r9GcCnj$(t9e|}(tWJ9p55&68v9&MZpro8Lag&UDdJ)W-g|uC@;BH4>y7Q3b z;Nt+j<4+!@a?YmY5BCfg)4CHl3M9pIXV%`YDH9@{(d<=~_1DYhPjV3)S6adW9$LZe zHgL1F_N$E?&G}~@e=#*)y=z)Ra{%GIuG)^}Ojoo`>>Iz-Q%~Ue`*$M%FHlL(V9(9wDWhN>;)GmU#RVNWRq z=`TsjqKxnE8!Db=KGHq!?}WWjuJ3PB#B>;{&GNjCQF#vlf=vpBf2!bV{^YH^~o}!5d~{0V@>?qe*qlgniO~5X428_ z?|wyA83VGBkfRpgorcRr+_+WKarnaNe0SCa?|bnVqJ8M9Oi=Uy2QVA}^SctZ%SP-? z@1L1h+&*ZNn$jED^PS4b((SrGj!@zMTJhgXIh#T*9t~spavV`g+B)UW=84pq7ePj4 zW6=U0wCfk!CsnItJjQ{qn0sd{Y#6ml=qoWQ~Lay-e$0bGpnRiEH2!xkn8PI>kw(6js8DVC5DI-4l#iRDvVb3}@*7?Jg> z_w8e2Rd-Iu-BKMhtjxkXz@Tn)xlVM8o29HauOPn}Br=R{7xuYBRy{-uCzl5vPYh#o zJ0vAaExwI(Rg02!GtU+Al(ds#W9X*tKL6IYNGdmo8!^X`ko_i^FmgK*XNXbLlIrVb z^qLq*CxhliQu}tqs4exTNm*3f_V02Isqv4A1G!RIidQL_D%6o)^1FY(YApXHZE|iv z9sFpWS?m^B{w#HQBtFL<4`f*}i&S=PU{rBy9^Vw=NOQI;r&ac$bAy^mxL580HgJr{ zGi$7f)`*b_jogJ&k$0BnvO0o$wkMX-W^|ur-!0&fz=m1=Cv;6D1q$+tL1sdoJu)S9 zj~P0Bnu7ugwZcX9Ok_JZjVK4k8OdJcg`EsTk7`X1TbfkjRc{-q=!A^*&)Ay8$lipX z&P<;iGRmz{pc^jumlPwsb=wPw0t*a#9k+`MW2aJpPn+}n4g!?l9*cXnvGB0Wz%VeDv zV=$ZENR`9NXUj$cVYh|oBJ(Eo6;Y9!hycw@{tD7^c*_1qqZcaEArlT)|QxQ!vR|ed3U108{3=<(FWrpsnng|yMZU*gCqb6 z&zWBmga2SfMI21M~?T>_y#0*WCbC~WY zSf{M6VSRe~1(#vvPd#!jFKd<#lpk=8oO^?;E09|UUUOdS&>c62Q`T|$ere1EMEw<2 zP#`+9#g++BFs1|kk|X;%8sJ=jCzSrGadcPh&i#h*qQJYrpyPoRq>(5a;d)p&RbT#? zg;Ku7s{0r(Kzv)N{DPnBlYepu`jV>-fP8dN`Sd9a$T$}O`g|{hTawA8FR?}WcvKp`yhBp zp5DqNxhWW zA*+~~#B-v&5Rlx8AIe~%N_19K{%gzJc5HxKIqeCBpM73{=6y?O2C_m0<-tB^+yR&3 zg0_*xopGjw7CM9>$UY+Kvn=>xchIEo;$!^0>bQ2r) zie5oSrp%7+J{*KITV7ZTLI-k#IJf8W*yOH9s=-+GByL7^4LfL>+{aW|0pqMlLMVhH znG=FeTT|+Mct}yQr!WbdmM>Y$y3k^Ldn&yaaS2zz_Z-F;NtNcAbOdQG@uq~xsSWm9+| zG)!#B*f;ne1#3Y!$q}azu`DaWx} z;bT)-_75hjd}$@>{E$u*QU)kO<_SEWwrOMNJh?z9>aMU^cvZ~GgLLMMxj;F0u9bYm z%3b-vQeW4^0a=M7e+i`AIlK8XJ_e9unzu(OrRKik z^iG@g4FwE}1qcQTY}ZTef#h?BtE^BSSFJpm71n#aFU_p4v13$X2F#7uN7BLS_%;@@ zZG5!X9qlk=h*#R$T8^~4%J5c_cSoza@%N{YNW~V^lu|Dce#b2eFX#ugbqTLC^r+dq z>y+q7mKqdOBJ9!I1Fh+v_Dh@OiTiE#4Kfmm3 zL&U4oX6*C?PuhN?)9RXD>0#=fflHaexP|*W_CRRawE!E>90aD(?ITxiYB#MzgQOy~ zrpiuh=dH?N2(%u&8C0WNv3#i7=KpB`M&6JRI-z4*SCCCmYy9QloL^p2T{m>aPg%<*S4Ne34V91`Qt}-4#f^uYBNwJno-;9S#mc&h z--Gls@>mFo>D!tkQ}*?73`2HdQh70oDI}BQxQ^KRWs+<9p|r{X0>Rya&UgWp*RY3A zP;}lrMPW5wfkJ-gSAl-^=wc-R*R;@wuE=)_GY@)^oc4&xMKB6zPsPxy2=B z!U(AJjHCAdlA-MFiY!ZKe~Ibe%wxn}bkT<-i@YOOJa8(&>@CJ}`dd==8z z#gj!hYp9eh-Xte`ZMz|vLR{yuRwM|!7i&Qy({yb|JYRSvT5W8I>KVHE0gd>yf1uve z>@9=%CK>kgSZNyYoGq8{EUJJ+bgtc^-D%kktW>6)~HUYYFr zkUNg6PrJ9w(}Mrzd>>vw(ktvht1{hK9rjkyG{p$<`zjOER)B&-4|H4-1@Lg%&8rLN zpvee)Dxowz^RG7D2bs(mg^GS$OCM;Zp`#r7^IEKi+F`X3Vv2@7A*&9zF>)a=N&g4# zC}r%Tj`m;HCNu1{rjr!@?l#S}1I$(=8N1$ z6nWXW%uFloHt9uz`_dze{G`s$*fY^I$qOxSphf0T_%V5ivx!N3JH<|LLOt_7$>O+? zENzQ~Uf@&3k42}f^DLEZ@$Kf*HQB~=lRFqVW35$Qz#4;4l3C_Cx=Z7HhvQheXoHsn zcfyeWsfFK5H>Ygvp&!&IX4Xa&+uo%WsXVk;Cx37gZ29@YR9L&`3~OMP=&WtIlfK^F z@5^$3;}~LuW#@iI=CkSkRQMU0qRA=*m+IkVpxE@z={=KSztUKY7wka$g(;6p|L|M@ z6Wj=#`im22sf|C*hay{V?74gI%$a-Vt<=TXLm06c3J3nMKUl}EcI99;K4$qPljc0X zl2ghHUbl^Vc3j=B*ldVj`|GmGpoRfc>F5|iJ&l&<>1Ze5B$nS*!UE*iS~|B3R92Mm zJMvl=Lb?j4W-cdN1K6oEs@%8*_8vOdp?fdyd!A^>cYcMLf#nJg4aqQ8ht&CfR-B`T z9Pz1?evR1a4?)PviG~cAag>z!xeEI;e^fF))sjDpmPpCSrVr$+=y+1V-rQFn+DOpa zcg~jB{x1NUKxMzJD{RWtnD1`njg}Q@aXK*CN^Z^nHeBZsN5vt}_hQ3!%5a|#!|8`%J|BkB4?}%E45c4N_eW0Ages1lJugM9Ou)aRCVvV!)<57O>VsI0k&V+W`jKVJHUV zx;qmL8_^U)md5K&na4%eFz>5si=iY=NX2{uXKlkgvKhCd5ZP(p?rSh&(Jr7VM*Bvk zdy-_`Izn8R?(Q*!9s8mUhT_M4v-o|BO&s5HJ7|;IXc;zK1bz>^I=1XCk*2eaF8aR0 zX4tQj$xHQ2mQ+V`U^D}=IFQAFYz|~IAcq4v3~+J4MFCs^fuojupJpyMk;|-%;lLOM zxH;fvKpqG37%-LtV;L}x1LGJlo&)0f*XwCh zF@e>3&NU-pkRHYTi+BKFwEJbqHmiw&Ns5ylf5%R}i&Cf|QUM?i^NWB-%ZkOSO~w&u zYXq)7(PrRmsB1h9Psv&)j2}nJaDG664Ys8bPZH?}LzE-R8R`0#I5^)Cl|WiQ{~;U` zZEK=kqVf&-j;J=|_aE^4N%~ux3;SGp-UYj*z5~AC#0&Se`1^ZkK%pD}I@CzlQdk4* z`a#8EVy7e8^&_^~V$HhaL-^QkiE(U~E#p@CiZM?sukZ%wKD)E-V#mEWbZd*LU$(Ra zhmHEhkMwfTRmTKI&x#9S-xbVDQYWF!ec@!<>)tNW!O9qu@f->u`y_b;x!}g8!f~hj2oS!Jj8xFxhj)H)+#K zmDouQZkce~_+)ZM03pD&O6UbT?m~78%Fhf82GnCNJpL-j; zjeo&w@5r=r0pNC}`H3;JJ084B$)j1%|Q#7kFqyi-O_)oNg~LItiLr(bZ2 z23loFy{5E>sf;C;CZ`-6ed;?0ie!3K}hF zrH?)WyYg_gbzAP$^$0LZ=UchOtEk%$S>kL+clIziC4?Hm{pO=2x=)}k`X z!9#vrt^aYY{>SzDA4Bv%hUtF{6+h_ix=At~hEMZ^+9O6*6+{BuJTV7k`WeT% zP$FUy-_$gmU&z+GbkKzmXE|vY9hST`5J-zP?-xiMze4{5i*p(%MVko~gT?h5Le~n& zZh?dpMFU8oI5i@@TV#4?hnjBi&FUbePe9+S%r{xP8HA0aZx*zXFqCJ;1|3utQN+}3 zEMtKF4$v<}KXbwIh4f7=$C)jECG(qv9OeYAkT~`xAg*Q5FKm_Ueql%EnVJBFK|C?xyrO zmmNvyxo+Uxmm(5e)v%!%ZX0MtZyT_>Rzj_8xL}~d0yE0E*BfU^wTD=v@d0C_aSCtX zOrhN-Y@4$wNW-~OgtP}Sb*)nA35MA5(KVHy1`j6r$BBo}+UQ9c0X{!r!`Wyw#ZRCx z`};^_p2}sO%KBnY*=U=T%0Ns^<0huDcHDFhpk}kWox+UBi9l;M_ol8v2 zXD4EA(YGsPem1M?MVn_%IZ5h%spmZOZW7z$q`3Y~45@zhH>v*iH??d@_cxIs&E!Fv z$ymCd1NSrF0S-LCfLR=v#i*ahlGU5KWQAq>vl2ZolkZ%533A3%S$hTE6Xl2IvfC*vL3Q69HE-# z+6Z%quFfQ1wKOryitAS_Sl#nRuzFW_q+$LOoVOBD`7iMtl`9( zO;7?bGjJUez0%8QX0y)B%K^-6(V2NAfSE#_8Ms+VyWH1I5t#9naGyMRJ_+%$__m}^ zB41^Q&NwdpT09GQ7S$e|yyfSDf zM4&6(j#)1zX7b7*bI6KHQPL#)+ontUbi5w+bj-yu<*)GoxPL*m*H1^t`Cs8evBhva znYNm^P9D0Kyj`7l7LltqK<53c{a=<8AuI z$PviCwx0Y0hN*JT)E>lBOUQ@Vv*H&oOxvF3`M&z;xouvqt^va20^e2L(>E7aW zJYXmSL)+s%`o=9P&dfd;^e5Y7C+9;6;;JKMNemkF?FFp&kn5gSS^E~#yY{CI_euQ@Nopa?o?&+-8k^KMr#OuBj=O_3Y&1- z1mx_32{(Wchhrn7ED2LS6mb{{sv1arqyn^~f^fwe(BP6{{_xx3WgYV&NIq6(gLXRW$ z55+y84~sKJc9js&ealE_;FaQd0{pi}<&nQvWp^hP+xQw<7#Da2$5%Zz^6KeaCUzG0 zLAik`-DyiZ*NXGL&OUZ4DN#HrTV}Q)wMJmNS0i3hsWfovQ|hI7T$Q3b zpK3gw?8Kz_8zM;6_CbK~Mx9K0O8(s@Xr;}Krq}Ku{hruLbZ-D3AdJutUPJG5NL4K_ zXrJQ|{yKUso}$OM;%nD6D2f=>9XCh6ilAF9= zqwCKA)()xk%E==Txa|-)*I}?Zk~m{=AN2r->0kqj@jdoSQ2QhQ1}p6jqWn2v)$qSt zVQd_tY*J^tFWw2eJ(`a;&(P+4xvmwEHMAmv=2rg8Jb;0nThDMV;$jAfn)N zj0teFzb76(*Tn-Bc$p`7D+2M0oX(K*jzhEH3&pc4LW{EFu!4;i$oY$S(X@y)roZIC zmn>aCzZ>owo=?w|_grI^5AM1oGs#%So6J1-khV_r^xa_(- zN5v(Z4I(Cxn$X{!ZL;*;51w!qkoOx9PMhqxDM9Co(#x*<1&bpiG!^c3FT6~lvue)h zw6+#{^^z`ZILAisqwHHkiD})B1Pl-3*I$)jNsaWZEs>?H9Dd)DEZt4sZ_+h_x=RrP zibjf|cvUBYOEL57O8Rc~7Qt|j4fFekn>@V0T+CZ6{-cfYubPeb2?+ZMZTNi&`CsvL z`IW8?g|ksxki3`3hqq;|3L2f31o!JQjB~e^wOBgGGp;2QlP-uT2y-%q8M8kB6lwSr#oYaoJM$xR_dgs!&3rlkJB6QX(udf|y8^-r z82zGXX2^}H3TcN-;@q$?F+3NfH;sTE8hyL){FAo)ytkpg=e;p;9ppcE@@RgE9X;@$ z2+`Zl&h%*&A5YKj`38h>rO`NwW@ReM;YtS*^C6Nt?j@ZytrV7uC&_qjzk396T=L=dYmU~9qh33wxj!gFX7QZ0y_c- zmPw)DXq|VFcm14zMagA1Y2Q}ex z(^@X888+is@%S581pFXiq?zp`j}&L{w=}LZhOv8CrJWGy-Y;#dNI!}z#*T+~wB!*& zTDv{$xR{lfQEYrU)V*C|KXzm!zaPwucWS*$$1os&z)ez4mWp(BfvmNIWL(TsTC|lS z{p19Hq8SSJ!k%_#RHVCRv|+OX>uWpA*x8QMt;{Y=;m)LNY0V2yF=;!rb*D`gcl@<%9NNF@b-JQkr6Fo8| z-fmn}&c$nGkd4Vy*uxg#zAwwTJD!DA#jqMzq0{skDfKwrGd441h}46xP2Np@zmH=8 zQ0k<|x>sk3+(?&II^lrRAF;T?GATmAVDvkWC!iK~7}I$?!`Y{c+M|_Q%jOOcOogUq z8g-m>mM9pNmM!N)vG2MX&e)1o@<~@)h4mrmphI=FwBrI;SY_huqp3Yw>s)2H-em%9 z_k4+>OJLp*D{V>L+>)L@s&$1HRX-xXr`*byZdgv&#lRi5yi{kJR@#}o$~#k6<&9wD z$iI5(E?Oap5l>zZ@^h$_^mI}Yz(5uVJmq_p^_))^R{;TpI99>baQ?5@>Vokd!k8*< z&7gHX>>vLC=s)?=2_#HCg; zdWz#ulwIZ^yEwBt3P*@&W1%{V@12LH=mN~=zlzbPC~C|?+Z0zYhjoKc!0-8--}80+ zrpijvFs;9xYSnmc0B9Gp7Q~<4tP|T8(q_QF?05j{C9Kw7%A<2BtF@PLU>O6Ja{x70 z%QSahN!^a;?HM!Pqo}L1N$VMMr8Dm*;P7{1*F7WKrw+ctrw;xDe1Uo)i`5Hq{vWg& zxSdo3e*~!p&ec}~J!v(7cflAc6A*J0H!WzL8U72LT(#}sGpsjQ%yT|KlHp8ssSzx~DYL;kM@FclH z*WV<~KG?_4_7KuRDl2W<^AT5Q-}CiQgP`I#3l<2Zb&hnM4M%EPxk0)#kN$AmR4JEV z$GFyT9V2!Rm=!t#MCI=z^}LJ9ukR(mQc%q1?@`Z{DSz?7!RsLxbRr^50|;>~0VqC0 zc0Se%8n!p_GTn{+6C7TAunBbi9xcGTIx(OQv)9$k`3`|l|2DAL=c9->Is9@69%hy z7g|iI}qWld!EE^a(8##a)(lA($RYex``|W1B zRALi1gBsk&ahs@vGqHgj?T*SN<(AD>_vKkkaV=}f+DI|VH(q!DmT}d3JrnSe2n-Q)%p{tq}NnFDEY5}{G zj~%0CNw?F%Kzc*+G}t<--G{x~bde|U)_ZqU9_-);NAp^Ncq-f>f0O6Jc)p|^rHZql zSPquG91fM6bHx+OX$itwRBV)f9l7y(`Pba15no9k#R;*Y;DU72JNtBY=j1_p01;uh z)zhs>fHB5x><%khE_Ib|$*1EiJTn*42x67#bRNOejg{$MIFYABSD9kF0>)`R!*-CU z6w+giWd>AcCB~KzI^(h7I%vX`99FLq*MfzuVk}qNOWGx(Ty3L0Aj-uDf|ZL8va+O< zr^-@&^*>wA|C#r#o}hS2Y!4G_03uAPQ71nHATVCxaMFM2uwkMy2&;d)O1$ZRBu?rYFwQ?Bee8`Y7YwlYawb5u_gXqj`KU2sG{Uf9LTzKQcj? zAK9910EukFK0RvZdqN_$cOb5Gc;9yJZFy{wuFhA5r{}cGl7=zkk3+*?FrIvAi@+lb ztr53IvyaGdJ9p=?0o}6doay_XPHJY9wvv7|wlJXIbu;1VOGt<3uyptbO^4usrBwmg zus92V9!Q1figwShm`<^S;qk%Z?Sm)`p5=wXvwm9ETXls2?~{HNx-8ggEDI{3|0>fr zX`JfYrIiY6Sq3f@c$v`m8k%;5*QqR0EGQpb)E2d$-dZ1l>h3of9)A+C24Y}z#To3w?T z190Uy{w6I@slU}EX%fBV_yTmVHElY3Z!bH^&#`02cJJA{qqgpZ)vn!pjvhVg*YVYb zwId#1cSg?o)DateRmzBsUdperUK#6ey?^b}b=$lgUsG6jdiJ`sQCsvX6;xr$s3I++ zsCz~+suHd#CSb~_LSn$n7Eyh(HZI>#qj&%A*}je!YNNo}$<6b_s(2T-S3yRe%J23)cu2p4yW9^65JoLp}3;< zIDZZvI@HUxkvQ0KbY;@$t*EL{ZS6=@X8Gs8R~b6 ziYg86C%a3Df zvzxfw!d0I#Y5VqF2ZVvj9rY_VRvF!2OY#K~)ysYD-c`h3U-!GZ%ZcPIU3+6(`y9D@ zmaMB2Ur8wLe71bqhV4f8*O9CT6ph$uaDN!M-(^&hm-}7Z6@(TdxjlFP!=G-`JN3>_ z+v0L|E!|)M&n50>68DS!xnJVfePAYc-!*fpkH8fg?AcJhC(*rwc-?sSV_kbYj^9ze zbDs`BeEzI$EnW2ubl(p@UELLNIklfH-Jy4+;Qi{D+9%e}V-u6soYz}dGcPn%}A$zBn`{!f+O7-V{DwIE) z_2rM(^XwN}v6QHD5|v#`N~AW~HD2!bAG@0H5U709Ms5t`{+}Cnc5qb_H&N{%B_1h7 z+h%QBw!u&q4G3Jm`IgV(*}LyR|0$)SlqQ^?JRt*n=d3#;YZc_R0E!eNLB5hgpy!CcZhK(O%1yOWfQQ7z zfrAH6Sdpe$AeWozfmB7>SuKhs$@+sNDL=r_Wi$Q#K>rl*>wqLBf#1+ixj>@F`-*-_ z?`941si#SvEoD0&eP_!xQ#bS)wU+cO{Pw3#raB{M<0TW;Onh;}s?FPjOMdw9k;mTK z(r5Gr-=ZV9O7$pGCDSg$+KyJnm5D|(n1?Zc#XulUye=9gYyH%%}h)y#TM4z=?%o z+N+!N@?SE3RoJu}BxhoCfxCEAxsPI>L~v-l_=X~!AY3+ajb8rr;eYuNc*Mrk;cKW$ z8NOBvyzaB&tvD zmg36V;J*C2veXZ^BR7PU|N5z`{q|YJbN}1L9?3m&ZcPfTbYZFJl3BXwkAOoi;#sl2 zs`=!nqj0)`I2bewqVxfo`i7s8v?i4Qx=`}Ze7i(QPQ`1FBYsr1Gb()_ji@VU7U_HF zO)ftv1g@RBCZzlx$vrYd7qzWF#YZx$yXBOw2{01q`z&8y<=fQ?L;k{$^3Qm?R42KR zlXSQJtF}~)u73TytzimJ<@YUAgUe6*hS!84zfN*4XLd~+rgrEQ0~51qGM+C9UwA4% zj-3{UDZl7JUo&-WaF?gQQ`*iWIg`0HR|zn5%oH76A?mbAWxMts2=1(p{MA^m8G;a0 z{=yXOl7}IG85Le9ITP5KUF)R?*fzWRm$f?^Bs`U0OuK}XUq5_t_0)C2U7q$%8KqrF z&ZNcRGGF!BCzZh+3@krR=;%^WVEGyO#LA#)A>}V`<4G#Dd^(`66`c_RyhIt2_>O8i(qNe@?gs1Y8mLAGqjJY77{Cr3X z$R}39k>5*rCbnx2PMR&y29abfTNgXc`G_;dZXAZD2S7zLsf z@+ZHi*5V$X_0g{9fdfWJ82+ zF=o$_b-|j)M~)o5>8Y(a8P`zx`O1o5@|SkQUTs6=j{*4!`3E2VG(@lPsYO*dQ@JFK z_7*S=-F*C)oLKs4;o9@5amL*D$$X`X1e4@+CVxZHe@OXL8kc`3yd9#ze0#}uJ63JP zu!BveH)Z}kq4IMVNdrWfiyo{BKAy0#Vo&S5Izhfp{+foCpG{tWCFX7q-cC4p=SlbVu~~~8Y+J{?FVD$B`o=~ zUn26?jd(s->ybQ*|Jvcm-Gh?*2%l5u%-UX95r+IC@duW_q3!28o+|B|Ur`ryJfWs; zU&^E!A-My)HXh-L8oezX`3;SSp#2w(uZ;{T|Ba6pe*0IjjuolM20v4&mps) zZ34(2qW$KT_yhM}3`r@*@?g>G8My+&IppSpq29c-By2#>?jnU&$lpOO*o_@~GPCnkT{w!Nw2DqHIYa)lBD z(R?f&rvox8Ldx$uFBwXHNJSyX&wZamhmKtPa48>)_ExwIPbWDn$*yjnQ65VEs+5L| zpNBtx;rl%Jei@w$@SVkI>nk~(OUft&FZldd!{q;cT}_vq%67UH@5X5(HhH9< z1%rvajMCupuYmcZW|_a!KRfF7oinL~&*D{!Sv-R>&O)*!kr^c+yRvWKoSjDf_vL^4d#@?%${;h>9gVZ_oktb_cjezuTGu0|$ZH7! zs>)9KWdoxP+gLh_6&<6B8ZSRxXX~W~PFVHb(h7g7@>{OHTekJ`shj*Q;qWZv@L9Rx zS-b(uX+{;k`^^?`3X~u3UjD>;jV@8AWf|6Q5K(>2_>`#Li+_@JOK9|Ke!2u!o`pbs z@r-``O!!NHu9#$4Kl8{tp{?kvw%|*cx@GEDF?p0&i{-ltD`gb#n1mDroa&qXbG9`Dl+}DF%R3i1xvw}O#4-RGB=PcBN?A3-VfKhpHO%fa(l1h^HCm? z`c;Sx@_P2$TO^-{^!3I**WmS&`h4LVmOv{fPk8YpQCUxIJbc*yYH$*SIUf{;pOE~< zNT5}$`jx9EAU07wGuBUkZPUR+hy4mKp3i#6D(?|bBipPSN zH?1w)5nS?9&&hwhYipJ>2CzM%uzvv_D}Vn$-^!`?Kl5Eo-&X$S@yO%VJHBC`$Taw3 z((Myrj-7f=J*S>i&p-bu*;@PBqT+iW-7p|;^*?0W)IVIEk+b2F32Se?f6Y@13fC3Y zgr+#aQ&qEP@=F_gXP!vQzX?^Uw<-*!wluOe-h?WB)W$J$H*6~P-dY>-`DSU=S+4c} zZNmM~8+;RAN~lQruY~A~oQ(^9EDxXje}7hzHnPE69h->uAXMXsL`EnziVa)@j+FmG zM38d(v3LE9E%-j)E!|3T&3}t_1KXU^u=alXQ^rW~jf;~T5hFK!_De-@^2@4rowQ=d zKkWfIFV-u+BVd}h3KSQ9BI4u(`3%>l;>v(0A&@8k-zOvG`(fS>=fS8BU-^v=eMFq( zSQ!8O#z5p3SJtJCIKdIZhBB`&WPEA&$0VFxmK>hy&QzedFh;~EuZU<~{z=)sxy=7) z;lDpEI(f`{CwM=EhvHd(cuQ#*G2$B+L9#m9fq*|9+P`Gy(bk)4acuJTT`$ zkH7G96h@ceap6;Ibob2ld&NT2M}gN0jV9+mRI>L;@SfD}m-B#Z`>g#47$aUTck_-2 zzp>yaBmBep50vbE3!ESc-j{QqB{$(Hzwr`0I|MI|nk*wU6aS&eHtVXI5>*ZMN=OS_KY%7!RrD`-T3 z@7+fiEnHF-zSw?4P1LlP{TxQreEbi8?8KMQ)90$`>jN>*Q@DrEKnEWMQQpxJAQqnb zsI-v*q0e&*!|lEPWBA{|nfFh-kqP|5r}m7=U?S&Kb|aPXN=cX7>{>`iLNYbsk+7 z&JkzfKmUvThhp9@=hdLH{3-g$e_VLSLc!}{9nlv4b29lS4X|O4HEIjtamK&jqxrmO zXY~5tcoIPAV#H5GTvSl#_cDmaJSUg`!p8G|#q^E7%zM%9OKdyuT}$4|e_ZGyB00Mx z{3G(he@+_zv=7o0{BP>$m-z+~9)5ISL~MQi+Y>qKEadat!s0LoC>q1RSOY)ou@GDM zLq3;J-(+Ookl=lp6x$EOPyr(%m#sABq5Ox_H9lefJsS`*itcS1{{5tRAKLws z9AFcux6(Ux+JustUHhAaZQp0!!s0OZyflJ;I=oZVMEq|K!h8U>YnaORr^Hu(F_M&3 z`ODf6XW%sEnfD1jz%BGJ>51{LPyAX_@gItL59gd@pS{~Vyti_DM+bB2iH}1ZX41$9 z_|FJy!`g}RUzq9{*eq^5|Ci0!jO6=a-ivmBr_P2{y12-yxo&ppks~K^L}&O9;hzqZ zhRgydz`wraq5KbR3jPB!@1fnms`1o?okrz#8iPk^dF3V5O*YOD=n?#fEQK1%zgNja zhx8lI|G*hre8~61ykE8hoZ#UnMiR5Oef~#?vm%@1LH>)4GX+h>zdrG^`IMoLg*f3S z9_x{x6+T=#%WdnfK+~ zbMSSJQF%_o_Qb^nGs=P=QQL&iyiZERd|B`;&_MnT)vlOHY%2b}lD!Y}I?fr@b)giC zjt+1s=k6xqHk=3fH$*|8ED%2bff7IA|DLAcKPdT}c^&6|&rbJMc$C)8*8*Q!+8obZ zAN~Vnfrjw!Kk+ALl-~1rQ}7=i^Ez&KQRVj>_;`=18~H+cGmSF@dIa%{+JKQxnI>Me``apa%lYHm;aPT@b9nL!xxZb68<+eQs7Hw6a^sPz`T*$ z-EpB*Le7q#*9AK@sF@z*zf>Ouff_;$Z0t{Obz*oLYa$UdOp>x97;v0P2Q0l_z!;NaG*i zKeLo)fnc?8c>D*fdFi^frr^K0wK3&;k#9`u9+K%j8osL2xa}u=l}Y2Dxu2Bk_z#u^ z8pD6LCgndc`F_&8U(SV!&Dr(YpUpVD9P)Yg6S0V~Y4{IZ_`tHgyBp2_zkvT>hWB4HN{lyBg&^OH_7;Y#a6%k$ zAMz>Nw)c&18+Ln|*F*ScOL=`;LB=c)KL3FVpC;p9*V^$V-!Jo=^L?OlK_$3%20x-d zVsV`74jkcv&)!x5p=@* zhpc>?i2qWb#P4bC=*bspo|Av@>L){7B^L6j-+$=5>04W|8(VfY2mgVp;IR3p+jad^ zzD>@*zr;@~T$=I)`3IwO4|d6~t*&hpSLAWMT8Y=?F#eOqY~5SmsHJg&f3GT7^Hjm% z^B?~8e8m>u5Q-}HE`DzyY6Z?@b4}^c&Jf3 z0=)S5(*$C30m1nX+4wAPD*i9z{QD_<0wn(a4{dMcIK!dCM=pP4E4?Upy~K8 z57`9$hx5-1pZzgL@>{ugZQ0t`Wo$DSR5|!Xbw>Ux{!#pUH~x9!r)l}uwLC)=KDql} z`Jqw$Q}X<}zSfENt0MpGuE4lv;a}W}=%)$VaQ;i1k$+c6{tw#59K7e>jV<Cw8f-EGF!LA1L5NBM8g`Zp;5*M_>X zJmgcq|Ik@8;eOpR_7YiBcM zhQfzk6y7ZShn|A@Cy&2TiY|Jv`oN(^jWZlMa%AA6)uj34RrvTV{F`I^=fuX}y!bx} z7 z(*$k&{QLRSyyoBcoH2Fl?)pZNaO~Kz;V)GMCEritZz}%7X?*^3)<5){Xjp%em|L^5 zsIlV=Z~e4A##Qf2eoL`T*I(jy0{>-A!GDvie>h3&uli0jtiO8v)5bP9H;TT)P`>9r-Coz&V|k{$U&R*X>efg*yvg@d@(`7f-Gux%&HCHs z=Kt{FBi(XKNy1BX)ht=t*l~uhR_us%?KbWR*y}_7Zb80R;z#~V|4ICZt^yjl|6>1v zgU(T9B;Zrut!Rup%CEXWzjyr&k+k_uivz zJQ|`-6gytzw`nT=!zg?jzyH0d&L3#xll^iWF}tRT_z&v{nt#aoGbj9%RP9L`vn|l!C-Hun z_fGZ(@|%x;-^AZQ{+sdqr4xG&9y)yG>`MJvKwg9!X*ZPifyhtH+MY6|sPX(a`T0vh zvOwd{A3L#U#(Nck4#M(2h0J&;pBM9b^4m5K|9%sH!})Kn^Y>2R`Fcf7o17Zs$$NFa z2k|8YU|vVQI3SlDeVN*5{+sFiy+B#uZx(3$`L_)V-J;3> z#}4~H_SWkZ;vme^s{zu+6gDCMK@$Io^6#AmPA30<7u9vhsS0`)bih-%{W9-GK2be# zn}q++iT}j-_hbQn1b5@lKM(V%-+%DJ>1AObgdXe&dLQN)`5i_R{9cwzbWq@3FrCn=jyhjtAkuSB5u0~ zauG?O8+pW~NJ*os(sMUA0sqZ>|A?*>YJ&TBLOx~N_N0$3Z}{aq{;%L^uV+51T6ZZJ zT)@->{ImOaLSKRO54nFT_;cvck?S5V4sx+nTcc{o6;xGTaU~i<=Xha#ed`PKlS?@J$mfk zr;2Ky;Rj zpa1jx-}g#kXWUuob18g9CvPTwW5kzj&bc@3-pteGl>f*1|7KZL^5{}Qi&sSWM2By@ z7;zuFKD2w7M^)O_wf_Gs{}tQzoSwIZ@9Zekv(!02T!gL4gVGMn(?x@QbN?`i5FrW_WTI}IzUE}|AIyE-FrDtoPBC|^Uq{3jH1cary81)}j|>0N5m=S^ za_&j+9_E=0bm;kC>H!iM4)^TR2i)M((aG>=1ulOotCxEFaHC^{MED`g^C5Q zyx<)XhPd#FkzmSb%gaqY?f%kyGcr%rzl(neG~+Wg^&@!l{dG(D%pqd zz_bTpzPZRJ>h9V8)Bnq#7dMlS;l+Y)c3^Q4I68uReK~&;n5SyuiyH%xPoAnBd(X{XcXA~0iUmVNj4BEc7bl`p zbcKv>fW}mP0_`+hBR4*|pg0`z>GS>a>T^zFK@=)3 zyrUyLwdKFdxlsMG)-POA89w>+*}k)W+N+y-j#~TQ6+URB_)-6L2@Pt*y0On~D5~7m zQ1Zo7xqZ)DUzdz}V*N#9SN0sSBIVwdr&Lh2>h#fnU3TB9yB}Ul+WDKyYEPK?Q_rdA z)N|@N_5A<+G?*Vnj-$~xTi;cfqocew0_o?5f zexLe%>i0kKcc}WzyZ-a8AHC~O@A}oJ{%z!=5m#E0zmDL#)S5c0NIuVxE2^)^U!OK| zQ|gEfM5T<_sEypz9Tm}#pA;wR+%fAH{Z@J5*i~Z4LK{_-oKey>qm-?e$bci7yJvWI z4E1-fCB0W-chS$Am#^FU`Olj>Wt4OrU70j`YX@A@d-cpM%hy*eTetO()#ay+UIhY> z-tLGEMHO&_U17z}_8Apzv$oMKf!)WH7j4~5gLm-Yq0_ThQ}f!$jlz85=&FS5o$=Xq z@!31)f9E;-mzeLDvxb^a9=W*)Z{;qmsC8y-kIUKZaP1xT0y{CXe*Xb#zHiRDl#v^? zVXL~0+9J%yW$kF`s_#8*`>wrU>_4k_e7&ran(v*no-l^y3x)aE?47Z>yM9_*cO36Z z>s7Grt7X;9yvx7&*$cN4{n2B`20sf|I(p1g_wQY)m*@INi;oN{=aUn1aKN-OdIkcC zg|C-wrRGoLe5UgFqEFsS#dITEyV2V^jIR2I^K(Y_-@^RbEnD~OttV>1f66;$mciou z%t~BfS^mW@#RT73yX#CeKXAgT)RCK0hOH(_8@{&t$j!P13?<1K#oF+7DZ|zfl{#|M zz=`XYtlB>CzLhEW{zXSlG*sR1T}6}z$}^~PPR?In{~6ZEdGP0=8?Ly>MDiFsHu5+A zw4S|t_UqlR&)I;Or7ZIQ2XD$!mno9e`Yl=N(b6P!xnZn3BWGkDn7H^0MQS%rlDgb< zgLHSAin+GSz?&|=n7nhz@4EZQ?~AfrLz#cFWNLZKD_^8VCXpY9y7iNs68fG({(F!7 zEmukL6C+6vIwWZr!4u7-xFPSm?6d&*o|uUsZ}L<6ll*1Ml5{n(b2HI*Bi~esy2syx z$=~@zGl!KZk`%?hNRmYwL8Q1V33RzaH%{mt6uLP=_X5*JNsGz)fz2Yiv50+4{(lK|-w54rLbqDzwlQ6lWa%VH`%u@F=p3Ek>)D;S9|MK%CZQW9 zbZ()W)``pVn9zMmbkBDJmw)cWL$snB|GHV|Qj@tZKbgB1Neb%Y-9dMs#=pL;@lY;F zlccxPK(|)tp6bQzK5!bhG4o8puFx$yi<@hAHkHpJJx6pi$zP20aDPdf(jRnH7f_u= za$L&oo-TC1pCL(?T?)D?fxUMz*SQ8t(!B#AhlT1W5@-JZq24$7lnqoj5dIM2r>(yzChq9#c!zbR9x%TdyV2f0+0k8m4h zPYaiyk)(5<0do($$Si$zP@B*5{~L-s#icj}ik0GCoC1a74#lCk6D*|^cXueo+T!lk zB0)lMhoGSpPp|+XUp~M2{qfw*JvVcEdpCP~w>$gV&V0o4rQTbqoO(x$cAIY1`3xLq891hgyz1<9QJ~WUEY#wu|Mip6Kq`VBB^g zFWh?l)3rh0@mlSa08Rct&z=D* zvM%h_!fLh%m3eRDouiJ+-l$WV(r)FybyQuDD32nq{icoe{erKj*BdR`ap|fjFiy~) zZb0XK%XBZFA0o;la=LZ(kH6;4`D*9ARhrM&Q|;1%ZsQj0uO7|QS@@Q{(~|!>H^#0k zW=*eT+QNTU!E7ravz#u|a?`}nQGbf4Q`1uOSANoY$*=oLs=V*Rldskw6UUl)rz(~J zulsNT!>RD8pqxK!Q>2JY6w0PJAYph(qjZgR@¥nsJ-8AB{(P7NQnZJ9GL2q^71~ zMYepVd^4lVcat3KZ=;0MLucwU*1H6ELsO>O!9CG3pods(NGz+9MMhy=<)ObDO))yq8=jV}JE z986q%BdtgE7ZpCfma)n3z+#R55%nd4jb24@qrZ+q8&Z}Qj;2~Y{_KABCLPS)M#m@?k}?+IlAM9b)~uNAO4M`kqw^qmXe1)O&;4en=#ga@M}4Xa_lmu zH`{mop;xU6dzcZ*8bz-^vh-)4S^)np-2Hq&VS%Fm@#Or!oKGZ{20RbGYFTX5#5 zE-2Eh%2Hbq9_!`=a!~FQCYKbLzHK`Ii zInRn#wC^M7q)lV?198UIEOmzRu!%|uKO>LRlL0xzmgAKd`BAau;Fb6KB`G)M`AI7@ zQT>%}%c;w%q!6Z{+hGAEIXh-gO_C`WFR?0BsM{VXMGsNfV|lBkhm)Ohyc2j{!Cygz zc_@J5c+aKIgKQ;D^E))ooc^x2NBo5^OY4QX#tGf5>Ob~cRpA3X;jr?n*mdsIzFBJJ zCVzDyHd6fZ5`zekxl}p9J~E93SUsR4?;?%wqWLp6&y=m`<%zO6?$_G6ax;6r#YrXa zE&4>BFzTNUGXe4WCX(eqC4+?h6%0yqH6O<6%dM;Y>JAJ&0($e169OcF0ek+ z{mn}|YvrS9oX6t6K0(%<$z>Vo_)>UCA(dge$SF!%xI)PJh&@{Q`H*{X66lUWiQ|y` zOOM88fj=mSV(*k-8_qtfoPoLBG@ZIyF{++~>6k1mtc#TwB`|8^o9a`AY`64TcC$Oj>vzF zz)%>ti87iR!E|9@V|apuXz~BBY{s(iEiV?&14f}|r66_ueDEn;L?J!BT$oLwx;+9XUz`jlzsd`XR%tdteX3HJ5xk(S1XRa z%2vIkH%Tm>Z-x}c%ZkReV&~M0%@#FV2^N)qPvZO}Nn5~N;aK2J9r^XO7F^DOm2(u8 z$DjU!+?P^~pn_JJQEDhco#w^!sxQ_kEIkg+A7pie_&!ub59H-Z1T`dfc)5o)+Uy_+ zxGOcAc||i>9wgOgPT-K*52^XWrC7(XM2@*qfC*m)w-i6r)7A+ z$X=wKGq3Xd#Jibwhq23VInpoZD4Z*Ch4oe7Lm5_%_Hzhl$5byhvEIK9s-nHgj;gA@ z;RbUBw6mcRChwV9sv-YUQ*>cVv~1*i6n;(-Q%U>%0IIu9tC$*va#AIM9NYH{LKY}|pDg0Zq5QVeJfdg|PU-h* z(>I~f>gjWSL}^_9An%r|9udq*E3U6Q#2OQE0Q}7gd(0^%Tv+bxw(9RmMpx*xxDi6bcGaxcc zB&v(1WtzpPB)UBMMSHsRpS~E|3T7wBPrfU(#OvVs9J?d83iBLmN}09bzf`W7NnFg% zc@Y{g-y$nwdLQZ!;&rZ6XEDy-R1wDY1Km51EPi2+)MBHcNJEw~ zt^HUxa`iSBT(%JGH;Ye8ew)om=cLE?xg6jA`&hC%FhWa|lf|d{tz+&gdpcKYUZr-d z3{R?QC8hEv6^L<;GnS7WBwSfdX3CY?S$V|&p@7*|y<7z1C!8PW>m@8GTwd_jN@yb* zWQqw`5Wz}w#ezq>WMT(R`FIsWMI1`=?xXU=-><~VR4G}+hH|I2YuS+_l~}BEnN-TP zSQ4~+$s{>a1>gIUyHHJ})oTf|rSqi@R~nN^>aaj_H9L_L-~<1)>O_u zLdN7hSp^k~QJz6E2dCdBl{C*xycOH1p3rdK;+&JFKLl-c)Q*f;80G@e50yh>_^~ov zlP&3MtniB06oP@u_C>EVSh&n1{yZa!%Y42^DMCR50du@5Z+|NVLd7nZ^OHmDxJ>(K z!Rw3=lt!AM3WqhzPdHWVbW5Tk#S4=+rk}i8-_c9z{ zfc2G4hoyPXLb;M)PXSPOn7*7_k7a2^7F*mi={cs0v<8QUe?f~^FZqjdgmu>4sKgZn|hK8fu0X>ip zu+rKBy4f`ueZUybHvLL=%#p&rr7{x@i2XBJ;3kEDe1xOAyFe&V4@u_EPtjJaC#NF3 zPh`plb^uw~97*nLws5xYwiWC5sS10abbPHRvwwNf>nc69&7~p4cJO+S1W`3^#PAx( zu5|iRotVuI3!c|R=q}6c7FKzzwr3b^PrgUCYBrf_fjAf!QZ_myTOk37*&O)}yTxR> zxa+{3L-;5%@uXiv6Ih`?ta%y(w$2r!*FCLjTH2JBJ?+)YFEeII!HE=(;SQiOOr)hG zjb*rHM~`AB0XTFp^W53Rk>c$&G~uPCVEI@e3DWwpZT0$9mHD@0RZ!GvPFT-N!*#%! zJ{%e-^0aWwI3u9qkkKG{!JROhVHRU!b${?X+Oo%F5S<~TOX*`A$ahV0R@E}07vBC! zV%Es=Y+suzx@LJWP2e9+2xHt}%nA?Ngtj(!U->YHTumh0vOA4iz)jo-73p~H#LEbiw zzdl{~94NG6vza@1z-$(_9UR+M3DTloi6dhFDRYcXrj5=o#$Hl@C_XVLM-%S7YvpH? zyq|B6Q7I)@%ul_*(LrAOj{*PGdJ@xhyFs@CVJmR z21n;e%U3(G!mApts)Lhr^5ho~J-ODuu2Y2Gr4?}=VvKPleLNFAwp^oIWXvrG`j?)$ z?Dc-`;RS_=P9g$0Tfaj*6ZYNUb(tQ;0XD`1p2Y!@A=VR{?F~16p$y=9uCu_Ed%Nq$ zbYycUZx(MULx%W3NW@aNL*Tn#FKx6r&x$JLX35}k9zN=H8`~j;eg!z&zUsUB94<-6 zsj%{CD09<|27FWfoc>|sT`*TxpS%us=lj{4z22De-`2}#S;xI}(6I8k*@1q!+5bWd zIA{PRKXc1*m+!d&(D$28*WaK&*Ne(aWq-(@GF{#elmCufI$$H#hL~ed$6m*leKlFmxRa71wbE zZx$^}=k7#Nguv#4Mn_JRT(r{0}vZQg_xpM}UhZprkA1dLBjEt+F` zHvx%`u)JT+_jgMqPo$8gd_nUIEbnO4U_WJRdwX-v{McT$KFyP35NT*H!E&qcZB2Xx%(>q8b7ytJv>Q?(B;!=lo`(F z^hQ->4xwCB-W65>72K%*TUxFd3W&2QC5yosYH*IVV}(UZJhRn}O<*zN=bV}rsu36> zCR=;Ej@`&Sq~vu>k9|Qj-%h(jx^?>|@qNn{$q~+E!E@FcTt?6493mSA?#=WW@ki;8 zNNFS6rZmD`IiD#-+LUx1eHlSJq6ssj9<)ot-zHmGA|oo>FP4SwUvr7-cf%bUH1^Ls zW-)f!&+l@5Y~}x4p$H$SZqr`;>5I4}7`Ntym{>}5S^fOHe;nTsz9mBj-1cG)D`rKyackmGbM|V;eJdwRMY`|e#|M>6 zO|3e`3wNu;B0{@kH6h&*S|f_=?*D|oy|OdhDh>!Xbn_%0653)X<5KG3u)b+!|A+pa zk-J_+KcY*?H9`BQQt5$Uy!Kc0m3vIk^TKZGL|2yNNK?75fbDG>>=Y)2-P3_NLX4(w?{TNTk z8vbAX8C!|#*OQ*F9ZXitGqi2bhS=YG$$E$n?k85>1~bKra$kSGeS>w=4|R=h=pPaHP(cqnOGCrv?{%lW>PGf0;eb zl3Eo_ieqSp!v(%CLsYukJ${`yCiaCt%vhYsyRzOH7KUM6NDlduS^x17H{S|C(|l*P zcM`-wMUB+LULQg5XJxV1W$1++jJEDZM#NFke!gXhf zQ?`t@%SN#)O+yVRGQzhq_>BhCkyl4w?n^+pDnkupmP3#Fg;^)B7DqoWv3R7sUjFNm zX!%8=o`H$0J%9p2;4SU%QMgEQjJq-1^Im;w&hnC-wG;CxId#aGNg?D}CcH8&VT*ynfV zW^%Uwjlk(_SMMsbbQszzpLtmXzqKfCm0)=09kSSRA(HDvHu5~Oq2vUlA7#@?MQMjK z7p|>a(=U-sgoSX!xzDl!5;wl=7$zIRaYTSqB4)i%YTiP_#FRIBGCaFzi~5$w_!FKH zPFwDg9ZDyX;Rh!r@8WQ214i70W+(`#`;cM_dd-;g?~hPGv;@v-ktE~Mn)1cbw#nJk zg+IPi^<#~4BN)#@+k%;&nt6yJuD;5BRG0ngU&!yi9=Z#)ZwZnW>XaR3qQuo>R1nIuwO2|^P_-?5UoTj7 zi$5&LU0fcNwc{EeVfPyL%_QAcDZYp&xm+SyQ1fgVGp?E5u z#mePOTk&{y?x}Abi90xS3C(3>!YYGEeO2gnj}$eeS$uRhTqwEmi!NPzj^_h|QlFoJ ztqYnPgyEUZzvYzX~L(ykl3sC#J2EEjtX8J$Gdro7kYJk@lBWl)!H$HU!DL^E^TQy_pYllolz4`olhb7w@D~77F8q+sPjXou3o?j_ye2UMGL+aHDT)j@;RH z2`V}t^Xt%w^ck(3>nTpY>WR+%Pbd^ez&dlsC-zzM(Tyqo^rM>a>-cak`xJ+mLH(xt z#j_c$5t7fs;NJo9AGE$n(C>JI&O%7*a(oAn2wA?s3^qCRXVgcr;AcaI4eQ%0J94}y z!IeZ4B5KDuUQiL-QE4=z)Tv&L9B#>|$d?X=@%ESwQd`ehHCB?yTjC+YGdm>L*>3ph z)bRaQkMG5mDw+I*OM{&6g;c;l3z_=8;?d=#LRNTRh4vz?kt5S)m0?lLTJMxh4VO1l zUEmEMsN@apj`auVEg%TpNxRek0dj^o59jh>6#%C0WJT>flGm-#9F9hWB@Foz)Oh-e z)Szv>`|19~^N$?R^s-n*EvdbIAlxyCC*-Lsz2zAeW;+q2~?*#`B*muHVUNk)=$WB7H8w1AvN;0Q|SM2@zm(8ZC;el#H0+bm9wW(jJgI_wGUR zN@ZVJM%?hYto?k{Km|*k+%`~K^2+>Hledy z&c6z>TI<>jloi;yx(e!9Rl0dGEcUUc{|S4-(Q^Rhk3AIa-RBL&W1`B*eTZkfH&I3f zf0XH&k{_Yf5=yki8a}49MF4Yo|j;k&YY2 zcbAb`sOY^r+5u&begf}5h)MD8vqI69q{!UTmi*cBrHjmC@Rn(EAM(Lw6^QY1V5y5R zA>DZyTg!dD!F`9lB+1|nEa@a~Uki?1+q$Y3+vz~7*Q4KEV5qd=mo#HNU81BsC?NQ@ z%j)rj?c2UFf-G_ocfqGaJ{de7mA7l!$2Yt_*Os&sr{C|z;>RfGuKTH4*5%^+^@>kM zOoGJwiaQvV?2bLW*YRy8SV#6mmodiCZ4CAGLkN&8N@;mi?3jVKt)ZGZE{fcI2zY8@^sQ`CMpbNTL|g2kiV zI65@-^jZH`#CtjD#b;pD!P(`Jw1kK1{^$V}n_#hiti%OxXbI01FG|Muj@P?TTdPm; zqAszoM*>2UFpRQRZbXybTPLfTk{m)-h9!V`q}K;Zv`5UpFLM3ymYgi3_aTu9`#M^E z$`?|@(v-~lq3m{wO=z2S4@r_;)CbAf{@=k>iY){~PpLBOO0kK=Fl?7F`@Btpz82Fk z4jz@aoa9_|J&N!LqVN_=3h}2L{wOXxQ4Rw%m4)h6C=qvyuS4tF@K&J#1~QO%8`9+X z1Kd6nwChNl5^yo>L|X9iS@=zB5EJeV*XR&HHrh}s`rt-&bm)R7+Fv3X!ZXU`#Mkj{ zP*M9MGAO>5=cQ62-(Lpf-SQvI?FF&6_m5?XI;#M!9yA@{l^IuKZ_80a%kIc+#^w4y zj%3n4=uSvK%xSzTYa*B+ryzjf$l99#x+LSJ5eCFOMQCpWTvlE9&@(RHMMO)@Rabyl z*GJpfO0!U?`UB2H%2$c{Z)bqVZO`+d4@h&1x{G!bPwV(#`LL_A=!XOB?cjtRx_BCg zOa4HLP%Laq@9DS$twAT$3e|^(lc7POnpr z(9oj<2nAojsif+4LXd||V**4d7zE6)mdhEHrGCJia0+MLRBJGqqREBaVudu!)6oifqs@B^OB?*YuZ4`*n*d%C55EXgy?L_;fEX|S~| z@>;M_UiR=xw`H9Jt{7jUC-d-pO;YLUcElivMqdfb=k?z~+s%h~-TJ3_YwG8Dj{~WK zdwGUW4Z{BeJRgptl&|bKqq^Ru9rmRZ)So0kT)YM!WiTc9%kd^BH1zE(8}Fg5AP<$S z6Ercm7?Vd`doZ#BY?B%q<;MQ7XSxFYv`3={|53}LKZhe3R>N8DgnHYDE8ogHD%CK2 zYygmjpm1)u;@1@VjTIOPt=1XpaGw#G_T@)iEmSN|ziA1c8;?VzE;G+1TT=}?;SIdo zkpy8!FynI2x}*-6iS?u+r;WkN8paU+E%eqTHB++A?{eOahBZ~MRavkp{ux=w=2 zLB>tpj|uS!PPq^6ek++}fC=stD*nM&6jJrVfnMVbgxh3?MJY8+qV* zg=}0fuufY4E(dH&`{$ZxzK7cP#JbBS{diAR72BIME||VA+5L8Z2?Q^+EPD_;SA;e6 z^8m353Bt>-Ab+fQwXs8N8=f3#x^k&eBOj4(8rhgZ-)-mN3VcQvYFp0@`iyHjbcr0P zemtC;q>(y`w!-sF?1n=IYpIy+1&)5*awD2%4A4?P&KRi2U+SVlY*mmS#1i16gU~-K zL2~=RWU8yEF(~C_EA!N%%SlYLyV-r-%7NLv>9T1pO8vTdF`VPx(p8?fyP~xuYh!5@ zGE&T|jcMN5_|PcP7*=Ldxo+}kQ3z6Nj9vePJm!;%L^ycOtbanSm{R>h*Vf46Rx4eF zz+*#677chyGFlg(Qeu?MQttEak?)tSu)Kn5Wv4inwZc1>Ich@%#Ef~F|LC>Ch1^<= z~un%Q!VF9#Q}*K=Y=B*`E(O=Yp!d*ZjynKi6y3J1mNl$L>!p4l9J; zQBSIh{=~%P5IgP9K;=rZ=&RUW$?U>JSjLcNRfJQz{(!<3V6S59b+fD{rzeKmXX7+d zP$+I#p{;KwykJ0cFs^A~iT${gt%L7M)@rW+@?IT$qnO;6aTxe9cYPj@}| zUrpl@HdKY7nQOWHemHCL^f+S2%u$Eh0(5}YEYAC*BVi>a%SdK`ap)J-Z=~ouSWMI2 z@4tszx-fOIk_T3aF~;FK>Jhl~fIfJJuMh9~#&rcPRPzQ&<3j<5?oI72?Xm7{Vg4Q4 zv)GGLaYkc8aOw>UCm2TqxUD`WJ3(JrdAw|#h+itm$Zh`tF$a&;r0w*=M8tG1bbYDK zD{fmP3&IpUxb8E4Yx7JwOgZ$wvidk>mqIBhejtptm8%!0Y4nM2&(~bW8x8@Jt{lXt zyt*@o30)X zKyJBDryp-9OT+?&s<67Mjv-9cKP7THbN2On1|A9*KJ=`wkD9%*@?`qhOzA1wZ$C4nCuth0bMlUR%HeTJmDlRy;~@3ZqF6Z`QPqp1?P;FK zc{ZKT%AJX#ZJ$m9(X%G2c%6cqWqTKy;(ih4h9c+i-ft3pa*nt&$H@{?x3Z2j_(oM){@hc>Cc=Wb4(|sVrs_TIhy~2JY zFohtl$HiWt{u%-SSz4Wxl;~LpP|`(@i;WnXqAXFqH=2TM)~HGI_j zc30+#rv3&qiB|*3L2ds~v3Nk^R&F!|7v34JXADjFU0M?AryY#y?7lRe3YKCq98Pq@)%9TFkU+L%<*ZUvjSA?8?(-@>4vrZcA`b0X%J2VNTBu5-vBVqX7{*gv3Q# zV+Ol>3l+yj=k!DsvMX#b#i>SML9ZnaN}Mx|WujY!emQxC4QFAl(iYA1SiQTDsVSOa zSlg}Dh(EA7No37DGt#^K-YXOh|DzFqGPjvqGjA;XEmEi?8%+Wy#*}&jAcf~>#D}UW zfdb{%;u3F~Po8y^o3BFxi2vq$c+0QJe~W3fTFeQwWY}4(BD4jiFrrQIaWVVxv=y@nI!t?)#yK`c{V3(Ck*lQ z;&J$AyFq>)YZ8n9)+5&OEO6E%*Q4RjK#>EYgY2Lksd~8}9DqbjXXzu zBKCs8F=%ZkbW%^1Pk!=;+7*BQph?=~pG4c1(8z+s1!6`I11?A!lZ^;hNg9)jn_Jb? zf$qq4z`xKJobB?Aq|d@5ubE8bpxE;5Bjw%Xw?(1?8=iw0*SCJVckk8P372XI+aMi% z8Ho^wdwqv{z{%JM_MthBfc)@}MW&<)9pQkM(Ti6^$lupQyHfj&y{0%vpQ%xTE|51G zX)0*m<>n;HLkgU0@nH$2k*mA{8(?15iD1DpraSPbjo|ck4$d`OnVT9k2-Zr&urOWY zZ93D>sT$_P<%Js(C#3kK-cg4(z*IRoC06-qtNhc(*@;`>Cs`xJO+kIlL=S?}Y%|*LtxUZ67(f+7|!E zb_y7AM;+9zUWg6kAvyC%&rV||$Gq%WFB+e|_O4#|S8BJq=WF^5-%N^4XFryk3?x_; zt=%Du$fP*Bj}uCOM@_^XxR%h8HUQyBF!?=&Qt0@UI8GIXp(}aLp&7F!6dz!&q;##kQqo`MRIU zBI4|IQ!44_>ImO7VCL1Ch*aqcg_p2b`p#l#j(73{bB8e0PUgdU0?_d`P({t)GxE<3 zy&+}F{(X|zp7XiZW0sKhMQHfYvYLRd!m;OQB5r&Rf#1j^U{UBs)cy|8PyQ- zU#4z+A_Cb$4tmEQPcU71R zfjfZeQAsDPYn6n9+U=Dz@hE^L)P%) zWz|e9qlu|o6oaa!kCuawwFm9~UD?DJCn@oyLuaG1CJCzzk;RO)&ool)i6x*&heyHP zIKS1a2k6K?Ms5iPl4=S%!T|p_z7u@KZ1?xATRrExxMkoe?Yk$x#SZcy**h}vpaht- z9XTD;*XhZTF^q)O`9gEms7Dc_Q%ZKkriIp4(kV%2V}TBjaToV2{vmS0OpfOhMAyv6 zzRx>~ciuvL%UUn(%^stKULZnssf3sW6K{kdOGf1T*0et}p(G?%Jt9WBkFH(;|I^C^ zQwIQtC%sJUg?}zLE}wbTFGiyO*jj^b^~OPHtp_e%^a#ZhD;)gC6|_k|2jU!vD@G^2 zh?fq^MSfk!k{Phe-&UI082lsi=$JzOSHW=jLVTc54D;sfo#Aj0R_=~@T;E0WWZdje zzF+yvCH%rF-ekA5okT%Nqhb)=&A;1~q68Z?`9VyFLVu{vF0t~dRDYge7l^8E2OY;e z(CIXoT90ul^tJ9V%jQjb#OvoSF_zwb=bD#c@BNG-xI!I{xozsf(LqhQI#lv-<@^!n z5@_)ENwQ(1kJ`=YB38gC9GKV=?-Vty6He0L$vy3A0`a6%bjsirehtaZpDl~blv;u7 zn+Hc>pSXXv2Jix>avd)jdFt18qdSjr2ML&tjg1oF3pU6%5!jO&d&yg`w(j;C7xoe4 z%?l$n7I>^QPY=SCf3}B-P%Z*;eoi;hBR${bxtHflwtVP8H6g z_^$pmdhD7ZKkckc$@MoX^dp6El*NzAAA*BDD7j>vihSFi`~p&LC~XgGL)40$Ko@S1 z`A1#^rX>D@=|@*#08?<@WVMs||Xt^v6A7;$1)SJjyk%DmnaDu}@AJbpn7f%k$fcV~cKk_f^kQG4it8LGSd z&A7iFf!mKQit@tFrCzIu>qp0V#X?B$H&k~73Ty)ZaL(@4b7_!`6;3BHU=N2jex^K( zaC9*XcjCVY{gi5&7y2VRNKO<~!xfge4UYu75Qg1ztuyDBRm|1NN9Xcr$l=2^TOLV7 zjrCBsGGRYDBN8EVG5ICw&GXdvN3VSaC3V~zbBKjW(=->T%jDK&-qq=vw}`LHR9yvr zrRz~YIa3!#u(dv>IVP)oLa~E;_Nba3bsfp!)TU_e=JltZ85myeqmbh)TPx6R(j{U3 zF-Zuzw94!%F!NN@&HQ6_dMsU#-|TsMez!g*iQC$39xnXszI* znE7$FyomGn6&3HrZ|`7quYmn+9VK~g#cC7%5)2F?D-RibkKB5t-*_rpvD_mxvEPdd zXAIYKW)b8&j_}mcifp)*bvRCI`S$IoDl~(I<0&Fx`4Kdq*>6>v)*R4HB??75F+cT`3>R1BPtUOQIZ!$MO7IWQXJT8a6Wn$}{xeSdx zB{?}GT(yr*3t1u`9p!h-+^PQ}C$tMf4RU>H%e%0@2v^$}&;jf1rTGtC{RwD(Zfc>E z4GLgRS* zrd9qPEH>*hT7vQml_r;A$nIy_Lzo>tI~=*GBB{LpZx2nZ5jZd=wG+JV)F`XNVErka z@iGf0t`H+?KBy)dgUzgSL;3-jyp>@lXMHZ7uZaV!>Qp_~$uGb`|3b#13Sf+bIil?( zk4nCfEqPH={JsiF$=hVuP2`!Y)r$uMMAcxu$Qf~X*^S_B5zI3Z^4*r`nw5+vL%u zr;$P|eDQC}pGFeTKk9#gQ1c2ftFxUuS*7{BPK-zV%O70vN_n!{hYIg6#R3dy+Mg&ydmjxVu1tX^tR zR5Z}*naGWo`_r7>f_FEx@}0VE4o|s8*%f`o#Pxg&3-~u$_k)yOkcu88V9s@CFxAHT z)06UuLpq8?N&UNB zna-|fW!6qgJiJ3s&csc8e@QDNUOnv;@u@m^ZM`vH-y|K@d#VhMSs%+!>DCto9!yP# zZWdK^Hpr?WsBXf*?d!<=vo1nWdH)>e@RRUwE6{GO=Fx6N-`v1fSj}c@{%+5a=xB)i zqQz>rsjtczSH3Gieqnu}TgjL3%meJ+TjFvG+sHW$@VP%-D*VSZ{RBj#hrqdMfVrOv zfq9P0pUAsBkr#d<4|RE*LMb2sH(cPT6KfG`Z$an2eXH5frQYwzpCN__*PAX!;MsdH z)0sQiW)mplbhWv_c+gufxq1J=*X4`?Ow|h!S%UY?uMgatJ&_0IuLYZa{^w!U?-!W1 zCjQpGD=D_Apk5k|}WKV&-Go->uf0ITX#o^-iIW(TnA}7lOVDe3m43dd<)yZz=AwE!4Bx26s&3c5*+;i)UTN$SlbI= zyB?%qXlJizN#Ok_0XNd=(BT*5$ZTl?gk@j{tm;Xu>NkY)QN6pOAw3i#F@OwFrz`Cz zIV`G^+?3XT;@$0ucb=!EKXCEbvi#N=71#)C+cW@g^k~j)=y*W)^Yu5V@{K#IMLfNh zK5fE0rVD?IxojSJ%!GnADv=%CmWaSp0r0_wY(C*yiEH0ZcquYFm%4-vZ)y+?s(kUT$bi+8m-xvBx?yPUlVp)uT z!Po)_ZnrQ;ST4;x%oEQ(tb)r|pbXzvc8TX0Vc_qQ)&G+$aSh)d@fg_brbRw)u&-;~ zKDewiLc9bV3*$^%PejLBAwaxtNyZ8a9!`>m8VN}_a%Q7 zUM6&h-!6$Gr=Ckr$9yDTvCdRS#`BfkdoHd;3TQvKU9ZlmHWInFy_dDeWAJ1OU_1{v zSApA}GkKaG39Xv&SZ)%SMU7njbavoOIM_B$iZ_x0@bmRU&BuNzQbR`X?+u&sGvp&5 zSUnx8YcEB2S#HbQe=YcDdCGWvj@g21Z`>uyUKllBr&9b&xTM%fi`LH9rePP4in6@n#M%8Mr_c4EztqBwtwYg`5uyorkn$M{pS3D z0vmiARpk^la;{-(p3dsN)thQQVL@}z)96%cqlpx+`;S0#lNaS&h&tk7ls{oL*M1|K zzcwP1SpdObtD8A`<>K(Z{2?T@gm!j3{~f@hU)hyu-xvgsdqP?sy>fT2Eq!Q<-a(*i zYr#)#Pdk+A$d#uncI}`26md!qrv*0aOb^c_%b1DXTfYXe4DV1Wvm6%yTJ?8P&H2?| zx7ngvRcE8;GVK@b#|FN5Gw?|h$@iXCn)oytfP92?rbZl&`fgh* z;#71yQy?G1x-Jl@ayiitXRLDK<6BHy{ezJXAub1zrHjgkcC$aXZpy0~ZJK&*7GDjQ z#1J)$J(=v}3FthE?r7VgZw|?g8k7F&I3UxE91pQ;HlCUE=d;(Y@1@O_)ig6KoXD4bl$+zhJ)jGo17k`VS-^$4xJB-Ko{RMo^Mzx1n>7_k$= z_d@Z&^gvD};o^*}Yv5ng3;vOQ&%bO(7@gg2o^hgqxQpThGHfCXtL;ifC7S#Yu|h#{ zn?AnU)_DR>Tp3C$N0khQcY^Kkw5JBbHOer)kga#Nt6OPfvwAk=teave=aZU4UdM#aEih_IwA z-~aau8SuY`;m4}3$D^8A=>=r()UPJ}A}B+Rl=Q-*dqcj+Wlp;htd zjQXf&5z22gEzsI;UPIqK|LESBf2?=kKKztL?gVO7Jt5EvG_Q4k>InN(1g*ICth)M` zv)W&@n7Z)^9biTgP>ou1sW>*eZ=aKDFh7B6AMJUx0;OwxyB8i$+61_Z>ATi~<0}y} zR!6m$_EO9ztu?Z_qlmEsqssqZW9_F5gyu7JLEi?c9+ zlwHtQsz}&YZ7FW8;jBvuskB>|7T}_{YOOS;R%fiaJf(c8o$-O?@<*#@iYF>)dC3R@ zDbKqt)|c+5SR^|ftD%wLJN~-hCKzm?c>(CvUvzvj04@fuuCmK!fzu{{cEe!;J+ZY| z2YAwU3+YxYMdHUb{#iX`6&*~dDf&j84LPW}^tBCIN3qX&`DSq=%mnK1)!D#2cQYze zOIuAHAh*Fkm_&JlBW^5Hmt~SrGAG-bB~gqloYgo+_m_vf2qdIDR*o@WZvoy&>q%Elzot3H|*(a9?=_>W3Q(Y5zZxo;(oB z?(4S{m8}TLmXK^sC`*_rLZx`6$T|rj`@RiRge+OICCgL_Wy`+LB-_{qA!~*)jD5@u zGiLwh{eA!3bLKwxKKDH5o;mlPyPUHYaK*g^-trF4xb!5(dqzZsE~Zn=(>2khhb;Ta z`>Wcvkz4{jR>Rls8I3?|gPIbVK7VgdP&{{^uNQn`~2{mo6M>$X0%-^M#{G~nszde%?ElF?l9D&D?Xa4G!K00$Ag463MF zXLD^GU(IV0VM3pZ^8`S8$uiy2b^@(M4B&{7N_NNBsy#WCWYx9l%pd*Mx*H9ogP@A) zef5?4rga*&q>d3(p-Yw65W9v*JIHrT?-F0?uN8>AFe`kq1 z)xhhCW`L(?pb!N%?92M<7bCCU?Muq3Om}9M7HJ{c4Wq?=RR&XzfcaN8`l$FXQD27X z`giACz^qf#GF!Y22+$YQ=u^7aM#GBb4`#)+m>AZrCqI~gE2CkC)MjTV`i5+!;5=n+ z&G{O6)GKOW26kFcQJgOPqF=_k+4Q|5>qia9a@jf5Y~x!8B&zROx8}SQlE3TtPlExe z`4sBAUgz!Wh@<2zmra_;j}$2zI(V!&)WH#97&>+`BszI+ z$Gn^g@De@<9c@@&ukr~Ml6eL zL+s#nj*o8Sq$eR7OiLw8llb z(HA@&z#Xh|Zysm~x#qhRm7k0VFzth%sCfaRivE>igoHn6|1G}nzo)(2xTA>`Um`6Z zY};T3f97>>&9mIc^?pL*wSQN#@U} zx9QxviNW^tCBgM~zooVnUB?k0hl_T;$c#U@Ad}fzAVtZ#A^msf8EBcj%R|-AZ=Wwi zmgptny(mA>8D(*1Zo5k9+HkxC<>CtEt%}=jmM`f=%?# zvv%bOmo-`PzY1s`20WNXIug}v9aGNCdKhzi&6%vA06NKVPysCnFngOBg~Q!D-iY#f zXp5s$fHKye`8ij{Io)Q^Z&?3Vv2yfC%lJtWsgY(fGcSUVT}4c7N_f_Tqp9-#x!?dc zV9{0*Z!)Vp@c2f`fs`9gPJ3IGj2RELyym5pC*#vB+pJLbPV7$t$3bpGr=_RgEA>B% ziO*$1MMo$4XBkI*@r_GH`Tg?)$u-Z5Go0xbznc*GZgow}B2}w~9hqFWHiI4QS!wo> z&5CTdgd$==4XCke=&Yh^zNg>A1*IWX`g@G5?elqyFB8SnWiwR3=Ux)|o9)AGPgep2 zbR3eCI*PN}mT)ELFTRFsnRyWOWA5fscBJz>qT+0x=ey(KujlDu>+I)y&Kf`qm^-YS zXu`bW-w_X499qw*gHuDD>%xIh`60vhv#lbkP>rFBQF(Qc9aXb!0P>IlngZSz9c7QY z-EG`*yp@8Z=hZ`=0$MQ@Y=_*hRdey9y@>r^|hI1FF&BQJwMWu1!3+rOyQdftWbFZu}adU=gQk1~B7zsahd1CsPm z0757J#hHqoSm?*@pKs-Wb!M4zT~%^_<|mLC%21oJcLODZbSvggk0P1B*X3fU&L*~6 z@OK9muO3^?fhD|`{DzCnfL>*{I0 zI7YQPQ?}#3F~IP#AuwqZp#p;>UkrT&Jri+RX7&LDL6vAfu}X?Vq#XXaVswQEC|I5F z{Gcs~{!Np7V&hw-LF+WvHu|rPzromHYBc^xHTpUdl&a%}xBxl|IxZHmzQrzhgWs0+ zxB)M$rx-lKO$d^eHU?C!!h*4K!LDHh2$4sRb>Lr-3Tx%i5Yx;*WdBq55cEz-h4l4^)+wj~zj}ATfv8iAl+<*%3>wF@`s;I8h-WV$t85H+HBQT?Gi@i1xCqhf{6dIZ#}>>@;2h zk2rJ<^vc(!Mqzz5{D>~U`_EM)WGrIdk^(*+N+nhvf&B3TN8KI9@H$oO%tLZ83AR3P zeB+!nE)iU@6A-i3I9J@=>E{96Qdsl4;J446*N;~`PRMm-Fgq?RuD-Pcz6WzuY5yvF zj2Iu8veGytlc};VTCz!;o+CP;IM*mC#BD!MMq~=vC|t5N!f!n01mM0efb^;3T5J1o zBJqXa6f2&PzW9B|Z4Kv16|RHkQ{9LWvxs5FC2HHS`!f3-YzQLCN|l^6#mXH*vE{&v zGF?0DvEy#QckS3d4VeMC0VCR*t;9-wv51E<0i8KHVi)oc<6Ykw{G@`l^ zlstW*Chx$MkieOxFr#}2*Yx~Iup82|%iQRH=SBw{HJV^qruWKn(${9cP7IooP%Zjz z-TClEUBcx+LJaePT!MvS3R>?8R;C;Gu3%r7x}cx4@Ck;*tyK&#X-T-UT8LakFo?ih zcmg-tvXI0j$l~zVkjA5NiIBaVcl2`~(@3@|ZpNp|eX-14o#>{~?LU7WP?e z+5ghaOEa6(iD}kR_<RfaH}1#zJ*pTREnNLiarzbosXm1^6&nihU2#`3E-0 zc=addag6%SDugmZ`r{vP4oGqI`~_&pON1O$=O(s-;LrQEe``};Pdt5kisLEZk}aGY zaGzzDThld^0hPJ1=J&uUo)P%+J>q(VW8mRUOSq`ty(?P(X4mx2XGpxFxL1v|-?3Qp z`PttUt%NpO+uHk-Eu%yV34ixB&BAeaRR{L`CM&V>fO>wzr7v(JVPWf|wwX4^w^P*D z0^%iX*6))Ya#XPmQOITLhhP<83gh3l>!Yh(R3-OC={SF#J;3HSKe#+)NO^N4_W z;il8_F!lIE@nyl7oLI)E&J4k=qknwe0G9#zxdp~<%cdOD4A(*N$>n+uJdyNtLCA<>b<^luQVY--5B zpDgITYOdYmi)A_ZUg5YYW|<)VY~?N}Ivn;igbIf^{g`utvTkwvowTMTvLH4;+Ccj_ zo<{K z$^l%G$)kRQC{W)GTdYVR*+|AUmJ*c{4;2?R0BM1|=oieCOBgB<0^LoMxkA&9gJqew z!`~11nOWo@VA`_t_hVqHF(5zD!{Z+>{Lxt;hb4&? z7cjzKuY*ser~f;I7%ej{pZAis__Ru30Mh}NR;ba^;F28JXuBzf0KnfN=s%T(nN(lw zd=E~3v}LghHNnsn($21A4dQQO2&L0^)Pdg^cjf=2Q$R9%k+xH0;8Ion_XD-nqWbUs zSzkNCtPjHLvIWNn0V^^dt2TR6;{U~QmR5o_?=i7Oa=o;gC2$rZmkAy~D1fs$VAN}; z3iD}pk~Y2f&SUXKwhpvjT4(+Qz61wRRaib>1=Zp^q=qYbIgvIe7E#jhU2YaT6CyT&x5tfNNAb?Dh zMpJy(vXB(hBy{@Bu)Fa$=Ik%ZZB9BU_6W0^|q&4{D+7w4Owmypc05PU!~d2 z1Rl#x2rXN1C=F=lROq-fTE?hblhW5u+`HK1rJ8Cnc}4nz)ehQS-`+d~N=?O~zU=~F zgu}uY(NR?SDh6;-yX*#weyBQJ-#_N`WD*$TXdeS&CvK)o_CHB0XEM&{ic0dv6j}X^ z;oO32Xk!ZOee?*SOJSGCH_3X)Ama)q^IdbQ^*pFY&voy$2l~+F&5fQiQ+glbe7JAJ z4YVL>vVn|+0Eca|2r=6y(0BUiwQ>+s&XaUv^!O$OG?;$7qJN@>s$RtglP;=nhD+ky zo=p;TP!)aUD*>_7Z!P;*j`@j}{0VzEnru1EzGjhZ*^KrCg6&z?*mvw%_Hg4N=n!I( z=uTBqgXV&!iD*)o`X+>4Jl{G+B^yxItcPGLi9r?pI2r2H!X|;L50I$%!{)6Kt;l7^ zk4_WC4ih~hfq}1TWLHR;ybw)s{B+EU-at5lECD)Kv70VN1^@P6y;!HivdZhkSOC-z7jE6-||{>I8+8^xw1H3tNDQ zzWGd8s_-;!Iy_yUGwkYSu{pM?wz&foy`-t`w@1K4EI)wX=1dS~)!-WGb8LHv_7vK+ zV;!v)^Kv2de=v1{Ye9Ka3uGiM;48?=*LUk!$AcNCA{N8P(TKw;{mpRph^^DXAw_%C zq>sfO3CgTxv-fNxrVcu@;PBLaK$7-c+Y&6a2D3eZ;@->WrpPfzaoReIW3*Bv^Z3+f|oHAl@WG- zDB0kPQ01+tK|ie3G+P{6ngd03QUjuvp%#9 zuYZgzI(x?+g~uw^MGsLcUbaDJ%sXQ@X|t$H8;{oRKlAoH8)kj>VY6vQedz@h=t-D$ zc}PaR(;9&Z53%e*ow*hzu-be(qR7mSdK%{>`vEXOjHn@{7V6q^HjNfV9^x#@g+W`)IC6-jF7^HnHcL(FjFk! z8>1RJAFnn|18jllkk|p?cdH~vMKk9{R;78>uW$$qrdl|XZ|rnQYE@FH@(=89>+J*P z<*m_O#$C8F2P~*n?)vE#D#lMS)e^gt%Xe_W-^DDq(nCLdikNY=gf>hhNb1>6%IpLy zX(~xdCM~_AI^RKkvc3zS0rVKnWPO<9uy0Eaj&csVYA?Qxroei3Ml(}jTK$h zX{k^s;PEHwyZ_y?8VsQ1o^JOS3y$N1WORYb%Ka?!D0WRH=}gn;r3WG_k5RLxqIg_U z>i4B#=TSA&v%BZe*(@trD2sA5ak*aOjhvh}#D~ z#mO;-ix$uSJ2oP0WeoMw1>D2Xmg&&OqBjqL;MB^Mv)Sf)GSfl#vL80v7?f$*u{u*# zEDs9%zWPJ(H<{2^^Vz?4;+fy@+ZSBu2SssTC#h3EBX0Gvv;xoPSkHT5<&{J0v;(=b zOG$AZi{6;j3o8fDh24*eLq{9FX%?j-+~+3qD^?41zuCd_>pwVne?ThgNDPRSB|&2A z;~Y%a3iRm6lN#s+-G_FLXi*g9>(qhI2IEr|_%q3d+eRhsfO+h|ZJ>C4QYCJM&ZEO! zc$2C((F5_@X;46XxYYE_t4v}xAN6E;+ov!FdxA5q@(+~ukKgtwB49B~FP1#9gA=`n zO+gQl{ADQwADpUea}Je^x<~ZS_rrTDm-w;;P_cEJ;lcja*}W@F`b2Mda4>hCRexE1 z)*}H@MQI9WySgkU0)5Cgv^e5v2T#;&=(thbSt#FYPIf}w?{%rC1T^K@ z;H;oH5^)or!qnPL9 zTjpJ-TB7~l5SQL%LshpVwjascYp#;q%0zXy?o%PNp0}?klZ*^IMCYG-ikPbMFQgj_l=~4(94hfyIZl2b6 zhjPP=NsoU(zDkk`VO}d_`Y{JCMwCxT$C@5=+PXjJ70Ix|FH`tmQz@9S`Fl*RuBhJe zF9cexQQD)j^J~;N3YPSs%t^`{{ay{`cjIJsKaMn1D8R9r5yQ5|0!3$w(-v{lrt?}$_3I)^R$YCH&b?Jr$3s!0Yc+a;cqa;+Hbj(xJhNP6!0JcV?i zj5}`2Fc_i)RfhiBq%B1NY{8;Y?KB-}v;Uz2emDEGbTM>$u#OY4`u`EzfkaL);^umEk}Ooylo6fGG`~fp z>OPB-@*m8UiN&w!EHzxDm%Ski>PSgErRzStP3I|e$_8-7WUqYGd_!#P0{kpdLJKjj z^yi`E1DnqhB5DCewpdxEXO9qpYgvk4-%$5+>SOh7)&zBNNSRDP1}JApCeSylmoCB5 z71W~)V3_%ZA0E78o#&hj_}CRZNnIs8NNEw%!72gBJuB!cfB}%6~}T)!m5k zBb2gVyuE0#WobWCZ;MpQjK}Wm^hwgl1(3oVVPX9>RhoAdJ%8{6^&a-)-(mbs3$eiD z;0(ohRo1TIz2F}>V|P^m3-ya}dU~QXr45=8&K=rCO`I;1EzWe@JAC^el9X-XD9>7S zD0k=Pg#QzQ%4ke#)};7BRXr0Uw1T@<(huoY+HZ%8yE#OCtBxgD+`ynKXqRuKlsVW) z!V>>QFRq`kkgGe?<8~>jk2Lwz$_11x8p&D^nO4-KKCn4B%ote-B~kUULHEj{p>l&( zU<%q^M@DKVsjuS|8Z@%{?N%SUB%RRkn4xpI*}WX2eJh}NBe`m+ zqxfrbcPwwXKo)_r&Km)LOuQbO5?-z3d*0y}=@H>fdv^cEa!}e*U9n^`>A1~a_9F+4 zmgKTb%%8671_Q}a+|vi!|LV)PyuwvuuuG-I41?$xP)oe~8_ZOfk3m!C zFV;>r;|?QbB z&6+d%Gs4sJ?wZs77Gk~DdzVL@dUa#_BYiIepD9K-DFJ=%6S12sq?M1Z7IMUBfB$Nw zVi0YKwnWJ(i<1!;xl;n>c2{iPD+wggZZ#WytTZ>MISwDFw_M`AyPoix1gDDLzL zg*U&=E}Y0LzhL?1W9+f7uS?&=9=R3w^5V$Lm!Iw_?k^b$XI_-LbrGUTDI7vopIj;# zrFV`}jzecxps4(O%>z`?ymX$<>npq-$$WSh_N9++zxbKk9NW**$*&X$H^NMj{kTf+ zEzGoCx?qG++z2~jD`Zo)#T6)DZBc*J_pYQ-^Rd^0M1LEa(a$GIQ4>-}?B&hBL>-+J zGtiHH&U4$0am7IL>Phj%{utG#uX@tQWw_v3ITxKrP?06QhGnqkgG8a!?8aoq4bvTUTkP_QU) zCqpNbb>_!S%$aN*0H?V|T`z^B-Sin|(YO%EgsZSqUf|Oe+%ea1nf7^I$KTpzldVrM zt`Cu|cRAno3*{oD-6R^~ly`X7Zeb&GpnJ;mqvmZ4t>H_3W{>(cWWIcWjoqJCd(7gs z$$^AOoy-Kz6;|n6-9?^42(t=ZK{-xKoGGjs<6PBFgJOiv>pvmZMhTSK>7YM(`y-yw z?omlu0~4qtLN!g=!KHT=X3lRE$`Y~~l7f{xJ{tq&$O#oTh+F zcNYr!bn@;N-qGWHkbZ1v=%47`Zv1atQO$p?Md?h)$E1>jV`KwP?CdP0b9xQG!pP&W zk**8n^ctW4i<-#r#^{flk1(8oYp4@RurF~%wVYl{LLK9@CXaiPn7flG;-HNXSApktw^c__|d)veeX%y*Tg9b zrGJF!iE%o}aeFvB{NsTa&LpX9+zsU@G+H`TWGY{5YNHFy4L{?!(xDunY>OMt3D^C* z)PPu9#;=={T_KpX&DuW16a^R57xv5sx7UB@$=Pl%JWv3dP;?6JLK2?q&EJE(lJ*BG z68Ix$W=%1A`{hAzI9pQV)DJyJwp&PQNxbz|D2jrBD@YfVq4T;Zq|{6jh0+x>b4YOv zt~R{lzF%X8;^znrK(EjEdMThva~$mz zs$FZ=<`fC)cHIXhJ?+Ng_YAe>ao-W!HL9Uci04dQE8hnU6#5z*SfmrS_SFi@ejWFW&AFAu`N#+A|62 z9~O`k{rTSyn3(j zfx#3@Pm(ME% z+*tn|Az__%z zLV=@?f|Gf3Ti+dq)Zbk@C5{YDgxuoDP`ZjoYGVBc(8fMVWmd4o?$!h8b98ZeUsL=CJy$S*J ztfl3IpFapn&k5HGY0*?DHZ9uS5(0dlbaXCEw7M%BW|NdRad9_E2x^+rUN66RhwE=M zM=Z?Ry3q&zT57Ai$^i;dKlC1BTpB8)ia2tiO9|n~#i`v>D+Z7_;Kr^pLCS8x!17tn z;}G||l0Uz<``vYTKNXl*7O9gl6%fYJ`Ub1!SvrNrE%ox%z31C%%p73GZ7TQo{LiKY zhUK(~c&!y*<~VEnU8E2o8PykUhAG~*4Lgkbx!0M|w7biZY4zP}N$wNmT{WT65~;t~ zXhFbd$A#+(<_e?jbhD1a(4f(GhkA1po%Wcw4bApN>&rzAu=eVn*=vh`!I*pGV-&um z^l`Dj^9n#C;lHl$5&>hMc0X{Wx~7G021yj)RDa?ox6saEd`{Od+xi3CG^y90Crb6 zw2Lh$0QdJUM$Ss91t_odWe~AC=I=ZiD*a@)#&d|@rbUf@A-!HRC|nBZOCjg z$KXALciMU+JgusJISAsvs5MjzxldTzedlQWs>b^qkQQdbB89YPMx4s_wRsI8Le1^~uW5xemzozMYf&wVQ4h>C!;=YcY=7*#Mi%S{qHh%T zE7rtQMD#@Q?dNYuJ0GYUknorRe{JH(K+!O{E4j0$=!cpv~ zqUjlp3mzTTyP8XvD-3hPU>_gflKvUtPN6jZeVRUPs`z3K7mE%pEK;s^H=j%vFT@}@ zsGr5;y^`Vw!jz%=zXwa;*KlWUWi@>Ns9h}s7r$of^?dJIKaT@Q^YR0)w;liJieeIE#VAdC*Me%Y6{ot3K3#Y@U~0*)L0i6Bs>4A75Wrj# znd3{6;HjBhGh^J}d*LHq*CO*J+P}0(AmVc-w6saeb^&ksp7bBh31cv)qbqt|ZQ(#2 zs}wsvhJg$or|kaXZQdYL$!g_7Cwt5_oV{$7)=07KVE?H7+l^r+8pTahd%$=RP&@=L z%#Nx#l#A6quewNShtUg!IyQh{EaP?Elqq7w6wz&pm@q|{Zgos*%J9oYHNN^Oa2PY> z}-(H))Ab#f@N9BPKC13E@yij1Q3bQyjx2 z&>MS^-ER+h8bpxaOc-2qH?V_!Br;E98~6xR-)Or=dNTK%{v1IUhmRBVR6)d2DfXy& zUH4bT-Z;pG!yjbg^l2#J{z~;fJ0aLc&9{^+FF!f_dnLxm_@WU|%j&S89G4Ej?~e)KCvzBVl&?0a}SF{|MIRZN$B4G#g^zsx2w{T*X3NlZoU5VFUEUXsp@(l;yH#j18YbV zstG9?kCYR{b_|4AOS~=oMSZg+wiE42fDf*rzzw!Y3^V&yZqOW#gXD@1MfgxPB07qu zwZf@kPV}xJSjrr*h5?;Qi(C!6tGAkicH8N&iLq&@_?cEGlT3gbx4(5@8WCc;RnAkn zw}^YYbrw;vJEDYYG+yMRN3q%2*FyzoY5lNK1Wxu4eL zz_AM2=WfI;M|{e)Hf)ag>h~$C^LO)DiPMJthHlNi_kNpAWN75{(;()Og_MdudG;%F zqyA?L>(oc7%;lKsf9CjG8L9!$)GV@*ua4Q|=PUvB@Ki3iBJOi{#xhl1Osetdno4-g zu(6dTdf?9JgCOgljO*`6Vr~o9APSS(`lG9*jTy@kSKew}o#_BSDj8RCX1$~Xu1B7T z_@x@a*}ipcd>Rzp=P^C?5sW+-8oFwSv0u86@)}%k*lb=(UwZ3yYJB+q)9{$et5Wsc z=Za-i47;aKY2jh2hV!!cVz&;NjL_>k@r5^0#!NSCJ95w9<>yJ3)ZU$yn3iXg3Iw7? zujkRg>SgH3$XmZ_l!WgDDJ(u&Q@4vL>W_Jl-|y*|q@AmD*Q}C>lEAWL3?-ld3j6eVE^i3zQ_A)1KG_t!W&>_PID%yQ8JbhVmC+k^sw_Y{Srv}Z z&d)BB%K)6G5rg@NJ}B+MM<2f-(`Ffv9MU5!roNY;pBnSpA)ra8IB}ec3-jeybs^bnFKcCjKJD3#AGM~$G> z<`#ZO6Igad(sR#-YkFAfAhw!)oYUe_rUg#YvPsmZL4*driYu>c^jyft!)_!2eiPlhH1S-vh)EQpC|z{7~eFG?N61o52G` z*>3ue^S@`2d%((sYg`->r`}W>CQzKOe=f*ej((DPO@fmra@XSGf8{33{wvqFFUYa- zt%cA35T?Tjz{*Pv$22+wRgx3_EA!cdpQBtKTiHPshY@?MiqdPR4)z$2HP5^3U4j5> z#NQev5N1+=%~sW;Yr#LwTY&`=%iIP1qoVtc0J>;!TaV^Y)5jsc;^!Tst}(Oj>&>Up z;jp{hIQ%%`t0g94+k?hM4ErDQ;jKPIKo*?m^B^cg(ch_;s)*H1VA)2Vp-LFBRXdO0 zZwhp>Y2xRfRT#DK@jSfJ3Y`1>#xXFu;j7KqNIp^rFk1Tsv(f#=6ZGnc8; zp~0(HJkrb7gaXUGquS22s^esI@wcN0MMDGfxzaax^=ulTs!TEBX(RM2R;vEuSlGwB zuz>?~CT%BozCuo|R-#W)5_V(!O#3QfJ_$9uBaX1oF%SOhdk#v%B_9@j^Ag;Rs#W`=ey1B&AK@HOjZAkzd2 zc)tY9>16e4})_|BX=?iSy#7-2JC1z32$pREhn@aaH-DJ5u20H(R@#=`JNTziV ztyUuJKD=ghmtmsCxHdfFOta)*$vCR82Nu{0R32MBc`gN%yZQIJQ%1;=iDu;cUFhzRo82`XZZt zig|qBm8ZEzgsA+u-rzv^j7BOvLv0$Yv7-{8fy=93B@k~gZ`ex%Y9>@>iQy4Nx$}TB z3b#)K*c{J4$2}9E;&`a{E_615|TkcM}9i94_X~~IY+9PAknGI6E{`-tE z?;7=Xt02DP?gY7;aU(rwK4W~pn@MEoe~97U_yjH4cosK$`84#}$T5R63+k?XBf!hy zr>Mz6qZwfyNk%4-*eDc1cEy8Y^brlRC>({Gq$o zmCp_MFDKhBiH!RBd zEd{rxHX3v_Ds9RpnviDvbnymFVwg#!riUO_DgmVFsZUhuhUM=oXhs{ck3{pgj^Pa1 zN2K1eeo=HmUsf#HUp}!jN@cqvgG7ts`L;%EgQba9FkUwBb4rGN%oPUx&6WOrLe!^V zwM{(<+H5e0ctMWUzkiN+$B3yf95-b2;j3(7M4SKx03seC6Dq z^h}lm=fa-)ZH2tH^%!7DP^L|^Y~QGRaLES8dp?ABT>vW# zenV9IsF>;J4-~4)C^iy6Ucl<$y!xL4l}4zzjL{7|a!MDB^`@TLE_nWiMvdjZNEtbO zKssJUlbZxUYOcrqF=px|0OL$9j$Xw8KC5NgoTC{x6m|LO3b>xLppNf?enIwv5(x0S zn}=e1c;qrWmdYX+|145)`V>T8xeEP79eOrL*6FFKy#tX6Kk4{#;YH@2`^mr24#n)e zu|-8Jl@sB$C>yt;@W|lnxqe)HN)Kt@%=5QWI%mwS@%YdqF$8%qTKtMZ_NPb54qc{; z9}2kJuLsf^yKGPC!w|{OWxJ^pFKGL=PjPv#&k8VeO)i4^sI_DF=Xk}7(O}aolp*ba zkI8L^6B}z@krZu9GGQDgg;}7k8#a$6Azm^o3b*2YOWZBli+RtWfr|V$csP783L95P zRv^w!r%--R;9fOL6h07ie0i9dddTB3o$^x*ah6`dk;d1B%yOVsjW!uCVcP!XUMeOH&|*f^h<1;eeOzm7yvrr zGMy=7|3W{#`&Ux$QlObJ^;CTlGK4dQ5OKSE%3lR#*DAEF8fc0#9y(sfuLHNHE4h9= zP$#b`EtM1|@`o3S&_oz`KO1E1D+OCmY?zKaKO{ECbg_$y{Q0o*RG@RB;T1mBky0?X z6GtEoZ*9A{79b2!myXqQYrhoJjfeAjC3lP{?Yrf7D>LE`?q&tbs`AYQ;3d?dxh_)~ zW~yQ&cU{rr_rI%&9at6bn24fRqe~r*uRZ+4DAFAb1rEH+psQ*xqI>HyO;yEq?DHQt z+VVj!1)*xKoh@u%frFF^E9wYZNOrBrMeFNY$6FbvmciG_vVr_q3x4x}Yfqdz&?#@O@kw+muEXv4-i5f416MV29cMM7@yYit z|IQAt)*F?jf1j>IM%M&}*aEO-+@Rjl^WMADCO^_MmLnsN4c$!G+BmbF(M3U|BkgY7 z^aI~TehlP)0>wTn1S?HvbmI52q31k@pC9hIB|3oK&Kf*5t(6U$4G56;5AIZ-|DYB#hIwCKe6W59oj>1RU~%wbAVSWqa+h*`sY-B zrB?OPIx=!EddqxU*Yyw{qWEWi318*b!c6Y$G7U1ng3igAJeGcGG$;lE(QbNus@PD-CWVBMPQCg=49zQL z5?N=9#8-=MhbkY%&+Nr2P#N&v}&h?zdr{t!dovOH5{UoND zfHUY0u_9_-yFg1Er$}vgA0Xaz|gn*-ZM- ziO?fYzBT4%7>c|jglD)3Z-Y1ats5_YY33a5q};I<)1ChhiYBST-E$00YIBj8DC>d3 zd69SqY;B{{=Yg|hhJB#)XscM@w%s@y?aGz8GM&s~T{2TvZl3nYb$H~<9#?HFUx4-h z_}=@ni>>Z`PhFQ~zuo;Tklxt~RJ+uSwpT5A@4)t}ck9K{paoUx5mo09_#bbPn_Z4sE$dm^f@`pivGhtGaf1>E2ezkm6@Rz1RspJbF!7G zSnI5SCBu3iX0+D`(+0dHi78vJV>Aj<3x}zp@k-k+*nmQO081!>b%Ovbxz;2}EeOFx zn|N-w3lRz4%JU9}z~TpP?Hp^QVPZy>V|nac3q2~nXsTDljOD|Z6rrjwx{I?$pCaV& zS`1iM<*T2%2{D&~E`rtfHElC*wt`}QzPRU5{wvWNvvRfgxR@aQjpOB$B=BLR;fur( zw?W~jg1DNE%F7ys=_nVG;(zF6t7~y87@ZM)>Hv!F zdR`J!UYg+oi0)dG16w?E5&^%JoP1$bQ34|+fL7EUQha2%=&Yzy?46ZHt>Kqg49CvxNj!v5R2Zc|F?rylC zix8oZ;_yU=ZYsu7s@T};O(1KkrQn2Df@16+~N^djhikqgJl1=HEZj7hpqQV;fcAQ!Ip?>S@SFY6S))fKZW8}_qBeEcLheG>vg-v;Ar2|^kxa$ z=RX`+54=lkXa%#OV_8LoxI~}l3PVV;J$^dxAj%oB0|dR2bTp}k`FPulx9ZQ&0>|_& zumnPnQBPtg&dJRA@oYI+ry;U>^Kw@3&x{5K31PK1LxZccy(SU8oWWvfkhSyttD!#a zv2&EI(bN7Qv;>7zyM{dZKiGuC(5SQ@%u3C=mKb<`kRNuMvm!Qg^eIsqSLDny)AR3= zXCWm~%5`~FAELT_+WsXU+6edybyP1c1^`cwdhKWeKkPgN?w-l@`Vj#P&Yn^Oq_ayZ z^SjCdSSaV6!Kk^QbGm(P*?BmUOJ!b9k!1hOze)2qSiOCBAadI}bgmh~z1+)qrRNp@ z=wC9MoK`B8wb0rxvsK3`B(ScjyzS65o5WeDN>XprJt$?}eIvM47NmM!e3zs69>QJ|BA%9nFRmPw5EXzdE~Th; z2<xOmiJn7Vyy{+%4*S5FYEMiObTe5?U z_6*NsED`OR@*TN>b{(qtFD>{Fe-Qps2E(WUtgZW(tfPN z9>vkp=T+yrzb8K8*=?RZl#VU7{Hs~K`M6$?%l7Z|g`VD76u#Xpg`b;l1iJGDx9 zF)jQeoH+k|<{yU0}pFX?uHf*aqN^q^nz`(2o+5=s5e-#sIRj=?%-~4wRQ_Yy^G+d#S%L zCibT+;w$(zOf8@y*?7NKD6IU61Nw>mF8&oQZ7vWhI4L-l%Y@zsIQEwV9BTBd6Q?st zQ4Tc<0gC-Ak?tIUDIUv`-?gsI27VJjnc8!fQ8qO*Ykbw=fQnJ$CSL`4_%m^4kZaT9 z4p40>>pD@`zV~3Gj&=#VX>T0qc2E@Z5vpJR_=}A-=#l9zOg6HlEs$!se?8^hudOKiFmE|zm$S`3m-U|u}?+}Xj!5g_url2m<0#EoHS(r zl@Q?j6H}-W=DWz&7U`7~;@k$P3Yr8Ny2JL2K3>P<`Q%p)O>|iM5BeqTNeXJ^dVbM< zaY07r;=z8I8~glL48I%u!@BYL!Gr1Bf}WSB!B(BVM!GSY(M2|lHJW+N;mCnZC#HE) z>Mi!LYQNkhFbY)Cuk~(Tk8}R~B+8k0kh~@6|NQMLwYEwe{U>uP{jqli<;8ZsUt;FDPAivIXzx0gES!s&G7kQ=e<3Cn z__@}B6-x5}&_ikMPUM|^B~CI9Q>APrL`OyE+Azqp7yx^2D~}Hq_@1oY`P;7sO}YoN zZr0A+aS5qP@|LL(^Sd}7HfCm4INWM)dvQZ=llkf{Vg(aDA$3qETL;gQ7P!B5o@P!< zccP(a;*)+?_lph|Kh*)vEskDt=Z`KdUiymvj5dru5XKzN8v8wR`U5I!{^wGK`J2Ph z4Hp$8t(tcG=|jvH9qG_1zsL>P^xbpo|Hssqz(e&#k5`IHl4L1clBH~+>}EoeO7JLgzyJ36ym#LFob%?+ednEf z?m73~bFOnRtGJgO`6{Uzm5t^9XwS09kqI641t=05i6PH>ar zT>hdMtwfAkwE*NCyM2>$ajLkOJ#*$B?$(CDZ7BL;Ud3wB#`QXP;TdOOgH_!|0h~u+ zG~nb(o7&_&s7pBpN^imkLw1Ly6c^}g#ihmnVB?)0%A}Qg^i3`~@{ip=GF(@F+!xqH zy`aZo)5nV!m<(dpe=rLAp1e^Z!?qYiqoGX2f8-wcKQiGzf}nvML8fBkKS;>oI&0&N zIcZ!NmG=+gF+H>{BF}%&^gozISYYxkKg9IW1b?^v2l?FIlVv^&Hk~H`ufj<0b2$5q zX#XIjUtW*1pWZVa%n|>_eW|CxM`&}CFX(3?&~;!=K1v9OVExG7q>CH19JFM2B;G7AI?2~*BaGA|5ct~ z&%Fr6(CD{a;Ac&D)W{EEamz+8-VwzD9=>r~)w&1&rgKmM9m1MlkB{VAu)W)&zT%5c zCB>~~zUWbLkR332y=vv%LqBhH>f@T78PtN_`>vY(5Rxmn!K;w_w3U0Cn8_B&eR_c9 zWXefc*Nixs4zxS8@4J)SsXgOk!-i8*QV~ewVD<})j^rF{!d!g=-Tj~-Qh`2v( zFM9Ok*ap!?MJeB>J3cygo1`Z~BHm@zrdR?Z?W8y7V6@G9={m@XU^rx$QM%iE9JEWF zGl8Y*+=;prx3&+K*B&w2RQT$e_)tRF(Z>mzmB*KH>%8<}5pXQ2uNLoUXHYYy|d84#d`kM+m05KhURi z#=s217DU$Pw7#Jem?C4hpmQhOo8SRhdR&(lV^knL+~#HOA}Tj4uL6i#)WT1OFLm6V zkMyX&xswYn+L+Ti#1`3e{EIVXDc1={7@NJ}SehM%N#f)3{r}2kdm`_4qsaGp)H#OG zx{l2Naa?WVwgq;}ax#h#L;2dj5ka%nUC4YxNoSrwD}IJ)ZF_WmDE?NtaAQd4TJN;FJ15c$DF&Gr=-Sjt zF_%N*3t)Ws7r8eTKC`9NVPvY;(J4r6UpB!g-{m><;}*(OHUZTAULjZF_Yy>Q-*-ZvR0(6zRl^HRp}5?mmDIVT9ZO(k!^|Zllc1ov)X>o~*6I zUW4`|9X(~{yZ8Z=l>zBVzG*_oY|46RV~63__kV=IMEA`<*+i!|zAU>ve!!fEZv#es zuW}_5)Rag8ctyJ=GuHzeazt%u=QsJfYpg-#cweu*`RG-FZG;E-hm#ux+C*E0w7Eyz zh+2T;{dGp?1=^LjZN|NmtH~8E!uz=4+jW?Hx78U!EFD5eLF2=oWLR>y4rH5%A5F^J zz1;RA$~z0TH-80IC96mpNY-(;*)T}3 zErx0mAz%nKi>y-QoDs*4DH;Y;gd0$e8=Ir+;bP7fLvEnP)F>JGJTUTS3Y8j(K!6Ri zW9B3VUmVljPz}NKt!#!49ZK;*M})*7b_A&0nV*}u2$&ADrm4Di24}T7%bnZO2r+W5 zQJ=^rm}1xTWO@x|LI67+P4A)`#-|4jWf*5zuL3dPPkPCp7T4m~KA!s7m$1?cc)$=s z8c8I~ZO^!EFfp`P^JI)N6BCBr;;?qM4Fa-Aup`6ZVPgHmttuUI75f77t(9R2#BNp* z83|xGq3DlBVsc4VVP9ovMfgS_^)CboWUOSfH>2liuNj?!2MTi>ke17WqueNkvlH0w^X3~DQmF(H8I8VqM^k~aS84<3UB8e$ATghx|QsLxRT zRmA@VR8BGd3cg{J>4c+w4y3U4nK;$(7qcAautThp=JL<(A`>jcgvd_mfyS3m2M;RF z)A4u3(KWVk*kTZ@K_O4(6QO1avQy;z+`rZ;BafY_6Xkts)mhf@@e$jJK5C{)J3+Y} zk}A5s(bhUZ9LF;D!7`R8TXC}$Lt(grNtRtT|Jbc$2zG{l5-I5Q8@EGz2jRAF4aR5S z!e15&Zvzxr^q0}wsYdKj`WCvk1P8mu2Qvp4smYkQ2%HB!o9#&(VCdF)At4N88(zbm z9NAk?Wddyve%ckx%CTZCC_;!N+>c_;GbHg*u}_TapEbVmaO=8o{ST?chder+&#pld z82g>UD@H>|^?mDnh?GHbb>pE#2IsY0GC7`53SX5Q2)j%WCPR}RsUX1Uq#jsk4rJcW z3NnoB)%zw6T5Tk;t(D9N8->d3#>9L? z>)~7|Tf_$|{w>d-CQ%_WV~+GGscWbN)=IMZTi7Kyy;r>nhLDCN^UxMKR*S@J_hx8H zpv%v{x|N=28w(8?$TAyA`9O_9@vcfem7NK9+dDb@JtoW=Kw*;)FF}GrcR7=80JixT zEYiJPP@3ReAXACjoCx1NvQdLGz#;M97tAW6qw!I#=Ia=PnQ`bE8`BYv!iY5cpf$&xLk1#e;5v+qwy5Yu zj%2%zIIIntrRrVmSRW^Ybb|!ezgh^F$?-Lc3Pgw3BixVb#j}~QE+WZ%A(b$A2OIVn z<~9eblZau@wmusOqAS$ZfRP%MuN-hqF}7_>&pG(4dfofy=Eu}OCA+@j`Rfi{v4^!s zSlWDIAv^YO1n=D>9q)FkB|`!x*D99in(O3}_;T@pG9yO! zfWaJn)*rMiv2K9dTji{CpEyNPi>IWf%Y6PS=SP5`hQWN1`|jV478Yrq+r$z%mWCaU514ZV-y z02B?V(iBHyId(Oj#<<8Nce3^OCwplLMlwL<%E@mJHj?FJqrY0wqTzkaz0Zit6cokt zbvAMMD@`&}W_P9-1X&mlpcQ4qb3wmoKb$Suk8@OvHjZq%CexM_Ya#&Z_|J+nGnr(8 zOgy1UjYa+y{KJYxAS6HDU_j&JdYD6uQr3u0?pMC;JLAVVn9}1HUgcf zQF&2`%v)hlDkhurJv8S6XaSD~ML^lW2{rVN1Ds%GL|?71IQfpYka-8oeT=0^?TUu; zU7=D2w)r!tx#u|Zp>JMqaH1#y>$hkCV8EdISL}?=1#owx%MvOfyxtdH6o=ui=`pni zb?KWljRFo*#Q$lmFNV^s@(A?-Qk6+G5TU91LyN!Kk*MS3rqYToYh1N#8lMwm%>CA=6e=Z_9N9a ziz+tI%J4%qGaiqDEs}F-(F+R4bl{2D(!V0{TJ$T#LXCvt~@y4|z^@kplU7McHyTDugRjfvxx zVf#`z0TAtG>fKlw_LHsK3>e+um|zmeHw(x5>jU`evL{>ExM%t|694eAtU#sV(<(qe zt>u^wX`7+u3SBW$$~VxR0(TIxd{HFXoMr22_RAHWahj$+S>$^(5&)VmOBKsRh}dhaDv3pYkWs?tkfaKlz9vL z{BF3A8dD74*Gd`)5{U`hZ{9@wGW~~-@i61bo8;V$5Cza@088s{6<~LX`htw_F_*=C zH&xMzTOW>e0@aRRn+81_#_5qf=wg^Bz57WPX=UQ)-X#^J$W6}`n_G5 z;XxO;io0x$$(r7Y^}(L(0kTL4#6`C&I}T62&lx7>!fr0^y{=77;b5pX$QPeZL-v>)eEQ^oAp9ON)}ddnD)17{iE zrarraB}ECe4Nw(c?m%GNu^z{z`g2{+n~GjN>iR52?xQ}?L{oCWhMEu0E+J+Ks5&My zYPeViP$v11>`i15sM4dbVfSIH2_Tcq42DJjjo8eis!;KZVrWhJnhv36}(gI3&(nfTxENdUATxcg|x&~0!1$=*$JRG&gN?zBu2`4=_3OT?3Ls8CNP zYpZ{Q{wa9O@C``Xy+49x5d!O<>6$82a$Cs`Q_$I+6w|>Ke00|%Od*HKu9#0;I~xZB z4JC1TMPNn~2fRa~`{q<>V7pr<3u_g=6bk&g5oP;^bLaw(g+9mm^ZCt9*+NlHX&2{A z%C(a{oKNo`oHsu`7+R6m*DK-jHBj#pr>TR3m6y#pV(72={c%?R;wiRHZu@h2CJmpu$6~oypOb%L6C_{xE z{+yFL2P?77v)t05jNuwThP`HoRUD)j^l( z4i*Zo$-*b^J(gT)>odxVODuloeD{pkNZX&Gp7TrfmAB-bO^(p)E!y@TivtBn!@mPW z$Gpyb&Av_#TDd#alQ^@Ezxl$iOE}j5Te>k|J}gQ%d@;K2hJIEHX)whj^aLU1!;l8+ z;rSHufx#4v=E+X*1>Y(<)1l`YO!E&wm{k3C^Lg*RLTL;^QTq6b?+k(urrC3^4SoBz zI(Itz#v;jy?O%(z4y@MT_}k|8y%_Vm4w?Sox0;=!OpdTlPW7wsF&VS_BIR5ncIR-C zO$B$WUS&R(zGY{KUg5UnA;t&&B0X79D!)_m_@89GUN91U=`-})T9 zTeuni-S%UqLG{tST$hI@cf0(qW%MXXI2+g14%(ZcLixw-KN~%{m<&I+K)x6<^4dkM zwA$L}*J}hnT(vQXU3c@moTDt3&4R{fZIO3@n;yzFh{j}s3SCxnc? z9JO)5mWdXiW^M;M%5j2su}Z?$3SZDY-CovTJtHn=6d*Lz-<7&0-!@d8(zARKq;=~> zP+Ahpy~=f-UbcGroBM0}jo_YT_0)s($LAYbNb7slORW~~^j3}JX7x(C74yHLEz`X` zADy4P7n5?g?rPER(?aU~wt0QO&pgQR<7G^r2|i6aR;xOFuG8W(=|e}Xed!#C=o#ya zrIxA_u3xE6K@`9ym)$>Wz9G7o2w4nau0j&S?lm_s^jlm%+zdVZ-CNz{>blK%o)GI| z*A0-}yWyK>1=an4Khl@B-%@IW3q;l9NU@&=NP|JF2UyUPiI5K|v!2-a%XE0DkJ?yB zc`)Jaa&pNbW}nT_TXt%JONsoBTH-|Ly>|JDMwM4E(OtcX4g17zh(imt!7m8pQ&ha5 z+S9P*aj7SFYmCwACZ8d#`?3}1jr>6}+3}a5ym$Sf)gNCE zt*W-3jM?rTj*WKG>OH{HKZ7@u>+*!U+U#D3ye!fjFBZL3-Hc50egQVGx-v&&jN1CQ za!$I`&AVjv?YdkaEs0xv5$sT{=%IJAQnE*M8F7R=fj2HD;q?MCCW@(+ z7nR1X%6Wpra$Wk}f10q>o(Sh{$igy5*T#L#INyXV%7elANqraT)I*$ecb6;7%Ko|w zDc8nvF{4+?I z=X8K0S*x8MO>gDe`XsudBnlBD^RT3pd!eRf)*PFU0qG*EoJv2sSn!=dq~_vd4YsL@ zYGY#9JIC^~rs(5UZ)h{N$C9Fy!N2~xBW(roi0d@TUNKDk_H`U0k*Lt>^~0L28``dy z3Kg7oGVS!z`-~bKfA=$CYrbrJ)Nk;KRS@jvc;Zh~Pur7_BNXiPQC1;Bgl>6YN^v$> zk&e%cOdw(TW0_9st@=#lrd%t17yJM{Qk~MJ{Me$-1eSDZ2v4-<-@$3zUF)I_N6`*lrJTmK={Rh*@ria{6`|JmSQrXJcc7#yPKe@w=!s0V`e&%NKlYZkVI z-c}dGf4|sn=kP|SiPb6xerj$a^cqqoe$lacRABEVlTH?R&ragi|P1)b^Y5s(dMyAPBT-cX#SV*IPpr)Z_#`} z>$~k_HPLtUzypf{iq`DF1FSC!EzyV5fn$}xf#JAFr(`_PM1+F+)KN13#E#GDR5_!u zL__JpOqpg0}^wMjj+z4hnVj`*B=yKwq!Mn`+0ql!(i!1Y} z_VEiv^8&z34J`X*_Do$o<<3JjGlQ|G)o$_r@}0EEMb+|Tzx=(QI!;@OphLtHf6&fB zjo!7{zi*CUB8vvJVxNJ64~%OOKU|h(`+uR_)bABhLWpbb9|!%C8EL!g5?-hT+>BP# zv9LKF*l<^H#{g`RqsTi|9z?TA`;kD=lwGlW$x_Pv8ABD{LOmUlm}Vs$Af3jKgA>0c z9~5D(ykp7Rh>%4S6A;ZbSpKJu;S18C9m}u{5ia7_IjrsCJ^Wt$N~iPnyMIXqT{Pp! zxOdTc2?=uZNY#t0u|a?bFy7BSfN$Xs(*~HU#M5cFP3p)KhPAh=+KR~>^i+2 zIcyQ(0>9>Iu*r6aIJwgG&_K)rPUH!C{VK>UXL3XubIU>ugEA>^@!T zjmw#{^+>GoNZ)zS6{V$Ii^B7n5O74G`3;1zd1}DNhvHO(SIs5CD9jM)E26bWWFOk5VcdM z_g$362LJf0d~hl#$-V4>Bc`&^rCxeBJ2Hbk!`3Ba+9X}}J~ODJ)w54}qsynJ64-yf zA_O(zuW%Y>xu)EIUaJ8)sxol^`gIPeljiLr%u=^>g<9_5v+7|VzM`m2%W$opsVDQy zFa^E#hbv23J@?e)8rp*v!*fH(OB9vxiulNZ*3D<5>A%&795i4*)H7Z&E}y=br}KRY zZ1;tj4>@UJ9)x{ld47p5loY4+biV#lV}qx1h-+Eq9CH2!xhO+FCt1gRaXh0>YXCu~ zEN=UevsN#ufpjXaUk?Fq#NViX-8ZB{g_d!GCO~|ozR#r z8pz&#kSN^=*f&S8pw>elCMrW;>I7a$N=ux)JsK24C5Y<3V20Yh3<*oTcI#3m!Fi{d zCimX{*Ml`e%4;1D_!q5AM=;=s3)b(;L`P6f#c|sE4EFAKLu7EDa68IY($OlVA?L}@ znetYBKLa}a6-DY>na0pCNwGl^Ym4Cc1gezx$;ERwFb^+KdED*q<@WKu%5Q*9YKppZ zp7wA}aWIRj%0nVI%#3NiSLuj&5^$8mLwW@^ko>#*yIgTZ@)&~MIo@Z89lO$;9E2L% zetCwO{b+-z6yos6eU!KBr*wTlGQv=GEHN5;jA4007mFJ0ebt3Hr|qIR?Ewgx3}iiR zqm(>#w8X04e>LqPbFN)s2~+yR&og?t*ly&L_BZq=akN5ba-}i&od0jZg0~SG9r*%! zKg9!wJ*(;lW-y;RetANxuJ7@8Ts=M)d}TaNg!nXu1{lj|p;dVv`4|9_=pR3#?KHkq z*RplKg_npsC{fm!_M0OeHq&(#_Wn=uK^4a`%eSS;x^48cEh=I!f^>OVl3rtcwCiOC z`Dssi>SyB&UFYDX5ie5*Bc$_&T+3vBl~}KP7hn@btZIudpF6J{nd4dK_%k3dN0`Wb z`X}Ls0SM9bXDegQg?&bVp$GjzPyz*x)t@4_tnj1dxk zbV~*0>Gt`Qqs>sD+B1VeYlBx5y%dV!aA~NcLrXaL5zg^7ThX zgU9ig{tUt6WI(x(EEcwJ6D@Y1hPShaZePjn)5P4VPQ=@b_x371`COJ*y}!3pDZAk9 z_0!}v_0`Zkw=UlYxGlY78@z3Q39?w4JsFhVQ4a#_*ww_uQT`fGymlK#4PxfA*!UiY@mAR!_2 zmUf1s8BNhPs&z=PzYSyJM3<`L@Pb3?*-#ep;ido5#&1$=CJgaT!7~M^J6z zui=vZnEUahzG3Z;Iu+A@kv_>yN3C=&a4*L*D>@eDnQ4jmrZZXD7kixrs1Hk1ec2}{ zw(mx?TOYW4hW8)Z;Th{t^s)zTZX6iARU*^RDUsRBe5BENMaC-gExEt#I>W5)RxO2L zTG-gXsa5Ct+5H>=;F2^Syf0IjbAoYDaShJxh#G}|gLq!Ds`Vz0pTyxsLPgF?j+b>HS$-pkR^F5v9S~I%B(D^^JvqrYvsSR4-($duSHfla*HKHHn7q>dFKJLa4KTcE1>#%UItyLkK;-%xP22 zmxeDN)Rg_4=cSPB>(*tVK#>fDHet7~2!eiJ7?Pz&rQK1L;^R7or`CN3rxCj08}`D} z%B>jWarr@K#n4X$2bGRyO|H~cxewLibw$bxToA3%qOVvgXYgH~%yQ@@RHPT|#??mY zgu!70$A&oD_&$puBT1{EER*-Y0e9Xl8UB2%*(njT^*$)i!mRP~2xdD5PmnAUPR_)h zmm&?bJPf}wTId&Nc^T5DzhV`3zr*myNbl$P$oKTWW+%~9$ZZf?700hK{faA42pDQN zq9WI{j(PY1sqz*fr6)n|(^&8iJ3~9L6fQ+l`z%ul|8#TyU04zrnye9E0E83y2#*_< zll{6N5(axA*>7mnXW!2oV%Fa=Chyf-iGB;fvpdm&*=zXiXBX=4=7;+jcMT3{Rp78IOXG$@{CtEh!MC-9D)uzzD8>dDe#!+mA z8aJb;{PF^5U|Cio$?ha8e2#vh9sBhCqvEVi8s*Z-fH>CIQ+(^i7p-OR>D02Ldf29~ zvuj=R^j^xk5EaZj?(5*_AJVWkgOC07zR%dGQ}1u&oph;+n8`03C2fr)>du>=rcE7F zbI3=MNyAykbAW%6%a=hQgB`{}|K#%q-0qh?Bj}K}W<6LQ!4g|)Dr&M#FDYqFj_X-A zcQmZHpRiKV${dpenKg9v%U}qd9tLk)!oZSO^B_XZ@tl2hab9+fL<{JO=B`=28d_{A>zn93{UBHRoAd&*&_2U; zjlZ0f>4lkNK0yzMP3Xi@C(*9Bn7%)+9Qo#kW%yS zQ0;DfE6U^9B|LD0YDCjAhrMwi?b^gd2U%9R4TZYZu(+q}b zne5$f;ZEUC<1rm{YpF}+w&@iS`s#=QGnnh~O~e}>rt19j(9FL5P{P!lp~69GN0ig< z=H38r`sJY~aoY|1Wh0`Ggg4V}THe+Cdhjl^hp$ zT!p-b92?!w5Q`V>C_h2C`iM_EFzMW2c<-^;O+~)eNI6fB{E{HIm4w!<6N}H;(u>c- zZrR^LEK>9Xlh2Kb4d2MWpE1pM&y#s^s$(x9>@Q6!qqNi%;C{s7O;|J7vX*D?Nxsx? zSR~h-40(h1YK5%J>dGDgi@3=Mwt%(UkFtQg<3}{0flYdo`^oL%d^_$iBu-Ie*uqqg zUw%z_5Km%O*~#+o(wsX&7ZJQgN}0ti0J+c$3rd8ON`3XGyo_Aq`y^t5t6)p>hJQh& zn6`pki+c4>`L%x~Y3KUQ2W-OrYQB!6E>tI`x>=aZs0sUJK06i`zdP8m^*)h&=lxL% zFN4Q!L|XI@C|kf<$_Li5_1HxW792=tMb6BhBv+%K#?6Vj$oT7t?@CP{+og(yg~SJR zKaP0-e`wtx%pJF_2#jZ(%^1wV96w%LSaFIX`RH-yVnvKrB`Wg)gpYv;RzB}{<729u zyur-IZ@(L7%M*E6Tgcv_*Imi@If%yW`Se?NU!s6k=3tfInmK*kb?RmFU9bSO5XEkG zzW(&1p3BT5+U0!mY4;+KeeIDwtwB{%tp4jjyDfI+jrW7Y4PC_V2RHbNh3!Oi0mS3= z8`s0V>qSh} zm!tAEIpdi?XuzYDC^2ZYdh8WhSbE(ttqY`QuTgGyr182vcWgsuJCtV1 z`o(;J4WhLn3+BO}`ef+xGnk)&N@d9z=`SI)52gBQ4tOCxuO8TY^ z3ST|nhp^auX5trgq0{$A=7U-32g>p6*gaE&IEJYKVIJV7wvJhxM}f+Zl2Lv!Echw; z%wk|ek8NV_DJWq1tV54_yRqMUcN)kw_#NkZiZc@-M2q3nU1}|OhpT(7o#Awf@4^>k ziT(`>vsk_h=M1k2&54{6(s8j^nyPzkS@vLfvU0_5;+c+rq=Yu>gDF$TSO{>;=30_P zuZFbdZM_~?+6OpoLuv5h4V72hIIHw? zOdZ!F3uyjyTc(cbg+5rOlE~hMX3vwwsI_stsyHBMRb53;5_ekPqO`+M|X>TFu zYo}Pa2p4_&^`c7Kws4!~Y^95blaF}Dv_SUkYsDhbo+5MdW#^EE4zUOCna!La zs^+IY7@Pm~%CI8oXjMuC#gfga-pX!;fsdBF$u3B!?{W~L)?S>?b1*}Rjd(lAU3pq} z^33-qQExfdC(dl+uGfXhM<`Fcy<2(uhlkev76s2xMEunHQ{gLV9*p$qqDXhT@Fc(04zynM&a&$SHM@W#hM=Utu-`p|C$XXC_}EY`E9^ z6K1$Kb&04yV`}v4Wv)B#2D!*zQ)am305M1bf{S2t;(k(}m(EY%IKCNedXj@JSfcD_ zUJ;uXtf;Y2l;gE$LMq?hG+ldl>#DHuI}HVmKj~(dQa{e@EPNHuyn6I&mRr-k0~fwh zv-5DiK6y2HGYl4rjph(JXle&JkB~K)H90#Oyf5CW?A<7!N_&jnJ~go{{KTu2i;w~Y z9lQ;9l33&t$~WVGR$&y!I0)4XXr;j=Q_A#e^)S}YUt&5fbc1=70sUXo`YGpk0<;o=IdCliSgW_ z8Eep6Ka0;E?hTbVRZx)vDd!T$dC{BKYJM1NX?!9bcDwG!+xJ-YLm!~x@cNf+)L)1A zfr-xgETff##BB5XB92pOW8PW~3fVnZCU4hnsHa`dI`*N*JL`64kAK#wUhh}8@Ai2= z)#9!SjL!l+RVaTWHNfjS^EPXsy#C{$eFzx-SZzaVz>M)u^ZWZqlcn$;CUz+w4(r_( zuJ+dvgN$7fGsib9%^yboW=iH#f%;EnNmKV8X@2i4G02YpG10Joj`pqb2FmhOk9vGQ z(>%Yv^zHD#wMduWET*yo8xKv6!PFEZjslwR+$i^KI&W329?6gDbbHS>s)e`bec%K& z-&481bf~PrTQ$lgm`6gXA=ffP#T4k+BI6k%ubc&o)L%+7_V>1dY|rukwcN9mLr`rVx@)^+#XeH|Ig^ehb>$_ZKMLQVZ|e zog&Bb%+=U)?`H%p-;$rXqrYw+T)`2u55i?x2#7$fdJ20Sr4W63RXLTrnUUFgv(EE( z-S^VBCEq64PIt8_-jMl_a~v*IRM+>`mfUOZ_8fT%bqtjgafDRy3VEQcT~|9=z)6|x z5iCUyPtoZ`KGh_9LXiBa7d8MoZ*SwRHoY24bf@Bu9Mnn_d{ofMtV) z!54!0QAa7GPunS9-c^`#EW7VHkE&Iv(&Kbmf)_-Q0%NruA%#Cah4UDK;>aU+T!CN0 zbfMkC(+^y0+kQRQ`BQ!jtQX7=b}+aCl0b=)R(}r~V<+y+qCcf5)^+`Ql#HL0?y6~8 zRhL11Zi-A+y2h|wct{%66|Jkd>Ne^2&hFK&_UaRB_ggOS>12E3Ey)mT+;e*8?kc!V z-vbif97Oy)#jj>Dkhiq*JoF{~V3wF=UkZ}D5)tycN5Sp1b@Y$6`NyZw~mSQ`&pPzSS2uRM_~lMady3ny<#I}1}$B<$bk$SNjWs3 z3reg~C{vGkA%cj*L2S*gU>9B#DYj0W0Wp!ew zSSu51rgeaZhOI zM7hlp#7CzEzM(P(i_2oGy`1%Z{mTRW%LDf7%`VwjF|39C%!XiR-uUd2X`Pm@uSa9Q zTD|*c)QRcL*36z=J|F%Bn#0)&lg3pwKbT+2cs}lagDYk2dXKt%$F7a*D^6%#v2r=5 zd_pj*tKVYv;x1^q|JlN6R|nYXYE)a!TDh*E>nOO}yz#(2T-2TYQ(`^P65mhX)DQJ} zH)@3J_R`0F?{_OV-@JzoyCbsXIP2i*$lWdR10@sl-5mQId4z=Q6asBARyux z<)J2Z@JITZJoqcl!@>q6JkFS+R=leCK=Q$adguLyhl)wg!o$1R&%~y2`i?>G7T%8( zZBDna-shuJW}so52!C!UqHzELo;l+B1LRugJOz{@Y5pEep>?upT(u(BO@e=PJlho& z>ULqZ?^h}1?(49J)w7D^-7rUL>e1TLbQ*?y@lUz!uCNaJ49UN?bpMlwj6K@VNAAkg zRQSec)PDbTQfEKtS|fRO6fAOzpm*_n#W?L{uvF|dU>`y8MnHzk`(IJ^2UfKTbqHJ; zE0tdiIx-j0%^YDKSl~wT&5|ugGG9KFr9>nCa+x__^#?wPn0wNEf5$PAl;4gSzpmab zbgBX9mV=0|In=?HZ^r|ar=Rv&Tx~o*8L+f=Y;P?hG&-@;^`0RB^96O1W#0=$^?twR zCXtMJT#c@&!6d?g;nCq?BWC%o2p5joDoP9{G&X7W5o6{As-8`mDNJnNeOE*NQ+}#! zU#Yq+xfFe4z{)xgagYL0fxY~7Jgs@{;OO9uW`f&-0`kyZg*Vjrj$8hFXDX#hQhU6W zHg)RUxOs|-%_93664WeqBEo&0v28RmkauJ<>!op3zlSD>{ogE;U)nIZu6;z+yPEdw=7N_42% z3-8AKCZjDdvUm!02E~nvQq{-VeBrXoTbAtDZnv@?tZFJxehzw^o@Ouo zGMP{K{WZ=9d9K#}C`)FBPFi?Mw~2~(^S=)?YUQSlQvXpiR}fiBkHwzjJash&A+0QA znoxJEJ0c_ZzTpMNo)Z{v$lx9mtQdJ&dCI-v%k64L=gpo539eGLibhUz%i#i_H%3Z@(Q{_Zk8fAqj@*5~@Vm!ZI4S{Fb&4YqheyaW#@NH!52CaWGXx@ezmu3T zBVn=&M?B`w{&eMyR+#b?JjvKvO9&ou{EXuD-$(P1bi5Q)Ne966qXACm*?DGbamri^ zs`*UienX&Bt~uZ!G5XC%b59$?=#$a<(Yq(2*I%d~`bUSp(FX}^66R>u{W7=Dlmttm z4nx(QULYgCeKHq_HZqiW4Hj%8p8y;`{v62(%dso4PCrHrkGyM0xdq_sDXiR7+;Tr3#yQT|0(N{qgJH zSsn#J$mWPkk1r1@Mr$Lvwc*+_FGZd9Pk9J@1oDzvj#fs#)mOi=>CzS5eBQMm=c24M zRV0VW08^&^$;y-QjMhwIJ#5)2uKP)Iz@?4^|`%$!x zYnhnu)6idZ7p_WSS9vzlh;OSVK)(;(`u7(qyD}(fS^YZ5H8bx8sU`o|X!$9qdi0^_ zP~LLKh`f0G;jb|?51X$a5irvW(Ps55-C90!i!E1{_Dfs^NKePCcmTLNbz)46J_>&F zxKOWiiv&O9&drpoJpHI`{MH6;xfzZ*$r$#N%YM%2IT$K!vS}ea66)KW{nsta{b$ty zR3uj)KKV;j{7a7m?YpN1+U)<#ZNV~;Z#p!Uj!?xTT zs)T>-6ix>c-hA$U8XV+JBVI0QZH3(0 zQ-}cYlem6Co;(&0k|g!p0^J|fh?suf|Eb2ofFH{%l`_y0=E0O)6GR#tp3#Z84G0!S zox++J@PiKpOJKQHRxlsd7{U{*?Fcrek@FjLIo+n+_*CMi{_1e5#3t`5IW>DzVf9w3 z^QP#ka?13k_G<3oUc9y-IX4c^C-ZV#PKh9Fte1SacS}yG>lI>-OAR7;Ns~1K4ldSj za_weNbGA@AzSVhC8!6zfB|{Kwh(Yex>uZS)wjT_!U+-z5Qs-`QEn|^Q2R*;0ajy3j zy?+e&v3?)0I1c0T9PZql`Eu+))q2<4@6Rh*!>(+GP7L1TqR;s@IKdh|!qlL5k_@H6 z3c=ioyzN$((Tc3nPK32P*9u1RRKIcpdd!L}ryiQuCMZ1y)pPm7EF`=B~kg;mTThn%>=qvHP7`3E_ACoLIzRk+re zk2HBQ2V~7B@cZD8z{UeruF=12o=5&ZAeACg686PphyTpyBlkZ`1t9GG!_UvUBt-t^ zoz(32%JM62llVsw&_C;(#5noQ+jN>Fy^f23&7fpnLLYzwe=S zE9FY*l(>{Gx$(KskzzTW6p3!`hwQdoDC$;S5ZykypdBm${y*RTZY%>TG!`PXBq(D7 zF$|V!;JVli`?*WjWg6mVuDK=5yyWup#msAjjeE?@i*T+xk@KT{%RL^CK1q%f`~r|} zNOCdHOPaYFa28`8a84&R^Bf|@xtl93-B122;me>M!*l#P($GV!lKgx1Somk56BYs8#X1UF`K>rn63 zoGDkNj)R&dHfbFZcSP~jd}~lX>J)`r%0Gc_c!%T#OVLBD{~2}^e}SbYUP6dK-o}$n zNi)b{%GNh4ml&L*X;TvY*@#59zyhtCI~cJS{MJjB>pQ(-Ki%;vK=D$JBV*{i3zo~t zA3V@EE8XQMDo&1q4pU@Dx(WbQ2QeWd#BWyS5QSBN1>UK}0&W&OE@Nwz%^-Sp2y4(6 z)B%b%@*Vxm!v8JiM+dw7-w}G`AAh&oe@<8}=uZ_DV4v$)!;@!Xb!^-dkdmx>-~O>V z^1qj8h~ai+vCs+qHH?104B%jexplc#1P>}us$7oi1oLBGBIce(@L^wooZ|3r*%Oid zPmGetk&?a(vI|??p%FZn|EFCFMo6G|S-Ss8M)sJOo5ZH%%yaNHYiY#@DL@F%m_{&n z_<`FO6yzS_*4&S$+=?q1++uwt)U6lt-qlx}6_mA_dBZrul?rZ47W0e}Ziq)dlN*zz zSN+esI!s`%2NbvptP;6Q|EEe;vws7pV_8$Np_NCdnU)j4kvMCa$%nf+3&(&vMf@O75orTi>7gv7)71j5>0pltHDkUN%Ez%+) z-Jl{RH6TcLH#oph1ESJh(g;IINjC%19nv*~Lw5}@F!Nsge1HG{yWX|-x^w5Od*bfB z&wieB?!D(62mT94;DEzvt>T~(VLv@yp7Vd#p@A}+0xo}-d}nA1@#6aI>PPw*LRaIq zL^odP@EsvI;6yXDFPLWZm#Io={@XTbedK&_RvKl~eWOsn{?W3pUIeG)1!b>+k4FGQ z`{4MHU792rWBw;gkjTr2TVy!e68oO)nh0kBba3+?qsAO`Q=>$`ZT zHbiqRVB%eabG#UET#mC%2f0^IT-KhSlYZN%4riNo5ttOHs{CIcboi@s7wLWX(n5@P zI9<2}(8}kjWg@_tZ1T6*jzL#q6u-7W)hgnR2m3_s97gwyh>dWK@CBJr-}@*(f5^&z zEHZufNzyVxS^wKAu2X<}T?^rAK!)o;8SQoh?KV|CuF+R7n#J3xBaypZr!_QFG(Ibi z#Y*Szff^p}DxbRoCR08L@phhXWqtWcWG^-AHicp2>aBf$<(?Vxk5O5~|Dqm|ph3WK zGv)E^qO+AIgOCfukYgevVkd);)sXpbWr0qw#fCo!4;zzj%mmR^p-ix?tbgsL&Pc{( zaGuXct$N%#1u!oQcXrBzHrgNx1JEpKcN~lag*BblcoaKO!>rthlr`WO{uI`MT@DB2 z)5PZ8FL_2v-%40#whkBm77y9od)?T0;8xVgTZSGXHbM1%Y_h5}&VeBDzP6zDMO4MN0%g{8_C7b{=ot)J+5AdNvyv~FYB_q(+@gpf6Hk&5y{p*Bfj#;9fy(owceDw(m-SJVW|lzBn5$ha*2Bu|9 zW@B+lQnJX0q@;-fIXscKc%o^9)7dO2e57^^_K)tsxbDRi1p`xxh3Dh zjaRzQQT+%1QyrN-$$y%kUA|NuCFvP5Ll3KwR1A+w-53F=uSNP_qwnlGUndpZH0-oY zjbt{9YzW@vZoDC8kN>SD=mv9v=}@}pYk%PO0qZdTvlF0&8&i?pSO+6C8!$QCBZF@a zH~v>3kb$@sOSjuL!f=p<6AFiNZ_CgX{XL0Q(G|X% z1J7*0K#-RjeuOhUS4~mh9~PS9kF>5ginWcr@F(ukZLNKHeV4K_QQz0m9(d26Z03NN z%J!?*h$HuG!i$YG>#lr1tFes-vby4DfZsv?&u9j9R~PU_+|#VDX<%8v!~Us(xOTg1Vjut0 z8wqP>60n>YF#YBxCp5!V)zkA~%H!enc7Im(R0=)t9hG*@teSZ26dLBcw zINr}l`P?&%%A)1@?79d{a^O0(&5_2V$>@1VSD%^c|HJX8?A;;%F2FuzNAZ0=56ezteSz&C-+~TcWP%OPC#SvGYrD78>v>`s%1>w>$?sRS{elS=#s;T%wB8dv+$%Z zE=z9?yzU}}0V4WVEs|13X>4toVWX%Zo=7bt-QS<_1P7=6mhTb_@0w2ppBbr?HMoW zf-l;)vjX(hXr*rOJ$v!3Bhw8f18(h9&=t`7RW_Yc=M~7sPlH$Luc$TSe;NZg!);MO zExF6W07bC!1h7;{2Eaz_5`fGZM6clh<7}rPjqfIF@rm~G(*fY<9|^GvB$o)BaR1RJ z>=@`Gk!AS58z2HWma-?`@BY;XPO_e(r4Lqbh7S%^9@2t$yO}?`N&;MtR7OP7`v2E* zc0fDWJfc`T<8+jq(CULfbD(arVEg3*A{axx0n~_}4!O zbpEn6`~_fbZF5<`C}vUqgyBZDH)9q+$@Ljaz-R_oWB>siZ!TZFTXL@t{cLuIG=7R; zR^)(qi|(&I{}9T0z>0tEHbCxfP*~1WM9Pz_Dq8Qr9dPmk70-EIDj~q{TLHxZ$Q+tA z?{q`lD4_>hXEZW1Qh*A81NqGXFlm?+j0>&Y?GiX8gHxZ?BpH1(`ceiS8vu->p2!K{ zNqdYQPn*O`&0PGt4G&y1fQ}9zI>1dxZZx8D*8)ooIK`3hjh(LBfl*r%k!TN{XJUvS zpG(^RInY;t(#zo2;|zEGz`A@yks9vF-9>`^0kT25jD*NKzVo~grwUrXeN*f1e@-*( zS#9uC-3MO(u;oGVo4xRE6ujcGgwD_Z#yfJ&xJC)NmkMcFM+5i!wA;KZ$opl6-wxmm zq{iiXCKpAso|65XG@JF|6EHDArk4aTta^~ULo9JYr35RJhb6H|4D5N zw?79SCIO_uo;7myJ@8R^rZ5>AA0Pv5Q*A)fzD;}4RT0Upvdcela!*KjiH-VPcC4Zm%^ zZFKL3YXiFa$Cx@9LX%d>jm16b2HrZhQc@Tjv`_tLxeqaAiWIUYUqPdd>5e*bh4+kC zUKN*Fe4ldNLAjypcq{?D^OP8~Q6_ zDYbPVLD-Osm)<(yLqY8_nYIaB+DxDZn4Ys0s0s9t)(St?4nM}v{1|?ECo{wgAZ&|Y zc;tXbF%N(-3{Hgrl@rk!<#YYO<2#7E!-~!Z{vj;FJO_9mgXh200uLhJG~*0UW*fb9 z;lBI|jC!kDIjbsxaopLq^VOu;bs*lyI{Iz;mispYjoVbSUv~c^GHoN4RW~>^Ls5kT zaH4u-N&P>Gr2Y>(%*zNxRU&Pq>WbQw% z_Vrp|n%*3LlxM^LvU&p_;9cfHFJJse;Y9y6chK2S!u21QNO!&_D!>Ow(0Wh|z(O25 ze5C3ALrk*&H}ktU%OLB01FyGFQ%C6uKQIFKPPpD39camN3FN*#$T=Pe5W=oqYy1kb z@Ax;I=CjuKi4Dr}{V(`*Bf=rOH*E0wMHS9zmKwQR z@~bQmpDtP=VpkgHIW)N+9=I-2^!=WtpZ_}l$Gs(yW2OuqL**JSLUygM{1Yz>%Q*+= zL&3%uojo$Dv8GRZI-%c#4LU{a+B=jJDx=SN)DP2p(XnL;Ell-H7u|nlu3gb|JKCfB zpWv0(y08;v>amXFw2Gk0RLPHm^bC_BGM4UvT>6gY>|2H^} z)Xr%CIGjC(gFb&toLb^4JU@w-tko7V6cyVIv%*X|OC1INAGw zBJp+H*nTribZxRRZ9+ogZ908n;z0;?Jg;A-lY39+vK`$0u1VxIO|q!#W=}OUDx%5H ze7A?^9ftpCI41oaH!awB{7{`I3YcFg%el%SkV^_*j(hqKe~-dv)9@ zC@i@LXTO83Cb@Ks%w?4~giW@-?2?tH97NsUS3a;J8K#eOFyHS}$v8jg_^W`7b4)oI zfHANUrHXsFcK%gm#qwXEdS~MWHN4($@>#UTGikh2PUc6hah%0_O4q3u-jJ zZ??2O9rw=j<2`LGFnm+A=Nqa40;}@~#ze zYO+M7xg~Odj}JY-nciu|HZ=6zfFC_NbKh-j?RjRUg9O8;$b)V}QLF334}lQoqP%4l9=R;P!GI%@0d_VF>q}TS<*Dy!d)SbL6qM zKMWVanqzz~GLcv@tXkVHu6x_*SF0qyx|5(>ADw{;%l-y#ntJ=4iq3v_9K?Yz@{uWa&hQkx)v3u3jGob;8Nz%519h`cpFOLMP*kXUf-(1n{S5 zb=;;>QUr38))MDIt{%OCEE&}{b{>_Rc1dLmO=nwRM5$OGYZ;8P znn7*PIc}8yz`C;GgOS2`|)U>=nWMtnnE9?t6Q<6iIt*>{ zLI2aNMitd3%cg=~SVr&pPRsvP$oHl0AN$Bk(~5hqxSt%GRHubjTaQj&~RZ3YGN!b*^J9t!&QORA{&g={P=ii_`rVuiMgD4$7 z%>9xt!#a8x7Q1eEHu<5zb_d)f{Q^}?gAD+$OI19?CL44>O(ZUyig~c@Xu^VI8AKuNTY$Wb%m>!s>^boP(K=mR&L2? zgeMMbaUg+P|b5;J!GVxTb3ZHeM@=8fn zZ&SM9*V?JP&u| zPimj1ADew4h2!-La~ zzhpm~%B_@ih#%ZLlr&{m$IOZ;sl>x0F-Dl~x7FAF^r7BZ%1I19TQGcgh&ol~>Z|8Z z2{VR~tCUmA9cELjm&u+P!olY(E`&#$OQz05bvR9rn(m*R{Ak$}Sg|}r#ItGn+s*RU z#0%&1n9=0C7;qwKHcexd;!Nf}L@@Zg)Tz##Rpl*1V0Qqtv`-J}g}ZQf*{S*@`dmp* zH~~v3YJz<-6+d7i!)%C0!$Yumt&%)uahrG^+`LJi%;o-`X?3BVQZ8bL{N;oguN8t0 z&XuALt??;*L$JQl@#x%`8rU$36u|^VsU0FH%->%{=*RFdwNSQC+pctXyjrR4*bat2 zDpgu>x1^e8Ii{F2#5P{%N?y|Xn zA~1b6wuZIJ8W;ChGOMno+Sc1@TUA3cv?$pl=Z3T>OX2tV$O+o$_ KZ8UAR<5Kq+ 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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.xml new file mode 100644 index 0000000..fcfc3e3 --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.xml @@ -0,0 +1,24140 @@ + + + + NLog + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Write internal messages to the . + + A message to write. + + Works when property set to true. + The is used in Debug and Relese configuration. + The works only in Debug configuration and this is reason why is replaced by . + in DEBUG + + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the . + + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + NLog configuration section handler class for configuring NLog from App.config. + + + + + Creates a configuration section handler. + + Parent object. + Configuration context object. + Section XML node. + The created section handler object. + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Mapping between log levels and console output colors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Arguments for . + + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + The exception during configuration reload. + + + + Gets a value indicating whether configuration reload has succeeded. + + A value of true if succeeded; otherwise, false. + + + + Gets the exception which occurred during configuration reload. + + The exception. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Stack trace should be captured including source-level information such as line numbers. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + If set to true errors will be ignored during file processing. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Gets the default object by parsing + the application configuration file (app.exe.config). + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described
here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format.s + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Internal configuration manager used to read .NET configuration files. + Just a wrapper around the BCL ConfigurationManager, but used to enable + unit testing. + + + + + Interface for the wrapper around System.Configuration.ConfigurationManager. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex for archiving that is sharable by more than one process. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex that is sharable by more than one process. + + The prefix to use for the name of the mutex. + A object which is sharable by multiple processes. + + + + Gets the mutually-exclusive lock for archiving files. + + The mutex for archiving. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + Invalidates appenders for all files that were archived. + + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + The archive file path pattern that is used to detect when archiving occurs. + + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets the file attributes (Windows only). + + + + + Should we capture the last write time of a file? + + + + + Provides a multiprocess-safe atomic file appends while + keeping the files open. + + + On Unix you can get all the appends to be atomic, even when multiple + processes are trying to write to the same file, because setting the file + pointer to the end of the file and appending can be made one operation. + On Win32 we need to maintain some synchronization between processes + (global named mutex is used for this) + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Provides a multiprocess-safe atomic file append while + keeping the files open. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Creates or opens a file in a special mode, so that writes are automatically + as atomic writes at the file end. + See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms. + + File to create or open + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Supports mocking of SMTP Client code. + + + + + Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. + + + System.Net.Mail.MailMessage + MailMessage + A MailMessage that contains the message to send. + + + + Specifies how outgoing email messages will be handled. + + + + + Gets or sets the name or IP address of the host used for SMTP transactions. + + + + + Gets or sets the port used for SMTP transactions. + + + + + Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. + + + + + Gets or sets the credentials used to authenticate the sender. + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Watches multiple files at the same time and raises an event whenever + a single change is detected in any of those files. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Stops watching all files. + + + + + Stops watching the specified file. + + + + + + Watches the specified files for changes. + + The file names. + + + + The types of changes to watch for. + + + + + Occurs when a change is detected in one of the monitored files. + + + + + Supports mocking of SMTP Client code. + + + Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, + we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendToAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Sends messages over the network as UDP datagrams. + + + + + Initializes a new instance of the class. + + URL. Must start with udp://. + The address family. + + + + Creates the socket. + + The address family. + Type of the socket. + Type of the protocol. + Implementation of to use. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Sends the specified text as a UDP datagram. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Portable implementation of . + + + + + Returns details about current process and thread in a portable manner. + + + + + Initializes static members of the ThreadIDHelper class. + + + + + Gets the singleton instance of PortableThreadIDHelper or + Win32ThreadIDHelper depending on runtime environment. + + The instance. + + + + Gets current process ID. + + + + + Gets current process name. + + + + + Gets current process name (excluding filename extension, if any). + + + + + Initializes a new instance of the class. + + + + + Gets the name of the process. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Win32-optimized implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Win32-optimized implementation of . + + + + + Initializes a new instance of the class. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Used to render the application domain name. + + + + + Create a new renderer + + + + + Create a new renderer + + + + + Render the layout + + + + + + + Convert the formatting string + + + + + + + Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" + The first parameter is the , the second the second the + This string is used in + + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + cached + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Use base dir of current process. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets or sets a value indicating whether to render the source file name and line number. + + + + + + Gets or sets a value indicating whether to include source file path. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The call site source line number. Full callsite + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The environment variable. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the environment variable. + + + + + + Gets or sets the default value to be used when the environment variable is not set. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Thread identity information (name and authentication information). + + + + + Initializes a new instance of the class. + + + + + Renders the specified identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the separator to be used when concatenating + parts of identity information. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The machine name that the process is running on. + + + + + Initializes the layout renderer. + + + + + Renders the machine name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Mapped Diagnostic Logical Context item (based on CallContext). + + + + + Renders the specified MDLC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The directory where NLog.dll is located. + + + + + Initializes static members of the NLogDirLayoutRenderer class. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The performance counter. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the name of the performance counter instance (e.g. this.Global_). + + + + + + Gets or sets the name of the machine to read the performance counter from. + + + + + + The identifier of the current process. + + + + + Renders the current process ID. + + The to append the rendered data to. + Logging event. + + + + The information about the running process. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) + + + + + + Property of System.Diagnostics.Process to retrieve. + + + + + Base Priority. + + + + + Exit Code. + + + + + Exit Time. + + + + + Process Handle. + + + + + Handle Count. + + + + + Whether process has exited. + + + + + Process ID. + + + + + Machine name. + + + + + Handle of the main window. + + + + + Title of the main window. + + + + + Maximum Working Set. + + + + + Minimum Working Set. + + + + + Non-paged System Memory Size. + + + + + Non-paged System Memory Size (64-bit). + + + + + Paged Memory Size. + + + + + Paged Memory Size (64-bit).. + + + + + Paged System Memory Size. + + + + + Paged System Memory Size (64-bit). + + + + + Peak Paged Memory Size. + + + + + Peak Paged Memory Size (64-bit). + + + + + Peak Virtual Memory Size. + + + + + Peak Virtual Memory Size (64-bit).. + + + + + Peak Working Set Size. + + + + + Peak Working Set Size (64-bit). + + + + + Whether priority boost is enabled. + + + + + Priority Class. + + + + + Private Memory Size. + + + + + Private Memory Size (64-bit). + + + + + Privileged Processor Time. + + + + + Process Name. + + + + + Whether process is responding. + + + + + Session ID. + + + + + Process Start Time. + + + + + Total Processor Time. + + + + + User Processor Time. + + + + + Virtual Memory Size. + + + + + Virtual Memory Size (64-bit). + + + + + Working Set Size. + + + + + Working Set Size (64-bit). + + + + + The name of the current process. + + + + + Renders the current process name (optionally with a full path). + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to write the full path to the process executable. + + + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to normalize the result by subtracting + it from the result of the first call (so that it's effectively zero-based). + + + + + + Gets or sets a value indicating whether to output the difference between the result + of QueryPerformanceCounter and the previous one. + + + + + + Gets or sets a value indicating whether to convert the result to seconds by dividing + by the result of QueryPerformanceFrequency(). + + + + + + Gets or sets the number of decimal digits to be included in output. + + + + + + Gets or sets a value indicating whether to align decimal point (emit non-significant zeros). + + + + + + A value from the Registry. + + + + + Create new renderer + + + + + Reads the specified registry key and value and appends it to + the passed . + + The to append the rendered data to. + Logging event. Ignored. + + + + Parse key to and subkey. + + full registry key name + Result of parsing, never null. + + + + Aliases for the hives. See https://msdn.microsoft.com/en-us/library/ctb3kd86(v=vs.110).aspx + + + + + Gets or sets the registry value name. + + + + + + Gets or sets the value to be output when the specified registry key or value is not found. + + + + + + Require escaping backward slashes in . Need to be backwardscompatible. + + When true: + + `\` in value should be configured as `\\` + `\\` in value should be configured as `\\\\`. + + Default value wasn't a Layout before and needed an escape of the slash + + + + Gets or sets the registry view (see: https://msdn.microsoft.com/de-de/library/microsoft.win32.registryview.aspx). + Allowed values: Registry32, Registry64, Default + + + + + Gets or sets the registry key. + + + HKCU\Software\NLogTest + + + Possible keys: +
    +
  • HKEY_LOCAL_MACHINE
  • +
  • HKLM
  • +
  • HKEY_CURRENT_USER
  • +
  • HKCU
  • +
  • HKEY_CLASSES_ROOT
  • +
  • HKEY_USERS
  • +
  • HKEY_CURRENT_CONFIG
  • +
  • HKEY_DYN_DATA
  • +
  • HKEY_PERFORMANCE_DATA
  • +
+
+ +
+ + + Has ? + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + A renderer that puts into log a System.Diagnostics trace correlation id. + + + + + Renders the current trace activity ID. + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Thread Windows identity information (username). + + + + + Initializes a new instance of the class. + + + + + Renders the current thread windows identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether domain name should be included. + + + + + + Gets or sets a value indicating whether username should be included. + + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes static members of the LogManager class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time + will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Raises the event when the configuration is reloaded. + + Event arguments + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Base implementation of a log receiver server which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Processes the log messages. + + The events to process. + + + + Processes the log messages. + + The log events. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Client of + + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Gets the underlying implementation. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Log Receiver Client using WCF. + + + This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release. + + It provides an implementation of the legacy interface and it will be completely obsolete when the + ILogReceiverClient is removed. + + + + + Abstract base class for the WcfLogReceiverXXXWay classes. It can only be + used internally (see internal constructor). It passes off any Channel usage + to the inheriting class. + + Type of the WCF service. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client facade. It allows the use either of the one way or two way + service contract using WCF through its unified interface. + + + Delegating methods are generated with Resharper. + 1. change ProxiedClient to private field (instead of public property) + 2. delegate members + 3. change ProxiedClient back to public property. + + + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + The binding. + The remote address. + + + + Causes a communication object to transition immediately from its current state into the closed state. + + + + + Begins an asynchronous operation to close a communication object. + + + The that references the asynchronous close operation. + + The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to close a communication object with a specified timeout. + + + The that references the asynchronous close operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to open a communication object. + + + The that references the asynchronous open operation. + + The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins an asynchronous operation to open a communication object within a specified interval of time. + + + The that references the asynchronous open operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Causes a communication object to transition from its current state into the closed state. + + The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Causes a communication object to transition from its current state into the closed state. + + was called on an object in the state.The default close timeout elapsed before the was able to close gracefully. + + + + Closes the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Completes an asynchronous operation to close a communication object. + + The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Completes an asynchronous operation to open a communication object. + + The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. + + + + Ends asynchronous processing of log messages. + + The result. + + + + Causes a communication object to transition from the created state into the opened state. + + The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Causes a communication object to transition from the created state into the opened state within a specified interval of time. + + The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Causes a communication object to transition from its current state into the closed state. + + + + + The client getting proxied + + + + + Do we use one-way or two-way messaging? + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Occurs when Close operation has completed. + + + + + Occurs when the communication object completes its transition from the closing state into the closed state. + + + + + Occurs when the communication object first enters the closing state. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Occurs when the communication object first enters the faulted state. + + + + + Gets the underlying implementation. + + + + + Occurs when Open operation has completed. + + + + + Occurs when the communication object completes its transition from the opening state into the opened state. + + + + + Occurs when the communication object first enters the opening state. + + + + + Occurs when the log message processing has completed. + + + + + Gets the current state of the communication-oriented object. + + + The value of the of the object. + + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary + of strings and provides methods to output them in layouts. Allows for maintaining state across + asynchronous tasks and call contexts. + + + Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original + NLog library so that state can be maintained for multiple threads in asynchronous situations. + + + + + Simulate ImmutableDictionary behavior (which is not yet part of all .NET frameworks). + In future the real ImmutableDictionary could be used here to minimize memory usage and copying time. + + Must be true for any subsequent dictionary modification operation + + + + + Gets the current logical context named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current logical context named item, as . + + Item name. + The to use when converting a value to a string. + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current logical context named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Sets the current logical context item to the specified value. + + Item name. + Item value. + + + + Sets the current logical context item to the specified value. + + Item name. + Item value. + + + + Returns all item names + + A collection of the names of all items in current logical context. + + + + Checks whether the specified exists in current logical context. + + Item name. + A boolean indicating whether the specified exists in current logical context. + + + + Removes the specified from current logical context. + + Item name. + + + + Clears the content of current logical context. + + + + + Clears the content of current logical context. + + Free the full slot. + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + TraceListener which routes all messages through NLog. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, writes the specified message to the listener you create in the derived class. + + A message to write. + + + + When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. + + A message to write. + + + + When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. + + + + + Emits an error message. + + A message to emit. + + + + Emits an error message and a detailed error message. + + A message to emit. + A detailed message to emit. + + + + Flushes the output (if is not true) buffer with the default timeout of 15 seconds. + + + + + Writes trace information, a data object and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + The trace data to emit. + + + + Writes trace information, an array of data objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + An array of objects to emit as data. + + + + Writes trace and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + + + + Writes trace information, a formatted array of objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A format string that contains zero or more format items, which correspond to objects in the array. + An object array containing zero or more objects to format. + + + + Writes trace information, a message, and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A message to write. + + + + Writes trace information, a message, a related activity identity and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + A numeric identifier for the event. + A message to write. + A object identifying a related activity. + + + + Gets the custom attributes supported by the trace listener. + + + A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. + + + + + Translates the event type to level from . + + Type of the event. + Translated log level. + + + + Process the log event + The log level. + The name of the logger. + The log message. + The log parameters. + The event id. + The event type. + The related activity id. + + + + + Gets or sets the log factory to use when outputting messages (null - use LogManager). + + + + + Gets or sets the default log level. + + + + + Gets or sets the log which should be always used regardless of source level. + + + + + Gets or sets a value indicating whether flush calls from trace sources should be ignored. + + + + + Gets a value indicating whether the trace listener is thread safe. + + + true if the trace listener is thread safe; otherwise, false. The default is false. + + + + Gets or sets a value indicating whether to use auto logger name detected from the stack trace. + + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console with customizable coloring. + + Documentation on NLog Wiki + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified log event to the console highlighting entries + and words based on a set of defined rules. + + Log event. + + + + Gets or sets a value indicating whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + + Gets or sets a value indicating whether to use default row highlighting rules. + + + The default rules are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConditionForeground ColorBackground Color
level == LogLevel.FatalRedNoChange
level == LogLevel.ErrorYellowNoChange
level == LogLevel.WarnMagentaNoChange
level == LogLevel.InfoWhiteNoChange
level == LogLevel.DebugGrayNoChange
level == LogLevel.TraceDarkGrayNoChange
+
+ +
+ + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available. + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Gets the row highlighting rules. + + + + + + Gets the word highlighting rules. + + + + + + Color pair (foreground and background). + + + + + Colored console output color. + + + Note that this enumeration is defined to be binary compatible with + .NET 2.0 System.ConsoleColor + some additions + + + + + Black Color (#000000). + + + + + Dark blue Color (#000080). + + + + + Dark green Color (#008000). + + + + + Dark Cyan Color (#008080). + + + + + Dark Red Color (#800000). + + + + + Dark Magenta Color (#800080). + + + + + Dark Yellow Color (#808000). + + + + + Gray Color (#C0C0C0). + + + + + Dark Gray Color (#808080). + + + + + Blue Color (#0000FF). + + + + + Green Color (#00FF00). + + + + + Cyan Color (#00FFFF). + + + + + Red Color (#FF0000). + + + + + Magenta Color (#FF00FF). + + + + + Yellow Color (#FFFF00). + + + + + White Color (#FFFFFF). + + + + + Don't change the color. + + + + + The row-highlighting condition. + + + + + Initializes static members of the ConsoleRowHighlightingRule class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The condition. + Color of the foreground. + Color of the background. + + + + Checks whether the specified log event matches the condition (if any). + + + Log event. + + + A value of if the condition is not defined or + if it matches, otherwise. + + + + + Gets the default highlighting rule. Doesn't change the color. + + + + + Gets or sets the condition that must be met in order to set the specified foreground and background color. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Highlighting rule for Win32 colorful console. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text to be matched.. + Color of the foreground. + Color of the background. + + + + Get regex options. + + Default option to start with. + + + + + Get Expression for a . + + + + + + Replace regex result + + + + + + + Gets or sets the regular expression to be matched. You must specify either text or regex. + + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Gets or sets the text to be matched. You must specify either text or regex. + + + + + + Gets or sets a value indicating whether to match whole words only. + + + + + + Gets or sets a value indicating whether to ignore case when comparing texts. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. + + Access this property will compile the Regex. + + + + Information about database command + parameters. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the type of the command. + + The type of the command. + + + + + Gets or sets the connection string to run the command against. If not provided, connection string from the target is used. + + + + + + Gets or sets the command text. + + + + + + Gets or sets a value indicating whether to ignore failures. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + Represents a parameter to a Database target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the parameter. + The parameter layout. + + + + Gets or sets the database parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Gets or sets the database parameter size. + + + + + + Gets or sets the database parameter precision. + + + + + + Gets or sets the database parameter scale. + + + + + + Writes log messages to the database using an ADO.NET provider. + + Documentation on NLog Wiki + + + The configuration is dependent on the database type, because + there are differnet methods of specifying connection string, SQL + command and command parameters. + + MS SQL Server using System.Data.SqlClient: + + Oracle using System.Data.OracleClient: + + Oracle using System.Data.OleDBClient: + + To set up the log target programmatically use code like this (an equivalent of MSSQL configuration): + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the database. It creates + a new database command, prepares parameters for it by calculating + layouts and executes the command. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Build the connectionstring from the properties. + + + Using at first, and falls back to the properties , + , and + + Event to render the layout inside the properties. + + + + + Gets or sets the name of the database provider. + + + + The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are: + +
    +
  • System.Data.SqlClient - SQL Sever Client
  • +
  • System.Data.SqlServerCe.3.5 - SQL Sever Compact 3.5
  • +
  • System.Data.OracleClient - Oracle Client from Microsoft (deprecated in .NET Framework 4)
  • +
  • Oracle.DataAccess.Client - ODP.NET provider from Oracle
  • +
  • System.Data.SQLite - System.Data.SQLite driver for SQLite
  • +
  • Npgsql - Npgsql driver for PostgreSQL
  • +
  • MySql.Data.MySqlClient - MySQL Connector/Net
  • +
+ (Note that provider invariant names are not supported on .NET Compact Framework). + + Alternatively the parameter value can be be a fully qualified name of the provider + connection type (class implementing ) or one of the following tokens: + +
    +
  • sqlserver, mssql, microsoft or msde - SQL Server Data Provider
  • +
  • oledb - OLEDB Data Provider
  • +
  • odbc - ODBC Data Provider
  • +
+
+ +
+ + + Gets or sets the name of the connection string (as specified in <connectionStrings> configuration section. + + + + + + Gets or sets the connection string. When provided, it overrides the values + specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + + Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + + Gets the installation DDL commands. + + + + + + Gets the uninstallation DDL commands. + + + + + + Gets or sets a value indicating whether to keep the + database connection open between the log events. + + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. + + Gets or sets a value indicating whether to use database transactions. + Some data providers require this. + + + + This option was removed in NLog 4.0 because the logging code always runs outside of transaction. + This ensures that the log gets written to the database if you rollback the main transaction because of an error and want to log the error. + + + + + Gets or sets the database host name. If the ConnectionString is not provided + this value will be used to construct the "Server=" part of the + connection string. + + + + + + Gets or sets the database user name. If the ConnectionString is not provided + this value will be used to construct the "User ID=" part of the + connection string. + + + + + + Gets or sets the database password. If the ConnectionString is not provided + this value will be used to construct the "Password=" part of the + connection string. + + + + + + Gets or sets the database name. If the ConnectionString is not provided + this value will be used to construct the "Database=" part of the + connection string. + + + + + + Gets or sets the text of the SQL command to be run on each log level. + + + Typically this is a SQL INSERT statement or a stored procedure call. + It should use the database-specific parameters (marked as @parameter + for SQL server or :parameter for Oracle, other data providers + have their own notation) and not the layout renderers, + because the latter is prone to SQL injection attacks. + The layout renderers should be specified as <parameter /> elements instead. + + + + + + Gets or sets the type of the SQL command to be run on each log level. + + + This specifies how the command text is interpreted, as "Text" (default) or as "StoredProcedure". + When using the value StoredProcedure, the commandText-property would + normally be the name of the stored procedure. TableDirect method is not supported in this context. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Writes log message to the Event Log. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. + + + + + Writes the specified logging event to the event log. + + The logging event. + + + + Get the entry type for logging the message. + + The logging event - for rendering the + + + + + Get the source, if and only if the source is fixed. + + null when not + Internal for unit tests + + + + Get the eventlog to write to. + + Event if the source needs to be rendered. + + + + + (re-)create a event source, if it isn't there. Works only with fixed sourcenames. + + sourcenaam. If source is not fixed (see , then pass null or emptystring. + always throw an Exception when there is an error + + + + Gets or sets the name of the machine on which Event Log service is running. + + + + + + Gets or sets the layout that renders event ID. + + + + + + Gets or sets the layout that renders event Category. + + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Gets or sets the value to be used as the event Source. + + + By default this is the friendly name of the current AppDomain. + + + + + + Gets or sets the name of the Event Log to write to. This can be System, Application or + any user-defined name. + + + + + + Gets or sets the message length limit to write to the Event Log. + + MaxMessageLength cannot be zero or negative + + + + Gets or sets the action to take if the message is larger than the option. + + + + + + Action that should be taken if the message is greater than + the max message size allowed by the Event Log. + + + + + Truncate the message before writing to the Event Log. + + + + + Split the message and write multiple entries to the Event Log. + + + + + Discard of the message. It will not be written to the Event Log. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Gets or sets the file attributes (Windows only). + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages to a NLog Receiver Service (using WCF or Web Services). + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Called when log events are being sent (test hook). + + The events. + The async continuations. + True if events should be sent, false to stop processing them. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Append" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Creating a new instance of WcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creating a new instance of IWcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + + virtual is used by endusers + + + + Gets or sets the endpoint address. + + The endpoint address. + + + + + Gets or sets the name of the endpoint configuration in WCF configuration file. + + The name of the endpoint configuration. + + + + + Gets or sets a value indicating whether to use binary message encoding. + + + + + + Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + + Gets or sets the client ID. + + The client ID. + + + + + Gets the list of parameters. + + The parameters. + + + + + Gets or sets a value indicating whether to include per-event properties in the payload sent to the server. + + + + + + Sends log messages by email using SMTP protocol. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ Mail target works best when used with BufferingWrapper target + which lets you send multiple log messages in single mail +

+

+ To set up the buffered mail target in the configuration file, + use the following syntax: +

+ +

+ To set up the buffered mail target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Renders an array logging events. + + Array of logging events. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Create mail and send with SMTP + + event printed in the body of the event + + + + Create buffer for body + + all events + first event for header + last event for footer + + + + + Set properties of + + last event for username/password + client to set properties on + Configure not at , as the properties could have layout renderers. + + + + Handle if it is a virtual directory. + + + + + + + Create key for grouping. Needed for multiple events in one mailmessage + + event for rendering layouts + string to group on + + + + Append rendered layout to the stringbuilder + + append to this + event for rendering + append if not null + + + + Create the mailmessage with the addresses, properties and body. + + + + + Render and add the addresses to + + Addresses appended to this list + layout with addresses, ; separated + event for rendering the + added a address? + + + + Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration. + E.g when UseSystemNetMailSettings is enabled and we need to read the From attribute from system.net/mailSettings/smtp + + Internal for mocking + + + + Gets or sets sender's email address (e.g. joe@domain.com). + + + + + + Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets a value indicating whether to add new lines between log entries. + + A value of true if new lines should be added; otherwise, false. + + + + + Gets or sets the mail subject. + + + + + + Gets or sets mail message body (repeated for each log message send in one mail). + + Alias for the Layout property. + + + + + Gets or sets encoding to be used for sending e-mail. + + + + + + Gets or sets a value indicating whether to send message as HTML instead of plain text. + + + + + + Gets or sets SMTP Server to be used for sending. + + + + + + Gets or sets SMTP Authentication mode. + + + + + + Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + . + + + + Gets or sets the port number that SMTP Server is listening on. + + + + + + Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. + + + + + + Specifies how outgoing email messages will be handled. + + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + + Gets or sets the priority used for sending mails. + + + + + Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. +
+ Only happens when is set to true. +
+ + + Gets or sets a value indicating the SMTP client timeout. + + Warning: zero is not infinit waiting + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Outputs log messages through the OutputDebugString() Win32 API. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Outputs the rendered logging event through the OutputDebugString() Win32 API. + + The logging event. + + + + Increments specified performance counter on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+ + TODO: + 1. Unable to create a category allowing multiple counter instances (.Net 2.0 API only, probably) + 2. Is there any way of adding new counters without deleting the whole category? + 3. There should be some mechanism of resetting the counter (e.g every day starts from 0), or auto-switching to + another counter instance (with dynamic creation of new instance). This could be done with layouts. + +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Increments the configured performance counter. + + Log event. + + + + Closes the target and releases any unmanaged resources. + + + + + Ensures that the performance counter has been initialized. + + True if the performance counter is operational, false otherwise. + + + + Gets or sets a value indicating whether performance counter should be automatically created. + + + + + + Gets or sets the name of the performance counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the performance counter instance name. + + + + + + Gets or sets the counter help text. + + + + + + Gets or sets the performance counter type. + + + + + + The value by which to increment the counter. + + + + + + SMTP authentication modes. + + + + + No authentication. + + + + + Basic - username and password. + + + + + NTLM Authentication. + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Sends log messages through System.Diagnostics.Trace. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Writes the specified logging event to the facility. + If the log level is greater than or equal to it uses the + method, otherwise it uses + method. + + The logging event. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Win32 file attributes. + + + For more information see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. + + + + + Read-only file. + + + + + Hidden file. + + + + + System file. + + + + + File should be archived. + + + + + Device file. + + + + + Normal file. + + + + + File is temporary (should be kept in cache and not + written to disk if possible). + + + + + Sparse file. + + + + + Reparse point. + + + + + Compress file contents. + + + + + File should not be indexed by the content indexing service. + + + + + Encrypted file. + + + + + The system writes through any intermediate cache and goes directly to disk. + + + + + The system opens a file with no system caching. + + + + + Delete file after it is closed. + + + + + A file is accessed according to POSIX rules. + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Impersonates another user for the duration of the write. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes the impersonation context. + + + + + Closes the impersonation context. + + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + Log events. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Gets or sets username to change context to. + + + + + + Gets or sets the user account password. + + + + + + Gets or sets Windows domain name to change context to. + + + + + + Gets or sets the Logon Type. + + + + + + Gets or sets the type of the logon provider. + + + + + + Gets or sets the required impersonation level. + + + + + + Gets or sets a value indicating whether to revert to the credentials of the process instead of impersonating another user. + + + + + + Helper class which reverts the given + to its original value as part of . + + + + + Initializes a new instance of the class. + + The windows impersonation context. + + + + Reverts the impersonation context. + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Logon provider. + + + + + Use the standard logon provider for the system. + + + The default security provider is negotiate, unless you pass NULL for the domain name and the user name + is not in UPN format. In this case, the default provider is NTLM. + NOTE: Windows 2000/NT: The default security provider is NTLM. + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Impersonation level. + + + + + Anonymous Level. + + + + + Identification Level. + + + + + Impersonation Level. + + + + + Delegation Level. + + + + + Logon type. + + + + + Interactive Logon. + + + This logon type is intended for users who will be interactively using the computer, such as a user being logged on + by a terminal server, remote shell, or similar process. + This logon type has the additional expense of caching logon information for disconnected operations; + therefore, it is inappropriate for some client/server applications, + such as a mail server. + + + + + Network Logon. + + + This logon type is intended for high performance servers to authenticate plaintext passwords. + The LogonUser function does not cache credentials for this logon type. + + + + + Batch Logon. + + + This logon type is intended for batch servers, where processes may be executing on behalf of a user without + their direct intervention. This type is also for higher performance servers that process many plaintext + authentication attempts at a time, such as mail or Web servers. + The LogonUser function does not cache credentials for this logon type. + + + + + Logon as a Service. + + + Indicates a service-type logon. The account provided must have the service privilege enabled. + + + + + Network Clear Text Logon. + + + This logon type preserves the name and password in the authentication package, which allows the server to make + connections to other network servers while impersonating the client. A server can accept plaintext credentials + from a client, call LogonUser, verify that the user can access the system across the network, and still + communicate with other servers. + NOTE: Windows NT: This value is not supported. + + + + + New Network Credentials. + + + This logon type allows the caller to clone its current token and specify new credentials for outbound connections. + The new logon session has the same local identifier but uses different credentials for other network connections. + NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. + NOTE: Windows NT: This value is not supported. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/net45/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/net45/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..5cc6a251bc5d8d5ee998853ff4d2009e39f33221 GIT binary patch literal 600064 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⪼-|^-QA7*gOJ4;;ek!nA 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

i`S>)p}TQCKY{nB-=P1A^Ude3 z!E@(wT~!(8^J$G<_nQ~Zhe0W;h)id_M(G2 zh|ILeza{WhQ=JlD@^CgBDFBsCU z^FFmdLq5OXiEKV6wsXHmEAu{ejO#qc`9`Z1=s##)I^)0{xWA>+dVMD`Ugo(N^_Nh8 zJAb==-7m-Xj-s|N0w-)7whpO}Bb+5!iL zx?@kn|GcC)vke}d-yM_p>rVO$`UZWQ{+gbo-Si{+$^6}!U6}9F`R2a#Us?a>{585B zT43r~3(WQg(!q2XEn09k^cm(EMYm?14P}lrc__sDj(*)tSa3Q+?q5vHI>Xn+7d)Pk zOmiP3H`Bas24|Y@1A{Zo{g*?Ta(_Lz!zZ|Kx?{`!DXZ>hGhwhnVkm z_ofcjWu$^9#pY+t9xq%JuP8xF0#aFqSRX^Vb$0vRaYh#%ZIdC zzd-&Tve~~j>w5fT{(Jb``M#d7&FY4aFKW~48!&wY_y0u3$Ed%uD5Ae-FCVhD@BSq3 zx0LaCjLtNlbCUXa`eQ12JV$4m`-Nrt{_pZ3m6_&ybAER2HI~|YYku}%xbN1vy5I1z zb2H6#WuzK)K;ExL^1l8^btU>)i$7Vaxz_=P@eBb49T+8#jj?c$gexJe5x$ymH|Kc`%o$7{b^*n9XM!K2qru*T0=Xb@P zfj7?^s`q2m0^^z`L&N+&5`GTt>zC~2dd%mG)+HSwIqzS_=Zto=zaCDof0Okt@}HNC z&;A2!QB79%XiJ@0Ql32wwy2@jSU4~=)UxTkt@3$zs8y+RS8OqiE;Yv`Z)rvLD&!IH zK{yV|=a9}hCo(o8KRlz6=g0cY-N=6!*U0muk>|(w@C&Fvzx0sxV>mE0GV=|1L+D7B zc|M=weszWA``ZF1mU$ZOi=Elo;W79;>U4$WdtNOx-)nMtAF4Jo2<^`}3wd5NXHG_* zkvfqv4gLh)tTnIaP=@h^@Tt&%{R;PoQu=%?ws1YWz*3hlGyZ3GZFU{T_5Iuu-&eBD z{hf;N6R6*?Y)!Vj{wkNP&pv{D^Rn%Ff8~ATL*&|JdwG8B=lOBMlKUq6mYuNvg!X@1 z)|@H#?`EXRGtJNY3M1w^+RF3#Ajh|J{87G+(>(unh*WukmPFPoA++))sysr___vbc@iDa4k?x!=%{l8qcpU!v& z*ZnzJxmo;Nn`N$(kt}naiRjPS!^aNJ;{ClW-rvhI*D17Pd+$dI^?cR06>?l5$Bkef z&Fz&L^OMY#+}>RFtK>S&{rvB%?fQE~vGtUGemAaIs9#qPuc*@FUmjD%b=7cPHC)$F zeSM#r*vtDo`>FYP3w|Gf_idlb_z~8B6h9P@`#Dn+L-l=zpVXS4(;usy%byF(4gV4S zULG?t^S)BNPld)?TSS%8>vraKv&-Yhyzs!2ykF3lxpU>9nb+4RRr`Nr+ ztcuT59oN5-$EPuCUW@$vw?qG2exKT|?~~PD)~1igK6NNto(J(aSkDKycUjksv(#U2 z@5ruz_`QSdh438mYPb*i0eF>lBzp@p$LaafXqW5jb$1-eK8W_@9mhHTIL965xZ~X3 zaozt>^y};Y3C2Bj$6l^;f0q0PSk&5|^&jw~+xKVXS@=2N%GNAd=M^gtW|?*F&zdtH z*YlP8vm&Vf_Z{t7X59y~WZkuwwP%@iw`a+^H;ie|GV4Cdd5?15be62YdF4^gbClap zXPNb-vt)fQtvts1F^+qe>phmWPOsw_#~)i=&ur_KA?rqxyY z{`v5+ZI+LDA6eaIb;0iq8XPs>f2#PsJCPsYCboPh??ug z=&1RgW`2+0=(y2(T^q)XRDKBb*p*IPwQNxuEcgH6xOJ_;EnKEh|fnnp2h>rTeD0aRb-q{R26*{+pWE< zTg}3J`;?h~cahnyD4%)79TKpD4Y8AlZvClsw@|Fu!`KDjn(-Z$4q z<$L(eL)J#k_vf`y^YfKDp7+f;XKOb3+T7UUo=GHIk z=JmfnYVIHGkDB`it<0^=dztq#pH-Wl#Qm!EZ8`F~?#w@H$@ip}!e{l*gI@}t$e4=# zXi?oU`TZb2r(FMDlAqJc?>h&19XJ>@pBpN9AETYunRb0VFL=OwZo=p@^6TX1Iw!e*Pi5SNd|~2P zRDNFf;Df!^gFjG5~x-a+vE z;`eA+AI*9h=Piqw^QYL7pT`_f#!yCC%$#3kF>_w!#?1Y<@!<+=Zz6tQZ!x@Kqm@|$ zD>ohw$?wJ7jJytcTV-vwoG&eM-vH0^l8s4juaXYUY(l?r4}BIs2(NqSRQRYb+dmaH zuj8{}d0(0O(D9t_qTZs8=llx&@O?Gs9Gv~oiJbFne4l)%J7+Xp^3Z2}=Ua}9>%@ly z`8}eVhvw?-6YH<6oLj-U6!(ko>A(AFn~{TVlA5*O%vh1N|q4%>DG2$E?x6r}}dK+%T^P`o72K^;TpJ z`r*H3i!{LHldQ-t*dDSX&%g^eSrPXavMwv~1eNdKlI3{ieWgMlx2;(fxj#i6zt0)z z!Z>@=UOvzJweowQAEN&FqP=?E7td?u^Kg*Q!@-!jpVG?bV{gpduQb2k^75Fj&_6J~ zu%TVgcQqZ~u#)4tLgqeOSLnR!<$FduUl03Z=JU?}FSGf1#r~N2ImL<4CFuX126G?p zxrP&#+^;-}EcKr@nD4{CYWOUp1bNYbquj5fF>_r%8Z+1R&obn^&27xr_XS>2pJhx! z|Ec&n;0^G5gVK6jv2~1^`;R|t+#5CbC*S?DzIC#EpFH_x-i7>mV=uG0KY`z?;rEic z`gJmVY%FT7*RiPi{lU{bKhE&{7^NFQlZfte?8p@rTub@zi4}~e!3g?*U|qmw%?38zPE-RL2gmw_0QpO z{_uWalKWZ7{WL#sdwEQST844Op+lMHa3660wxgE$K0KGtN0mNqZ(daM`@dA~kG^@)cK!aiv#gcJ<6yR_@1-a7 ze6?4d$i086e&5U81o88R-0iUXsuQ8Tu&|+3&x`x!oWC{O+&?}MS~yL{or*4pxF4$T z)34i6Y?nFHh zBiFB=)SCN%^%-fd{}`Y5clo@VpA+s=Nv=Q1&z;E(^L}Z54`j$=r}Xm@f6U|(Xvr!K%_nYtK{wz?FL zH|ct%ew?LS=iT1&QgzjYZZb=DPlbgdD1Y_vw=ajP{JkK3&Yc-&>#c-(7E!Q+$G zR6OptX5!Ja=Hjsx|BY2tJ!>t&<3Xz$k1tp&@YrtMiN{y0yYYC`x(|=ORfosHA=#H9 zA=#JVA=#IBNcN>LB>Qq@NcLq!NY>e^dp@gs9@ITw&^_CA&sTKM_jR9>x=*0{^qM)t zvX#QHY~{+ZY-L1PwsLj&Vk=K=4WB6HtWal;W1C0j4Ztn&rycV zFfK!8D9ex;>uhYG|I?oAC)ApUgP#;ynChwBTYK2R-%$J+@ts zeMOHtnjy#B&yeGj)~&zLt;f(BQ}1TfUK~^JXWWIylNtBmG0384w5+MA3?8vBS+ZYt z)_FJ%<+_s0lD)erOZKiZOODTUU7wXD`*@2UyBLolwI*vp37)~Ieg>oZ8I0;@Fsh%y zsD1{c`WcMMGkA4WpY2iE>v2&z)5@Z9rrA+B(~?m+({75&nN}H&a}BvInx$I znPFVE%utps$I8x@W0lO7 zV|7#ZB^iU%Z1lu`b*dj1>c_?UF{K}u>&IF=V!!m`Rz2r-%sEK?Rkxni^?&OBoslE6 z#qbzaxj9o3Q8hqUF3^udb^Q|kxEGIk>P${UVV)|>{dp0NZLW-3ohxfzn=5O+AHRNw z<1j$#@c~jV93b^82S|Oy0NIzT2k5hLfIRQx2FUYXHb9f~^1Lq?AkTZ%0D0cW)6ZLi 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 + + + NLog + + + +

+ Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Write internal messages to the . + + A message to write. + + Works when property set to true. + The is used in Debug and Relese configuration. + The works only in Debug configuration and this is reason why is replaced by . + in DEBUG + + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the . + + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + NLog configuration section handler class for configuring NLog from App.config. + + + + + Creates a configuration section handler. + + Parent object. + Configuration context object. + Section XML node. + The created section handler object. + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Mapping between log levels and console output colors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Arguments for . + + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + The exception during configuration reload. + + + + Gets a value indicating whether configuration reload has succeeded. + + A value of true if succeeded; otherwise, false. + + + + Gets the exception which occurred during configuration reload. + + The exception. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Stack trace should be captured including source-level information such as line numbers. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + If set to true errors will be ignored during file processing. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Gets the default object by parsing + the application configuration file (app.exe.config). + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described
here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A global logging class using caller info to find the logger. + + + + + Starts building a log event with the specified . + + The log level. + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Trace level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Debug level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Info level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Warn level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Error level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + Starts building a log event at the Fatal level. + + The full path of the source file that contains the caller. This is the file path at the time of compile. + An instance of the fluent . + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + The method or property name of the caller to the method. This is set at by the compiler. + The full path of the source file that contains the caller. This is set at by the compiler. + The line number in the source file at which the method is called. This is set at by the compiler. + + + + Writes the log event to the underlying logger if the condition delegate is true. + + If condition is true, write log event; otherwise ignore event. + The method or property name of the caller to the method. This is set at by the compiler. + The full path of the source file that contains the caller. This is set at by the compiler. + The line number in the source file at which the method is called. This is set at by the compiler. + + + + Writes the log event to the underlying logger if the condition is true. + + If condition is true, write log event; otherwise ignore event. + The method or property name of the caller to the method. This is set at by the compiler. + The full path of the source file that contains the caller. This is set at by the compiler. + The line number in the source file at which the method is called. This is set at by the compiler. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Logs an exception is logged at Error level if the provided task does not run to completion. + + The task for which to log an error if it does not run to completion. + This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations. + + + + Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion. + + The task for which to log an error if it does not run to completion. + A task that completes in the state when completes. + + + + Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Async action to execute. + A task that completes in the state when completes. + + + + Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Async function to run. + A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type . + + + + Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Async function to run. + Fallback value to return if the task does not end in the state. + A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format.s + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Internal configuration manager used to read .NET configuration files. + Just a wrapper around the BCL ConfigurationManager, but used to enable + unit testing. + + + + + Interface for the wrapper around System.Configuration.ConfigurationManager. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex for archiving that is sharable by more than one process. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex that is sharable by more than one process. + + The prefix to use for the name of the mutex. + A object which is sharable by multiple processes. + + + + Gets the mutually-exclusive lock for archiving files. + + The mutex for archiving. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + Invalidates appenders for all files that were archived. + + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + The archive file path pattern that is used to detect when archiving occurs. + + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets the file attributes (Windows only). + + + + + Should we capture the last write time of a file? + + + + + Provides a multiprocess-safe atomic file appends while + keeping the files open. + + + On Unix you can get all the appends to be atomic, even when multiple + processes are trying to write to the same file, because setting the file + pointer to the end of the file and appending can be made one operation. + On Win32 we need to maintain some synchronization between processes + (global named mutex is used for this) + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Provides a multiprocess-safe atomic file append while + keeping the files open. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Creates or opens a file in a special mode, so that writes are automatically + as atomic writes at the file end. + See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms. + + File to create or open + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Supports mocking of SMTP Client code. + + + + + Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. + + + System.Net.Mail.MailMessage + MailMessage + A MailMessage that contains the message to send. + + + + Specifies how outgoing email messages will be handled. + + + + + Gets or sets the name or IP address of the host used for SMTP transactions. + + + + + Gets or sets the port used for SMTP transactions. + + + + + Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. + + + + + Gets or sets the credentials used to authenticate the sender. + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Watches multiple files at the same time and raises an event whenever + a single change is detected in any of those files. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Stops watching all files. + + + + + Stops watching the specified file. + + + + + + Watches the specified files for changes. + + The file names. + + + + The types of changes to watch for. + + + + + Occurs when a change is detected in one of the monitored files. + + + + + Supports mocking of SMTP Client code. + + + Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, + we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendToAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Sends messages over the network as UDP datagrams. + + + + + Initializes a new instance of the class. + + URL. Must start with udp://. + The address family. + + + + Creates the socket. + + The address family. + Type of the socket. + Type of the protocol. + Implementation of to use. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Sends the specified text as a UDP datagram. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Portable implementation of . + + + + + Returns details about current process and thread in a portable manner. + + + + + Initializes static members of the ThreadIDHelper class. + + + + + Gets the singleton instance of PortableThreadIDHelper or + Win32ThreadIDHelper depending on runtime environment. + + The instance. + + + + Gets current process ID. + + + + + Gets current process name. + + + + + Gets current process name (excluding filename extension, if any). + + + + + Initializes a new instance of the class. + + + + + Gets the name of the process. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Win32-optimized implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Win32-optimized implementation of . + + + + + Initializes a new instance of the class. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + The names of caller information attributes. + https://msdn.microsoft.com/en-us/library/hh534540.aspx + + + + + Also render the call attributes? (, + , ). + + + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Also render the caller information attributes? (, + , ). + + See https://msdn.microsoft.com/en-us/library/hh534540.aspx + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Used to render the application domain name. + + + + + Create a new renderer + + + + + Create a new renderer + + + + + Render the layout + + + + + + + Convert the formatting string + + + + + + + Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" + The first parameter is the , the second the second the + This string is used in + + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + cached + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Use base dir of current process. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets or sets a value indicating whether to render the source file name and line number. + + + + + + Gets or sets a value indicating whether to include source file path. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The call site source line number. Full callsite + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The environment variable. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the environment variable. + + + + + + Gets or sets the default value to be used when the environment variable is not set. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Thread identity information (name and authentication information). + + + + + Initializes a new instance of the class. + + + + + Renders the specified identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the separator to be used when concatenating + parts of identity information. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The machine name that the process is running on. + + + + + Initializes the layout renderer. + + + + + Renders the machine name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Mapped Diagnostic Logical Context item (based on CallContext). + + + + + Renders the specified MDLC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The directory where NLog.dll is located. + + + + + Initializes static members of the NLogDirLayoutRenderer class. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The performance counter. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the name of the performance counter instance (e.g. this.Global_). + + + + + + Gets or sets the name of the machine to read the performance counter from. + + + + + + The identifier of the current process. + + + + + Renders the current process ID. + + The to append the rendered data to. + Logging event. + + + + The information about the running process. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) + + + + + + Property of System.Diagnostics.Process to retrieve. + + + + + Base Priority. + + + + + Exit Code. + + + + + Exit Time. + + + + + Process Handle. + + + + + Handle Count. + + + + + Whether process has exited. + + + + + Process ID. + + + + + Machine name. + + + + + Handle of the main window. + + + + + Title of the main window. + + + + + Maximum Working Set. + + + + + Minimum Working Set. + + + + + Non-paged System Memory Size. + + + + + Non-paged System Memory Size (64-bit). + + + + + Paged Memory Size. + + + + + Paged Memory Size (64-bit).. + + + + + Paged System Memory Size. + + + + + Paged System Memory Size (64-bit). + + + + + Peak Paged Memory Size. + + + + + Peak Paged Memory Size (64-bit). + + + + + Peak Virtual Memory Size. + + + + + Peak Virtual Memory Size (64-bit).. + + + + + Peak Working Set Size. + + + + + Peak Working Set Size (64-bit). + + + + + Whether priority boost is enabled. + + + + + Priority Class. + + + + + Private Memory Size. + + + + + Private Memory Size (64-bit). + + + + + Privileged Processor Time. + + + + + Process Name. + + + + + Whether process is responding. + + + + + Session ID. + + + + + Process Start Time. + + + + + Total Processor Time. + + + + + User Processor Time. + + + + + Virtual Memory Size. + + + + + Virtual Memory Size (64-bit). + + + + + Working Set Size. + + + + + Working Set Size (64-bit). + + + + + The name of the current process. + + + + + Renders the current process name (optionally with a full path). + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to write the full path to the process executable. + + + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to normalize the result by subtracting + it from the result of the first call (so that it's effectively zero-based). + + + + + + Gets or sets a value indicating whether to output the difference between the result + of QueryPerformanceCounter and the previous one. + + + + + + Gets or sets a value indicating whether to convert the result to seconds by dividing + by the result of QueryPerformanceFrequency(). + + + + + + Gets or sets the number of decimal digits to be included in output. + + + + + + Gets or sets a value indicating whether to align decimal point (emit non-significant zeros). + + + + + + A value from the Registry. + + + + + Create new renderer + + + + + Reads the specified registry key and value and appends it to + the passed . + + The to append the rendered data to. + Logging event. Ignored. + + + + Parse key to and subkey. + + full registry key name + Result of parsing, never null. + + + + Aliases for the hives. See https://msdn.microsoft.com/en-us/library/ctb3kd86(v=vs.110).aspx + + + + + Gets or sets the registry value name. + + + + + + Gets or sets the value to be output when the specified registry key or value is not found. + + + + + + Require escaping backward slashes in . Need to be backwardscompatible. + + When true: + + `\` in value should be configured as `\\` + `\\` in value should be configured as `\\\\`. + + Default value wasn't a Layout before and needed an escape of the slash + + + + Gets or sets the registry view (see: https://msdn.microsoft.com/de-de/library/microsoft.win32.registryview.aspx). + Allowed values: Registry32, Registry64, Default + + + + + Gets or sets the registry key. + + + HKCU\Software\NLogTest + + + Possible keys: +
    +
  • HKEY_LOCAL_MACHINE
  • +
  • HKLM
  • +
  • HKEY_CURRENT_USER
  • +
  • HKCU
  • +
  • HKEY_CLASSES_ROOT
  • +
  • HKEY_USERS
  • +
  • HKEY_CURRENT_CONFIG
  • +
  • HKEY_DYN_DATA
  • +
  • HKEY_PERFORMANCE_DATA
  • +
+
+ +
+ + + Has ? + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + A renderer that puts into log a System.Diagnostics trace correlation id. + + + + + Renders the current trace activity ID. + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Thread Windows identity information (username). + + + + + Initializes a new instance of the class. + + + + + Renders the current thread windows identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether domain name should be included. + + + + + + Gets or sets a value indicating whether username should be included. + + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes static members of the LogManager class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time + will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Raises the event when the configuration is reloaded. + + Event arguments + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Logs an exception is logged at Error level if the provided task does not run to completion. + + The task for which to log an error if it does not run to completion. + This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations. + + + + Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion. + + The task for which to log an error if it does not run to completion. + A task that completes in the state when completes. + + + + Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Async action to execute. + + + + Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Async function to run. + A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type . + + + + Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Async function to run. + Fallback value to return if the task does not end in the state. + A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Base implementation of a log receiver server which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Processes the log messages. + + The events to process. + + + + Processes the log messages. + + The log events. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Client of + + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Gets the underlying implementation. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Log Receiver Client using WCF. + + + This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release. + + It provides an implementation of the legacy interface and it will be completely obsolete when the + ILogReceiverClient is removed. + + + + + Abstract base class for the WcfLogReceiverXXXWay classes. It can only be + used internally (see internal constructor). It passes off any Channel usage + to the inheriting class. + + Type of the WCF service. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client facade. It allows the use either of the one way or two way + service contract using WCF through its unified interface. + + + Delegating methods are generated with Resharper. + 1. change ProxiedClient to private field (instead of public property) + 2. delegate members + 3. change ProxiedClient back to public property. + + + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + The binding. + The remote address. + + + + Causes a communication object to transition immediately from its current state into the closed state. + + + + + Begins an asynchronous operation to close a communication object. + + + The that references the asynchronous close operation. + + The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to close a communication object with a specified timeout. + + + The that references the asynchronous close operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to open a communication object. + + + The that references the asynchronous open operation. + + The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins an asynchronous operation to open a communication object within a specified interval of time. + + + The that references the asynchronous open operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Causes a communication object to transition from its current state into the closed state. + + The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Causes a communication object to transition from its current state into the closed state. + + was called on an object in the state.The default close timeout elapsed before the was able to close gracefully. + + + + Closes the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Completes an asynchronous operation to close a communication object. + + The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Completes an asynchronous operation to open a communication object. + + The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. + + + + Ends asynchronous processing of log messages. + + The result. + + + + Causes a communication object to transition from the created state into the opened state. + + The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Causes a communication object to transition from the created state into the opened state within a specified interval of time. + + The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Causes a communication object to transition from its current state into the closed state. + + + + + The client getting proxied + + + + + Do we use one-way or two-way messaging? + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Occurs when Close operation has completed. + + + + + Occurs when the communication object completes its transition from the closing state into the closed state. + + + + + Occurs when the communication object first enters the closing state. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Occurs when the communication object first enters the faulted state. + + + + + Gets the underlying implementation. + + + + + Occurs when Open operation has completed. + + + + + Occurs when the communication object completes its transition from the opening state into the opened state. + + + + + Occurs when the communication object first enters the opening state. + + + + + Occurs when the log message processing has completed. + + + + + Gets the current state of the communication-oriented object. + + + The value of the of the object. + + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary + of strings and provides methods to output them in layouts. Allows for maintaining state across + asynchronous tasks and call contexts. + + + Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original + NLog library so that state can be maintained for multiple threads in asynchronous situations. + + + + + Simulate ImmutableDictionary behavior (which is not yet part of all .NET frameworks). + In future the real ImmutableDictionary could be used here to minimize memory usage and copying time. + + Must be true for any subsequent dictionary modification operation + + + + + Gets the current logical context named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current logical context named item, as . + + Item name. + The to use when converting a value to a string. + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current logical context named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Sets the current logical context item to the specified value. + + Item name. + Item value. + + + + Sets the current logical context item to the specified value. + + Item name. + Item value. + + + + Returns all item names + + A collection of the names of all items in current logical context. + + + + Checks whether the specified exists in current logical context. + + Item name. + A boolean indicating whether the specified exists in current logical context. + + + + Removes the specified from current logical context. + + Item name. + + + + Clears the content of current logical context. + + + + + Clears the content of current logical context. + + Free the full slot. + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + TraceListener which routes all messages through NLog. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, writes the specified message to the listener you create in the derived class. + + A message to write. + + + + When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. + + A message to write. + + + + When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. + + + + + Emits an error message. + + A message to emit. + + + + Emits an error message and a detailed error message. + + A message to emit. + A detailed message to emit. + + + + Flushes the output (if is not true) buffer with the default timeout of 15 seconds. + + + + + Writes trace information, a data object and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + The trace data to emit. + + + + Writes trace information, an array of data objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + An array of objects to emit as data. + + + + Writes trace and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + + + + Writes trace information, a formatted array of objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A format string that contains zero or more format items, which correspond to objects in the array. + An object array containing zero or more objects to format. + + + + Writes trace information, a message, and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A message to write. + + + + Writes trace information, a message, a related activity identity and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + A numeric identifier for the event. + A message to write. + A object identifying a related activity. + + + + Gets the custom attributes supported by the trace listener. + + + A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. + + + + + Translates the event type to level from . + + Type of the event. + Translated log level. + + + + Process the log event + The log level. + The name of the logger. + The log message. + The log parameters. + The event id. + The event type. + The related activity id. + + + + + Gets or sets the log factory to use when outputting messages (null - use LogManager). + + + + + Gets or sets the default log level. + + + + + Gets or sets the log which should be always used regardless of source level. + + + + + Gets or sets a value indicating whether flush calls from trace sources should be ignored. + + + + + Gets a value indicating whether the trace listener is thread safe. + + + true if the trace listener is thread safe; otherwise, false. The default is false. + + + + Gets or sets a value indicating whether to use auto logger name detected from the stack trace. + + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console with customizable coloring. + + Documentation on NLog Wiki + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified log event to the console highlighting entries + and words based on a set of defined rules. + + Log event. + + + + Gets or sets a value indicating whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + + Gets or sets a value indicating whether to use default row highlighting rules. + + + The default rules are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConditionForeground ColorBackground Color
level == LogLevel.FatalRedNoChange
level == LogLevel.ErrorYellowNoChange
level == LogLevel.WarnMagentaNoChange
level == LogLevel.InfoWhiteNoChange
level == LogLevel.DebugGrayNoChange
level == LogLevel.TraceDarkGrayNoChange
+
+ +
+ + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available. + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Gets the row highlighting rules. + + + + + + Gets the word highlighting rules. + + + + + + Color pair (foreground and background). + + + + + Colored console output color. + + + Note that this enumeration is defined to be binary compatible with + .NET 2.0 System.ConsoleColor + some additions + + + + + Black Color (#000000). + + + + + Dark blue Color (#000080). + + + + + Dark green Color (#008000). + + + + + Dark Cyan Color (#008080). + + + + + Dark Red Color (#800000). + + + + + Dark Magenta Color (#800080). + + + + + Dark Yellow Color (#808000). + + + + + Gray Color (#C0C0C0). + + + + + Dark Gray Color (#808080). + + + + + Blue Color (#0000FF). + + + + + Green Color (#00FF00). + + + + + Cyan Color (#00FFFF). + + + + + Red Color (#FF0000). + + + + + Magenta Color (#FF00FF). + + + + + Yellow Color (#FFFF00). + + + + + White Color (#FFFFFF). + + + + + Don't change the color. + + + + + The row-highlighting condition. + + + + + Initializes static members of the ConsoleRowHighlightingRule class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The condition. + Color of the foreground. + Color of the background. + + + + Checks whether the specified log event matches the condition (if any). + + + Log event. + + + A value of if the condition is not defined or + if it matches, otherwise. + + + + + Gets the default highlighting rule. Doesn't change the color. + + + + + Gets or sets the condition that must be met in order to set the specified foreground and background color. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Highlighting rule for Win32 colorful console. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text to be matched.. + Color of the foreground. + Color of the background. + + + + Get regex options. + + Default option to start with. + + + + + Get Expression for a . + + + + + + Replace regex result + + + + + + + Gets or sets the regular expression to be matched. You must specify either text or regex. + + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Gets or sets the text to be matched. You must specify either text or regex. + + + + + + Gets or sets a value indicating whether to match whole words only. + + + + + + Gets or sets a value indicating whether to ignore case when comparing texts. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. + + Access this property will compile the Regex. + + + + Information about database command + parameters. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the type of the command. + + The type of the command. + + + + + Gets or sets the connection string to run the command against. If not provided, connection string from the target is used. + + + + + + Gets or sets the command text. + + + + + + Gets or sets a value indicating whether to ignore failures. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + Represents a parameter to a Database target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the parameter. + The parameter layout. + + + + Gets or sets the database parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Gets or sets the database parameter size. + + + + + + Gets or sets the database parameter precision. + + + + + + Gets or sets the database parameter scale. + + + + + + Writes log messages to the database using an ADO.NET provider. + + Documentation on NLog Wiki + + + The configuration is dependent on the database type, because + there are differnet methods of specifying connection string, SQL + command and command parameters. + + MS SQL Server using System.Data.SqlClient: + + Oracle using System.Data.OracleClient: + + Oracle using System.Data.OleDBClient: + + To set up the log target programmatically use code like this (an equivalent of MSSQL configuration): + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the database. It creates + a new database command, prepares parameters for it by calculating + layouts and executes the command. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Build the connectionstring from the properties. + + + Using at first, and falls back to the properties , + , and + + Event to render the layout inside the properties. + + + + + Gets or sets the name of the database provider. + + + + The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are: + +
    +
  • System.Data.SqlClient - SQL Sever Client
  • +
  • System.Data.SqlServerCe.3.5 - SQL Sever Compact 3.5
  • +
  • System.Data.OracleClient - Oracle Client from Microsoft (deprecated in .NET Framework 4)
  • +
  • Oracle.DataAccess.Client - ODP.NET provider from Oracle
  • +
  • System.Data.SQLite - System.Data.SQLite driver for SQLite
  • +
  • Npgsql - Npgsql driver for PostgreSQL
  • +
  • MySql.Data.MySqlClient - MySQL Connector/Net
  • +
+ (Note that provider invariant names are not supported on .NET Compact Framework). + + Alternatively the parameter value can be be a fully qualified name of the provider + connection type (class implementing ) or one of the following tokens: + +
    +
  • sqlserver, mssql, microsoft or msde - SQL Server Data Provider
  • +
  • oledb - OLEDB Data Provider
  • +
  • odbc - ODBC Data Provider
  • +
+
+ +
+ + + Gets or sets the name of the connection string (as specified in <connectionStrings> configuration section. + + + + + + Gets or sets the connection string. When provided, it overrides the values + specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + + Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + + Gets the installation DDL commands. + + + + + + Gets the uninstallation DDL commands. + + + + + + Gets or sets a value indicating whether to keep the + database connection open between the log events. + + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. + + Gets or sets a value indicating whether to use database transactions. + Some data providers require this. + + + + This option was removed in NLog 4.0 because the logging code always runs outside of transaction. + This ensures that the log gets written to the database if you rollback the main transaction because of an error and want to log the error. + + + + + Gets or sets the database host name. If the ConnectionString is not provided + this value will be used to construct the "Server=" part of the + connection string. + + + + + + Gets or sets the database user name. If the ConnectionString is not provided + this value will be used to construct the "User ID=" part of the + connection string. + + + + + + Gets or sets the database password. If the ConnectionString is not provided + this value will be used to construct the "Password=" part of the + connection string. + + + + + + Gets or sets the database name. If the ConnectionString is not provided + this value will be used to construct the "Database=" part of the + connection string. + + + + + + Gets or sets the text of the SQL command to be run on each log level. + + + Typically this is a SQL INSERT statement or a stored procedure call. + It should use the database-specific parameters (marked as @parameter + for SQL server or :parameter for Oracle, other data providers + have their own notation) and not the layout renderers, + because the latter is prone to SQL injection attacks. + The layout renderers should be specified as <parameter /> elements instead. + + + + + + Gets or sets the type of the SQL command to be run on each log level. + + + This specifies how the command text is interpreted, as "Text" (default) or as "StoredProcedure". + When using the value StoredProcedure, the commandText-property would + normally be the name of the stored procedure. TableDirect method is not supported in this context. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Writes log message to the Event Log. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. + + + + + Writes the specified logging event to the event log. + + The logging event. + + + + Get the entry type for logging the message. + + The logging event - for rendering the + + + + + Get the source, if and only if the source is fixed. + + null when not + Internal for unit tests + + + + Get the eventlog to write to. + + Event if the source needs to be rendered. + + + + + (re-)create a event source, if it isn't there. Works only with fixed sourcenames. + + sourcenaam. If source is not fixed (see , then pass null or emptystring. + always throw an Exception when there is an error + + + + Gets or sets the name of the machine on which Event Log service is running. + + + + + + Gets or sets the layout that renders event ID. + + + + + + Gets or sets the layout that renders event Category. + + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Gets or sets the value to be used as the event Source. + + + By default this is the friendly name of the current AppDomain. + + + + + + Gets or sets the name of the Event Log to write to. This can be System, Application or + any user-defined name. + + + + + + Gets or sets the message length limit to write to the Event Log. + + MaxMessageLength cannot be zero or negative + + + + Gets or sets the action to take if the message is larger than the option. + + + + + + Action that should be taken if the message is greater than + the max message size allowed by the Event Log. + + + + + Truncate the message before writing to the Event Log. + + + + + Split the message and write multiple entries to the Event Log. + + + + + Discard of the message. It will not be written to the Event Log. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Gets or sets the file attributes (Windows only). + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages to a NLog Receiver Service (using WCF or Web Services). + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Called when log events are being sent (test hook). + + The events. + The async continuations. + True if events should be sent, false to stop processing them. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Append" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Creating a new instance of WcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creating a new instance of IWcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + + virtual is used by endusers + + + + Gets or sets the endpoint address. + + The endpoint address. + + + + + Gets or sets the name of the endpoint configuration in WCF configuration file. + + The name of the endpoint configuration. + + + + + Gets or sets a value indicating whether to use binary message encoding. + + + + + + Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + + Gets or sets the client ID. + + The client ID. + + + + + Gets the list of parameters. + + The parameters. + + + + + Gets or sets a value indicating whether to include per-event properties in the payload sent to the server. + + + + + + Sends log messages by email using SMTP protocol. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ Mail target works best when used with BufferingWrapper target + which lets you send multiple log messages in single mail +

+

+ To set up the buffered mail target in the configuration file, + use the following syntax: +

+ +

+ To set up the buffered mail target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Renders an array logging events. + + Array of logging events. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Create mail and send with SMTP + + event printed in the body of the event + + + + Create buffer for body + + all events + first event for header + last event for footer + + + + + Set properties of + + last event for username/password + client to set properties on + Configure not at , as the properties could have layout renderers. + + + + Handle if it is a virtual directory. + + + + + + + Create key for grouping. Needed for multiple events in one mailmessage + + event for rendering layouts + string to group on + + + + Append rendered layout to the stringbuilder + + append to this + event for rendering + append if not null + + + + Create the mailmessage with the addresses, properties and body. + + + + + Render and add the addresses to + + Addresses appended to this list + layout with addresses, ; separated + event for rendering the + added a address? + + + + Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration. + E.g when UseSystemNetMailSettings is enabled and we need to read the From attribute from system.net/mailSettings/smtp + + Internal for mocking + + + + Gets or sets sender's email address (e.g. joe@domain.com). + + + + + + Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets a value indicating whether to add new lines between log entries. + + A value of true if new lines should be added; otherwise, false. + + + + + Gets or sets the mail subject. + + + + + + Gets or sets mail message body (repeated for each log message send in one mail). + + Alias for the Layout property. + + + + + Gets or sets encoding to be used for sending e-mail. + + + + + + Gets or sets a value indicating whether to send message as HTML instead of plain text. + + + + + + Gets or sets SMTP Server to be used for sending. + + + + + + Gets or sets SMTP Authentication mode. + + + + + + Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + . + + + + Gets or sets the port number that SMTP Server is listening on. + + + + + + Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. + + + + + + Specifies how outgoing email messages will be handled. + + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + + Gets or sets the priority used for sending mails. + + + + + Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. +
+ Only happens when is set to true. +
+ + + Gets or sets a value indicating the SMTP client timeout. + + Warning: zero is not infinit waiting + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Outputs log messages through the OutputDebugString() Win32 API. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Outputs the rendered logging event through the OutputDebugString() Win32 API. + + The logging event. + + + + Increments specified performance counter on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+ + TODO: + 1. Unable to create a category allowing multiple counter instances (.Net 2.0 API only, probably) + 2. Is there any way of adding new counters without deleting the whole category? + 3. There should be some mechanism of resetting the counter (e.g every day starts from 0), or auto-switching to + another counter instance (with dynamic creation of new instance). This could be done with layouts. + +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Increments the configured performance counter. + + Log event. + + + + Closes the target and releases any unmanaged resources. + + + + + Ensures that the performance counter has been initialized. + + True if the performance counter is operational, false otherwise. + + + + Gets or sets a value indicating whether performance counter should be automatically created. + + + + + + Gets or sets the name of the performance counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the performance counter instance name. + + + + + + Gets or sets the counter help text. + + + + + + Gets or sets the performance counter type. + + + + + + The value by which to increment the counter. + + + + + + SMTP authentication modes. + + + + + No authentication. + + + + + Basic - username and password. + + + + + NTLM Authentication. + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Sends log messages through System.Diagnostics.Trace. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Writes the specified logging event to the facility. + If the log level is greater than or equal to it uses the + method, otherwise it uses + method. + + The logging event. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Win32 file attributes. + + + For more information see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. + + + + + Read-only file. + + + + + Hidden file. + + + + + System file. + + + + + File should be archived. + + + + + Device file. + + + + + Normal file. + + + + + File is temporary (should be kept in cache and not + written to disk if possible). + + + + + Sparse file. + + + + + Reparse point. + + + + + Compress file contents. + + + + + File should not be indexed by the content indexing service. + + + + + Encrypted file. + + + + + The system writes through any intermediate cache and goes directly to disk. + + + + + The system opens a file with no system caching. + + + + + Delete file after it is closed. + + + + + A file is accessed according to POSIX rules. + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Impersonates another user for the duration of the write. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes the impersonation context. + + + + + Closes the impersonation context. + + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + Log events. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Gets or sets username to change context to. + + + + + + Gets or sets the user account password. + + + + + + Gets or sets Windows domain name to change context to. + + + + + + Gets or sets the Logon Type. + + + + + + Gets or sets the type of the logon provider. + + + + + + Gets or sets the required impersonation level. + + + + + + Gets or sets a value indicating whether to revert to the credentials of the process instead of impersonating another user. + + + + + + Helper class which reverts the given + to its original value as part of . + + + + + Initializes a new instance of the class. + + The windows impersonation context. + + + + Reverts the impersonation context. + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Logon provider. + + + + + Use the standard logon provider for the system. + + + The default security provider is negotiate, unless you pass NULL for the domain name and the user name + is not in UPN format. In this case, the default provider is NTLM. + NOTE: Windows 2000/NT: The default security provider is NTLM. + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Impersonation level. + + + + + Anonymous Level. + + + + + Identification Level. + + + + + Impersonation Level. + + + + + Delegation Level. + + + + + Logon type. + + + + + Interactive Logon. + + + This logon type is intended for users who will be interactively using the computer, such as a user being logged on + by a terminal server, remote shell, or similar process. + This logon type has the additional expense of caching logon information for disconnected operations; + therefore, it is inappropriate for some client/server applications, + such as a mail server. + + + + + Network Logon. + + + This logon type is intended for high performance servers to authenticate plaintext passwords. + The LogonUser function does not cache credentials for this logon type. + + + + + Batch Logon. + + + This logon type is intended for batch servers, where processes may be executing on behalf of a user without + their direct intervention. This type is also for higher performance servers that process many plaintext + authentication attempts at a time, such as mail or Web servers. + The LogonUser function does not cache credentials for this logon type. + + + + + Logon as a Service. + + + Indicates a service-type logon. The account provided must have the service privilege enabled. + + + + + Network Clear Text Logon. + + + This logon type preserves the name and password in the authentication package, which allows the server to make + connections to other network servers while impersonating the client. A server can accept plaintext credentials + from a client, call LogonUser, verify that the user can access the system across the network, and still + communicate with other servers. + NOTE: Windows NT: This value is not supported. + + + + + New Network Credentials. + + + This logon type allows the caller to clone its current token and specify new credentials for outbound connections. + The new logon session has the same local identifier but uses different credentials for other network connections. + NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. + NOTE: Windows NT: This value is not supported. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Builtin IFileCompressor implementation utilizing the .Net4.5 specific + and is used as the default value for on .Net4.5. + So log files created via can be zipped when archived + w/o 3rd party zip library when run on .Net4.5 or higher. + + + + + Implements using the .Net4.5 specific + + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..fdf309e19c3b9c08bed3f20703453f86a3009f35 GIT binary patch literal 364032 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 z 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

! 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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.xml new file mode 100644 index 0000000..1838fe1 --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/sl4/NLog.xml @@ -0,0 +1,17612 @@ + + + + NLog + + + +

+ Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Gets the log event. + + + + + Gets the continuation. + + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Gets the number of items in the array. + + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Condition and expression. + + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Exception during evaluation of condition expression. + + + + + 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. + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Gets the layout. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Gets the literal value. + + The literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression to be negated. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Exception during parsing of condition expression. + + + + + 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. + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Called before the assembly will be loaded. + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + gets the factory + + not using due to backwardscomp. + + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides context for install/uninstall operations. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described here. + + + + + Gets or sets the condition expression. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the action to be taken when filter matches. + + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Gets the created by the builder. + + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Should we capture the last write time of a file? + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Gets underlying socket instance. + + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Current position in + + + + + Full text to be parsed + + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Log event context data. + + + + + Initializes a new instance of the class. + + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The current application domain's base directory. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + URI of the HTML page which hosts the current Silverlight application. + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the name of the item. + + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Find name of method on stracktrace. + + Full stracktrace + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property to retrieve. + + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Gets or sets the name of the item. + + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Gets or sets the name of the parameter. + + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Render environmental information related to logging events. + + + + + Gets the logging configuration this target is part of. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Gets or sets the literal text. + + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The logger name. + + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Gets or sets the name of the item. + + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + Information about Silverlight application. + + + + + Initializes a new instance of the class. + + + + + Gets or sets specific information to display. + + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Specifies application information to display in ${sl-appinfo} renderer. + + + + + URI of the current application XAP file. + + + + + Whether application is running out-of-browser. + + + + + Installed state of an application. + + + + + Whether application is running with elevated permissions. + + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A temporary directory. + + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + A layout containing one or more nested layouts. + + + + + Initializes a new instance of the class. + + + + + Gets the inner layouts. + + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + Initializes a new instance of the class. + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that supports header and footer. + + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Gets the instance that renders log events. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Occurs when logging changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + + + Initializes a new instance of the class. + + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + Index of on the stack. + + + + + A stackframe + + + + + New item + + Index of on the stack. + A stackframe + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Creates and manages instances of objects. + + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Client of ILogReceiverServer + + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Gets the underlying implementation. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Gets or sets the cookie container. + + The cookie container. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Wire format for NLog event package. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Log Receiver Client using WCF. + + + This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release. + + It provides an implementation of the legacy interface and it will be completely obsolete when the + ILogReceiverClient is removed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Log Receiver Client facade. It allows the use either of the one way or two way + service contract using WCF through its unified interface. + + + Delegating methods are generated with Resharper. + 1. change ProxiedClient to private field (instead of public property) + 2. delegate members + 3. change ProxiedClient back to public property. + + + + + + The client getting proxied + + + + + Do we use one-way or two-way messaging? + + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + The binding. + The remote address. + + + + Causes a communication object to transition immediately from its current state into the closed state. + + + + + Begins an asynchronous operation to close a communication object. + + + The that references the asynchronous close operation. + + The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to close a communication object with a specified timeout. + + + The that references the asynchronous close operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to open a communication object. + + + The that references the asynchronous open operation. + + The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins an asynchronous operation to open a communication object within a specified interval of time. + + + The that references the asynchronous open operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Causes a communication object to transition from its current state into the closed state. + + The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Causes a communication object to transition from its current state into the closed state. + + was called on an object in the state.The default close timeout elapsed before the was able to close gracefully. + + + + Closes the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Occurs when Close operation has completed. + + + + + Occurs when the communication object completes its transition from the closing state into the closed state. + + + + + Occurs when the communication object first enters the closing state. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Completes an asynchronous operation to close a communication object. + + The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Completes an asynchronous operation to open a communication object. + + The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Occurs when the communication object first enters the faulted state. + + + + + Gets the underlying implementation. + + + + + Causes a communication object to transition from the created state into the opened state. + + The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Causes a communication object to transition from the created state into the opened state within a specified interval of time. + + The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Occurs when Open operation has completed. + + + + + Occurs when the communication object completes its transition from the opening state into the opened state. + + + + + Occurs when the communication object first enters the opening state. + + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Occurs when the log message processing has completed. + + + + + Gets the current state of the communication-oriented object. + + + The value of the of the object. + + + + + Causes a communication object to transition from its current state into the closed state. + + + + + Abstract base class for the WcfLogReceiverXXXWay classes. It can only be + used internally (see internal constructor). It passes off any Channel usage + to the inheriting class. + + Type of the WCF service. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Increases the number of messages. + + The logging event. + + + + Default class for serialization of values to JSON format. + + + + + Singleton instance of the serializer. + + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + Replace the pattern with the specified String. + + + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages to a NLog Receiver Service (using WCF or Web Services). + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets the endpoint address. + + The endpoint address. + + + + + Gets or sets the name of the endpoint configuration in WCF configuration file. + + The name of the endpoint configuration. + + + + + Gets or sets a value indicating whether to use binary message encoding. + + + + + + Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + + Gets or sets the client ID. + + The client ID. + + + + + Gets the list of parameters. + + The parameters. + + + + + Gets or sets a value indicating whether to include per-event properties in the payload sent to the server. + + + + + + Called when log events are being sent (test hook). + + The events. + The async continuations. + True if events should be sent, false to stop processing them. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Append" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Creating a new instance of WcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creating a new instance of IWcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + + virtual is used by endusers + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets the list of logs gathered in the . + + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Gets the array of parameters to be passed. + + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Gets the collection of targets managed by this compound target. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Base class for targets wrap other (single) targets. + + + + + Gets or sets the target that is wrapped by this target. + + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Gets current local time directly from DateTime.Now. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Defines source of current time. + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + + Define Localizable attribute for platforms that don't have it. + + + + + Initializes a new instance of the class. + + Determines whether the target is localizable. + + + + Gets or sets a value indicating whether the target is localizable. + + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..ddd1e4d9b4f442953fd3eacae41cd7b50e0529d0 GIT binary patch literal 364544 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�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

!@S0Jw2*kNM%D}zL24= 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

1r4iodk>y-YiH7d9m}AQ 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 Vola0M#C0|GHv#;#>60jd{{i|dkvjkY literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.xml new file mode 100644 index 0000000..1838fe1 --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/sl5/NLog.xml @@ -0,0 +1,17612 @@ + + + + NLog + + + +

+ Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Gets the log event. + + + + + Gets the continuation. + + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Gets the number of items in the array. + + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Condition and expression. + + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Exception during evaluation of condition expression. + + + + + 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. + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Gets the layout. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Gets the literal value. + + The literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression to be negated. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Exception during parsing of condition expression. + + + + + 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. + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Called before the assembly will be loaded. + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + gets the factory + + not using due to backwardscomp. + + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides context for install/uninstall operations. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described
here. + + + + + Gets or sets the condition expression. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the action to be taken when filter matches. + + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Gets the created by the builder. + + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Should we capture the last write time of a file? + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Gets underlying socket instance. + + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Current position in + + + + + Full text to be parsed + + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Log event context data. + + + + + Initializes a new instance of the class. + + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The current application domain's base directory. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + URI of the HTML page which hosts the current Silverlight application. + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the name of the item. + + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Find name of method on stracktrace. + + Full stracktrace + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property to retrieve. + + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Gets or sets the name of the item. + + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Gets or sets the name of the parameter. + + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Render environmental information related to logging events. + + + + + Gets the logging configuration this target is part of. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Gets or sets the literal text. + + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The logger name. + + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Gets or sets the name of the item. + + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + Information about Silverlight application. + + + + + Initializes a new instance of the class. + + + + + Gets or sets specific information to display. + + + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Specifies application information to display in ${sl-appinfo} renderer. + + + + + URI of the current application XAP file. + + + + + Whether application is running out-of-browser. + + + + + Installed state of an application. + + + + + Whether application is running with elevated permissions. + + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A temporary directory. + + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + A layout containing one or more nested layouts. + + + + + Initializes a new instance of the class. + + + + + Gets the inner layouts. + + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + Initializes a new instance of the class. + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that supports header and footer. + + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Gets the instance that renders log events. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Occurs when logging changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + + + Initializes a new instance of the class. + + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + Index of on the stack. + + + + + A stackframe + + + + + New item + + Index of on the stack. + A stackframe + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Creates and manages instances of objects. + + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Client of ILogReceiverServer + + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Gets the underlying implementation. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Gets or sets the cookie container. + + The cookie container. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Wire format for NLog event package. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Log Receiver Client using WCF. + + + This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release. + + It provides an implementation of the legacy interface and it will be completely obsolete when the + ILogReceiverClient is removed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Log Receiver Client facade. It allows the use either of the one way or two way + service contract using WCF through its unified interface. + + + Delegating methods are generated with Resharper. + 1. change ProxiedClient to private field (instead of public property) + 2. delegate members + 3. change ProxiedClient back to public property. + + + + + + The client getting proxied + + + + + Do we use one-way or two-way messaging? + + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + The binding. + The remote address. + + + + Causes a communication object to transition immediately from its current state into the closed state. + + + + + Begins an asynchronous operation to close a communication object. + + + The that references the asynchronous close operation. + + The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to close a communication object with a specified timeout. + + + The that references the asynchronous close operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to open a communication object. + + + The that references the asynchronous open operation. + + The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins an asynchronous operation to open a communication object within a specified interval of time. + + + The that references the asynchronous open operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Causes a communication object to transition from its current state into the closed state. + + The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Causes a communication object to transition from its current state into the closed state. + + was called on an object in the state.The default close timeout elapsed before the was able to close gracefully. + + + + Closes the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Occurs when Close operation has completed. + + + + + Occurs when the communication object completes its transition from the closing state into the closed state. + + + + + Occurs when the communication object first enters the closing state. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Completes an asynchronous operation to close a communication object. + + The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Completes an asynchronous operation to open a communication object. + + The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Occurs when the communication object first enters the faulted state. + + + + + Gets the underlying implementation. + + + + + Causes a communication object to transition from the created state into the opened state. + + The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Causes a communication object to transition from the created state into the opened state within a specified interval of time. + + The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Occurs when Open operation has completed. + + + + + Occurs when the communication object completes its transition from the opening state into the opened state. + + + + + Occurs when the communication object first enters the opening state. + + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Occurs when the log message processing has completed. + + + + + Gets the current state of the communication-oriented object. + + + The value of the of the object. + + + + + Causes a communication object to transition from its current state into the closed state. + + + + + Abstract base class for the WcfLogReceiverXXXWay classes. It can only be + used internally (see internal constructor). It passes off any Channel usage + to the inheriting class. + + Type of the WCF service. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Gets or sets the cookie container. + + The cookie container. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Returns a new channel from the client to the service. + + + A channel of type that identifies the type + of service contract encapsulated by this client object (proxy). + + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Increases the number of messages. + + The logging event. + + + + Default class for serialization of values to JSON format. + + + + + Singleton instance of the serializer. + + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + Replace the pattern with the specified String. + + + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages to a NLog Receiver Service (using WCF or Web Services). + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets the endpoint address. + + The endpoint address. + + + + + Gets or sets the name of the endpoint configuration in WCF configuration file. + + The name of the endpoint configuration. + + + + + Gets or sets a value indicating whether to use binary message encoding. + + + + + + Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + + Gets or sets the client ID. + + The client ID. + + + + + Gets the list of parameters. + + The parameters. + + + + + Gets or sets a value indicating whether to include per-event properties in the payload sent to the server. + + + + + + Called when log events are being sent (test hook). + + The events. + The async continuations. + True if events should be sent, false to stop processing them. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Append" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Creating a new instance of WcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creating a new instance of IWcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + + virtual is used by endusers + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets the list of logs gathered in the . + + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Gets the array of parameters to be passed. + + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Gets the collection of targets managed by this compound target. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Base class for targets wrap other (single) targets. + + + + + Gets or sets the target that is wrapped by this target. + + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Gets current local time directly from DateTime.Now. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Defines source of current time. + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + + Define Localizable attribute for platforms that don't have it. + + + + + Initializes a new instance of the class. + + Determines whether the target is localizable. + + + + Gets or sets a value indicating whether the target is localizable. + + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..e2967e80d45e59758449a4dc59954120ab03fefd GIT binary patch literal 430080 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
fWqEscrQtZCKA!9$_)$++@8jFK2|FZQ5%bOYZU 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 N^LaP+lUaCmD+qR&(uig!O+!&EcW%LM-&I;Y zDl59Xz=Bq5oq6u#*024l?P}7e4XL*G^Jd(LAc~UZhQS#N}%} zg^*vqHkgWi({P(MmgQg#K2x`886dW|YJS_b-J)I!+O8d>nonQ*w`&)v%FN{14cj%n zH|ej;OrG7aLup;bxQoK`(;yLmphh17M&pAaQzg^l8mc!(m=)1LfT;#b9 zd$ct|`5zu{(2-&CT!$l?BUe_C$vCe03%MF6wNRnW z+G(we&>g4mw0NOMPQ}_(p;u1lwQM0D=_1tyn0-c%wZM z$}!$*zOk&8)vW{k{?VFnwOC{_{?ihL8u(#-gV0$gS${2b$4S!z`<0Jnv*w_O2^C{Q zPY~Mgevx$VHw_;jKRv zxe}wI&K?U}2Ccv+wz_YBvJ6D)H9x(HP^77<-c{(Z;Sb+kEiZY(2+(H=6&peN3ZXkj z9lcoSu~A=#f9b({cwscu6NTOzP4o>yx^q+gk&w4@OTGR;R*yWJqP5;$D9>o44-_ge z+UoPU$g?Th=}Sef#OR>s30Y8Q{ac~+S{MC_P^77w{zT}o(LHpN)|kx-s7PX8cO zU`)_!4`ywWXH!hnn{dJZQ#B^*-GnSCSsx~}UYn+;3PqY`=*xr-8>xD}&1}ZxSjn*6KfUk!MqUu3rlxGy`orDUEB7HI!c{asaeU`|T7~kv5g)Hd2zFla&_M?7EDAM$keqHFWaY=tJ zbi%l->xt!KDK@U^fkJnTn|hqkW8=2IU+9H#SAQk+-gu}t8d2Vg?p&s)2zfjIp?||g zo=x#gFA>T!p6h=I6&Qc%6-KgF$g?S4>Q%Ym{{S0*>&=8L=&c?lv|jt4K0+wc^sjCa zI&A!>uMj$6e9(6a6&sSdSm=(Sn%@aMHq7R@QEV(3@Jty;^J<~@hKspGNOyKO`zDo_ z^mg_(52eaP^A>F|Dx1d$=+V=1W3b{6?975!&H5+FT~I-*24xxzJI+ z3Fd!=&iG9>D`U#n#P@zv&8|Wve$&mqLbv=<%x#2z^_yi*;QAc)iP`4SLV3m<^HiY% zBh73PI$>DN3xtY|4D$-15+lp}rH}`HBg>>h&=0AnJoxe2yE0kc`1ds4wYvOa*CpMd1g`)hnnnQ&8`fW4E3&s2GGA9XT zqrK)SLL>dYHqREC=y$-pKxmrZA#<+K9KWOHbwU|_$IW>{e%c9hfzW4ur_9HNY<`92 zBB6DDMdnLFTl~H^|01-*@0__zXusbD^K+r2eizOE3Z3!0Y=%d>)1%|_Mc?~fF}n(t z_+2;q3f=PiKkU5;R94m3KYs3gE<6wCUS~4RiCIBSQ7Sbx5FAi)$_5-t1P9EqtVpS3 z&@^#C3AM~XsGPGTOS6)s(lY0AND~qV)Etrq%liKJ-e*4#*T`1yu>R{^>lbUWKj*Xe zKKtx*?z!`Q?mg-g>0zgu9QRp5Y!Uo=`+SoVK4ZpXlttpw3%@ow>C<8YvTRXfj-%-* zpEzbAb8c;V#wUwe`#DXUp7q)2u{Cdc&Zm@FVao&lb?P1s(N(3dClhm zVvAh&WO?b=e1gL`!uO}*tFV(Pk-QyyZ5-(GXd zQfByFHm7txj`i^T_9-8i3}QAR`h})Gau6|ft}SKy6!cVYm5}lUVvAhPxhtAVnN2Jg zu0*W_wwzfPV5VHd?EM*abxXd>Y|o7Pz)F~%oKe)YhTO~S_Zc4mJI?IZnRWG=vVvLo z%=*B7V%BHoXH9EK{RuT@!)AU7tQND0GrjcMvJtb4nI^C<%AUGJqMJzXNOI zVLvskFS{@+hpSW#WGu7XKL2UjKtAAM-pv}yBoC|AtdV?-+4Y&XHftiEWoACF=}qJd z%-_3{!X04VjF!*!-w$sh|A#?oGfD(1qs0JWFl%fn_S2h?=*gStohN)949Td*{P*qp}OL_VeMn zQQ3o8xA`%(yU4!G2F~vV>_KKD=D*dft9*pnWAonyHilU`*zS>&n9T#*J@RR0FU|k3 zS)@#3_S*bUfMqELnSI$TO78Hm!_B(MuN0%}Qr+b78`vpg*{;VH{0g2|h~)}=_h~oz z9}j!cijg&@slU4l``MuUy0o+v_J^W`-^Fmj%qQg#mI6Gi+g?d|NTsk_C-` zZD#hyg0Z&@l-t zdqCze!^|F#dCV}g2jn&nyA#-t%rMUfrIt#$&_4V@S%Vm^xBb8tNK9P~jh8(7*Oc%acFIfgL!`~t% z%T~nHvpC7J1KV~%l(BLau?$g}o$NPO9ww%qlo>0_nBkK$kID*S>h8y*@)u$=;axim zv`1y;vy`XM7w*u;$+gcRQ%4EorE9vfHC;HxZ@esF7QS$r-voJ#ScV8+nBg~3j!8#P z^(@XL*)~Hld=_W2JWNd8RhTUQVAg#hyxT{*GSM?lJV0zEu@Y@0vDM7*EhLZ0jm#Fo zwdTj=dmc8$Z;EU%1EZ8^lOfM1-=QmBdW+7A03_T;8d)WH=&&p23)H6fV*Y(hFEkW}O!; z6dAHUvwn+mfi-j6dM*^1vN^L6V9S(knN3*qw%-idf!Q;Q-UAlJENfA@HdDqjdv#H! zF;fm?_BPm_mxGyo4z}lIBD3$nHcLLr>_@Q8l2e$uaz65#EmN8K=X?Te1~YuK$qRC> z+Y{bw@`B7|)+uL~-yFG|S!~XJU~e$PUsPquH<{rtsM(Jn1N*K>p@osiHv292^(5Ru#&+#8i|* z>BkJC6v|P=)N^aE$;X-Db8D~3G-mj`+v{>3Gko6db-9dKnrnRS0RK1SDrQgQJ_zh> z_MD#!PuI#V%$DZD)3tItvjVWKl3y_U5NxaDLB*&?tK~TlOBJi-bz&s~w}WfsBQIkA z)ErzRXE4KU-5Oa)EKMBAO%-e9WoBn`7dzKUuUxDL-%?(jS$a;&b`u>3&zzqBT zft*Q9tsNiAJP%71AIdisbCoYH*FKW(5=(PkUYu!sB)75c`r^Wl?wPe2k$Fh=a@T|j-G zc?E51Td+$$r5OFP^h-I98UC{LOZgTt_*R@I@Vb`{4Tyzm{{^7P1U}*)4O4 zmHFJgY@s+L*Rl=wV~1oBGu)3Ik{>Xe37&`LC(Lpn%3-;i*@|W5+7bCRv-hC&Bk}~Z z-C#Q^&oDa!wxjYgvC}^I?!|B9FKiR9WE$T{?Nv3NxIa23eVF0?=$Nd_tQLF(*4z&OXU!@je=ZCWfI%) zO_ODE9NW^tRwkcdwgO^)C!b;VA;kPn&SZAsi)bbj@eqlCsc|XS)Su0PC;JoF%fVE?` zVtKiCR(4{xX?dn`R`z4|`Evh&3i%+j6U&=k0Ceeg}17vyVf8w$1yay_&0Q15%WiCGrdzLy^no8emXD%?GnyNIQU zt*@p4o05+`N)vmCEg?2jTqaiHVdHCo=L+;xMv9h>e3DX_ zrNq)i&HRJ_-K@Vx#cZBGDZtxoKrCC_l|MDWWsW13CgSp^2S~GoZHf6lW=-=t+ot8u z3#erdU#qg7pWnn;*W9*Fv3y{@X3=_N*mW91mz~W^Gos%`46Xv@?I%f(+K~6;}cx z%%Jy`t#ZZh0e70dTNTp_yaGFzk1%Uouuya|$1#g2s1XS41LYZAP(QGXxsurf1tBuh zbbY97j~6rxj53p$y$CU*O}~%O25%iI2oCISmJ`D_1NW%a)6Cqa>U~xa9vEx3C|2x1 zL1f^)W&yMB3bI6hb1$3CUpgk5^{HOA$gTX+G07ZFwwbO=tJ1_| zb0V|rtID;>=2OgEtC2lNEX`GS^+NDmqHNHIRA3hr6OpS!xXpR}j46g;vG4E#Kx%y2xHnaI%(g(x zd^3UB4zR5-lbIa?+Y0kB#i+dkbAyM$d9nEsd#+!1BB;>(jM=7jr-1EchD+r&^Dr}9 zDzBMk%syO~CSErynC)7Z3hW1FN7r2ldc*t=voq^{09JF48W&^zDY??D&#d11i@=&O z!=v9-W^-nE^t;Mz%M5?px!UZ&41e3X+Kgg`zwKOO#xld-cCIl8G7DG_ V&nccn~ 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 IqaA_&2ce%=<^TWy literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.xml new file mode 100644 index 0000000..71d4a24 --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/wp8/NLog.xml @@ -0,0 +1,16793 @@ + + + + NLog + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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. + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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. + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Should we capture the last write time of a file? + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Define Localizable attribute for platforms that don't have it. + + + + + Initializes a new instance of the class. + + Determines whether the target is localizable. + + + + Gets or sets a value indicating whether the target is localizable. + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Find name of method on stracktrace. + + Full stracktrace + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + Specifies application information to display in ${sl-appinfo} renderer. + + + + + URI of the current application XAP file. + + + + + Whether application is running out-of-browser. + + + + + Installed state of an application. + + + + + Whether application is running with elevated permissions. + + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + +
+
diff --git a/MTC_Adapter/packages/NLog.Config.4.4.5/NLog.Config.4.4.5.nupkg b/MTC_Adapter/packages/NLog.Config.4.4.5/NLog.Config.4.4.5.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..dab103337f597b6d4e0232d3c4fdd320cc505b3c GIT binary patch literal 3162 zcmcJRc{r4N8^?!1vJP3YBXo6X6yP&`#*po zU{Pzq99ZizzW`Onjp2l=`;j%MrqpZ83a@#h)6niP`>CKa+XS6NY#N`eS~$(2TQdw+ z)INya*%g-ln2<4Hx#t>tiPxrlS#U8av~279;_5nH!)Ilnz*^e~-^lw>0K1qM*n&(~ za!StXa)BS>`0d~7#!G8|e}DrqUTA!Y;rxJ?oK@iTwx>1CD$W@_~%z*h!&Q=L{0_xc!-x80LY{P0N5#!GdD$h z%IKkeZz4Tqe1ii05b)oxzVscJ19gaOvtAo)+vRdNYdd$@F6H6 zsrP&)q*#)pTBu~2W8Zf}@`ZnkB9?=r!c^VyE?#yY%VCq-;8hnDH30J_b6Ptm$Y;7% z_YwBfA`~FR@i`hAzAl;Rz8CTX4QICW$&P|^G-jsHo^9Q`U6>OYzp@a9zKlvv;p>>< zRlj;o&$${L$uYEYu9N57-V3}9u7mJ(z;#xO1)3t3dU0JVnw!X)Pn?~F^Z||KOT}Lf zw$&E-;N9Y|*weNZN*%l2%hzhCKLUBMQ4xx9Wo(^YDbsL)D%d<} zyq&g5j*;V+fG_G_?&K?sT1D0)Eq1frcWL@}JhYF`{7MpO72Fj^A<3Q=060e>36A!~ zAbc^h{~?NUpb&+%F+&sOm^xPN{2W+`AmVH=PqZi$1(6fnh-}dgS<|maI_69BWZbBb z`a&`oNjadxXfyX@8*XoJr#lpG@-jbLYj3zIrdi%cJ-pmvS?&-olZEG|65p5^^>U;t zP`WF&4kGAh|MhzjEO1o)fbVOXgB?P%wmw}`gETEUyRZ8;@*<1VX8RrXxrmiwi@v^# zjV@ZsIsA`)TZ&OsGp~1s(7jK7hj1;gT>uQ>`(>sX$FFfovE5J+V`y$X`Y6+<4F1E| zr0Qtd7F>ME`rI@f+N!p9sDUH(ou~1V@p58*q*+)`JIh>_vO83y@vF7-vFbhxjpuz#%)yg)XJR&&J>xR`NPD}E@+pMa3u%6$@D4wKAXP6OW8YCB$ z&MbfHbHCtknV(-@fLu`?DItk1CeG}C)eUBVJQa~&Bi8Y(z0b&>AEbJfR!uf=2^t)cI;=z5^4$<=oMjcUbKwtB?-ee-gMHU&#?&W5!OzW{xrMs97^_|af>?mZ2@LC$X{@`7>m2lNxI$*8} zE0~fsFp$czTjhN)XM0;yk2ebmNw?|;DR|gZ6*&HfD#}x#ccbO;%6Y!|0X#oRFRM_I zkKN$f8cay*L9Q_?cR@PsPWlKIfi0SVX16ZKUmrTA`W0L6a8uD93a%JR>tOq_qtTSs zVdNW#aYLbG`~u};Q=p99a-g`qdl(nEYYoG12qm4M?8g(bn@bGIZrSSe4;#x_n`|9~pStS@xpBN_5_^ z8#wQNDDb|pUm*%*oG8ILm~;C$R@Kx=T+a}w9Zt%-aI)C!{QW-Z?h}FU*hjfI!P~%J zJ&v-A&={w9dXAE;KN8iEQtp3bs>{_-KSZFD%xxdk<8%}A9&M($J;V2IijG;P1JpuU zO^Myie|GizXRyWh@oLyUhx)!@h>vzf9;FUt6KDM&&Qc|onHG@7lS2&C4z9pg?JiUs zbQ0(0nrg{Oi*HRw_l>Ycx}aRYcxz9X0-_%g?+xbx8r)74i909{rB5?TZyL3^|4ez6 z;K{$Jjtf)E!$fgEdewIHDts|WQ(@?ANuB`9c!ZE`Q5GS?Gu1Ty!ywaKELvXLg!NDb zv>eUJZIcK-WJBC%MYcx|6jx5=%pQuH;a{@0vcH{zWal#^eI7k-4>a1X!QsBKh1rMM%+PFn`kaZEJ=UzP_8+Z0j;Y!h#N^ZFkUiPn9Q) z?95tOvtgg3{~n`Yv`^gqaR0J91~ki6Pic`R z)d&2N8xVxy^og%})7q{y(?h3D#fh=os&7G~6Z z4<8Kqq{38sY`h5ed}3$Oh*Xa@bBvu_Ah_~95_~zeYl+-XTJ3-exsBbUAzDQ literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.Config.4.4.5/content/NLog.config b/MTC_Adapter/packages/NLog.Config.4.4.5/content/NLog.config new file mode 100644 index 0000000..7a0f3aa --- /dev/null +++ b/MTC_Adapter/packages/NLog.Config.4.4.5/content/NLog.config @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/MTC_Adapter/packages/NLog.Config.4.4.5/tools/Install.ps1 b/MTC_Adapter/packages/NLog.Config.4.4.5/tools/Install.ps1 new file mode 100644 index 0000000..97204a0 --- /dev/null +++ b/MTC_Adapter/packages/NLog.Config.4.4.5/tools/Install.ps1 @@ -0,0 +1,12 @@ +param($installPath, $toolsPath, $package, $project) + +$configItem = $project.ProjectItems.Item("NLog.config") + +# set 'Copy To Output Directory' to 'Copy if newer' +$copyToOutput = $configItem.Properties.Item("CopyToOutputDirectory") +$copyToOutput.Value = 1 + +# set 'Build Action' to 'Content' +$buildAction = $configItem.Properties.Item("BuildAction") +$buildAction.Value = 2 + diff --git a/MTC_Adapter/packages/NLog.Schema.4.4.5/NLog.Schema.4.4.5.nupkg b/MTC_Adapter/packages/NLog.Schema.4.4.5/NLog.Schema.4.4.5.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..787a9aa929dee595b6ad1f28f1013fbaac1103b8 GIT binary patch literal 15493 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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.Schema.4.4.5/content/NLog.xsd b/MTC_Adapter/packages/NLog.Schema.4.4.5/content/NLog.xsd new file mode 100644 index 0000000..4aa20b2 --- /dev/null +++ b/MTC_Adapter/packages/NLog.Schema.4.4.5/content/NLog.xsd @@ -0,0 +1,2966 @@ + + + + + + + + + + + + + + + Watch config file for changes and reload automatically. + + + + + Print internal NLog messages to the console. Default value is: false + + + + + Print internal NLog messages to the console error output. Default value is: false + + + + + Write internal NLog messages to the specified file. + + + + + Log level threshold for internal log messages. Default value is: Info. + + + + + Global log level threshold for application log messages. Messages below this level won't be logged.. + + + + + Throw an exception when there is an internal error. Default value is: false. + + + + + Throw an exception when there is a configuration error. If not set, determined by throwExceptions. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false. + + + + + Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false. + + + + + Write timestamps for internal NLog messages. Default value is: true. + + + + + Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false. + + + + + + + + + + + + + + Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). + + + + + + + + + + + + + + + + + Prefix for targets/layout renderers/filters/conditions loaded from this assembly. + + + + + Load NLog extensions from the specified file (*.dll) + + + + + Load NLog extensions from the specified assembly. Assembly name should be fully qualified. + + + + + + + + + + Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name* + + + + + Comma separated list of levels that this rule matches. + + + + + Minimum level that this rule matches. + + + + + Maximum level that this rule matches. + + + + + Level that this rule matches. + + + + + Comma separated list of target names. + + + + + Ignore further rules if this one matches. + + + + + Enable or disable logging rule. Disabled rules are ignored. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file. + + + + + Ignore any errors in the include file. + + + + + + + Variable name. + + + + + Variable value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events that should be processed in a batch by the lazy writer thread. + + + + + Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch + + + + + Action to be taken when the lazy writer thread request queue count exceeds the set limit. + + + + + Limit on the number of requests in the lazy writer thread request queue. + + + + + Time in milliseconds to sleep between batches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will cause a flush on the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Number of log events to be buffered. + + + + + Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + Indicates whether to use sliding timeout. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Viewer parameter name. + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to use default row highlighting rules. + + + + + Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Condition that must be met in order to set the specified foreground and background color. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + Indicates whether to ignore case when comparing texts. + + + + + Regular expression to be matched. You must specify either text or regex. + + + + + Text to be matched. You must specify either text or regex. + + + + + Indicates whether to match whole words only. + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Background color. + + + + + Foreground color. + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send the log messages to the standard error instead of the standard output. + + + + + Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + The encoding for writing messages to the . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this. + + + + + Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. + + + + + Name of the database provider. + + + + + Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. + + + + + Indicates whether to keep the database connection open between the log events. + + + + + Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. + + + + + Name of the connection string (as specified in <connectionStrings> configuration section. + + + + + Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. + + + + + Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Text of the SQL command to be run on each log level. + + + + + Type of the SQL command to be run on each log level. + + + + + + + + + + + + + + + + + + + + + + + Type of the command. + + + + + Connection string to run the command against. If not provided, connection string from the target is used. + + + + + Indicates whether to ignore failures. + + + + + Command text. + + + + + + + + + + + + + + Layout that should be use to calcuate the value for the parameter. + + + + + Database parameter name. + + + + + Database parameter precision. + + + + + Database parameter scale. + + + + + Database parameter size. + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Layout that renders event Category. + + + + + Layout that renders event ID. + + + + + Name of the Event Log to write to. This can be System, Application or any user-defined name. + + + + + Name of the machine on which Event Log service is running. + + + + + Value to be used as the event Source. + + + + + Action to take if the message is larger than the option. + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Message length limit to write to the Event Log. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether to return to the first target after any successful write. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + File encoding. + + + + + Line ending mode. + + + + + Way file archives are numbered. + + + + + Name of the file to be used for an archive. + + + + + Indicates whether to automatically archive log files every time the specified time passes. + + + + + Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: + + + + + Indicates whether to compress archive files into the zip archive format. + + + + + Maximum number of archive files that should be kept. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Is the an absolute or relative path? + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong. + + + + + Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write + + + + + Is the an absolute or relative path? + + + + + Value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Indicates whether the footer should be written only when the file is archived. + + + + + Name of the file to write to. + + + + + Value specifying the date format to use when archiving files. + + + + + Indicates whether to archive old log file on startup. + + + + + Indicates whether to create directories if they do not exist. + + + + + Indicates whether to enable log file(s) to be deleted. + + + + + File attributes (Windows only). + + + + + Indicates whether to delete old log file on startup. + + + + + Indicates whether to replace file contents on each write instead of appending log message at the end. + + + + + Indicates whether concurrent writes to the log file by multiple processes on the same host. + + + + + Indicates whether to keep log file open instead of opening and closing it on each logging event. + + + + + Maximum number of log filenames that should be stored as existing. + + + + + Indicates whether concurrent writes to the log file by multiple processes on different network hosts. + + + + + Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger). + + + + + Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Log file buffer size in bytes. + + + + + Indicates whether to automatically flush the file buffers after each log message. + + + + + Delay in milliseconds to wait before attempting to write to the file again. + + + + + Number of times the write is appended on the file before NLog discards the log message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Condition expression. Log events who meet this condition will be forwarded to the wrapped target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Windows domain name to change context to. + + + + + Required impersonation level. + + + + + Type of the logon provider. + + + + + Logon Type. + + + + + User account password. + + + + + Indicates whether to revert to the credentials of the process instead of impersonating another user. + + + + + Username to change context to. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Interval in which messages will be written up to the number of messages. + + + + + Maximum allowed number of messages written per . + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Endpoint address. + + + + + Name of the endpoint configuration in WCF configuration file. + + + + + Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + Client ID. + + + + + Indicates whether to include per-event properties in the payload sent to the server. + + + + + Indicates whether to use binary message encoding. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + Layout that should be use to calculate the value for the parameter. + + + + + Name of the parameter. + + + + + Type of the parameter. + + + + + Type of the parameter. Obsolete alias for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Text to be rendered. + + + + + Header. + + + + + Footer. + + + + + Indicates whether to send message as HTML instead of plain text. + + + + + Encoding to be used for sending e-mail. + + + + + Indicates whether to add new lines between log entries. + + + + + CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + Mail message body (repeated for each log message send in one mail). + + + + + Mail subject. + + + + + Sender's email address (e.g. joe@domain.com). + + + + + Indicates the SMTP client timeout. + + + + + Priority used for sending mails. + + + + + Indicates whether NewLine characters in the body should be replaced with tags. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + SMTP Server to be used for sending. + + + + + SMTP Authentication mode. + + + + + Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + + + + Port number that SMTP Server is listening on. + + + + + Indicates whether the default Settings from System.Net.MailSettings should be used. + + + + + Folder where applications save mail messages to be processed by the local SMTP server. + + + + + Specifies how outgoing email messages will be handled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used when writing text to the queue. + + + + + Indicates whether to use the XML format when serializing message. This will also disable creating queues. + + + + + Indicates whether to check if a queue exists before writing to it. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Indicates whether to create the queue if it doesn't exists. + + + + + Label to associate with each message. + + + + + Name of the queue to write to. + + + + + Indicates whether to use recoverable messages (with guaranteed delivery). + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Class name. + + + + + Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Encoding to be used. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Network address. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Indicates whether to keep connection open whenever possible. + + + + + Maximum current connections. 0 = no maximum. + + + + + Maximum queue size. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Encoding to be used. + + + + + Instance of that is used to format log messages. + + + + + End of line value if a newline is appended at the end of log message . + + + + + Maximum message size in bytes. + + + + + Indicates whether to append newline at the end of log message. + + + + + Action that should be taken if the will be more connections than . + + + + + Action that should be taken if the message is larger than maxMessageSize. + + + + + Maximum current connections. 0 = no maximum. + + + + + Indicates whether to keep connection open whenever possible. + + + + + Size of the connection cache (number of connections which are kept alive). + + + + + Network address. + + + + + Maximum queue size. + + + + + Indicates whether to include dictionary contents. + + + + + Indicates whether to include source info (file name and line number) in the information sent over the network. + + + + + Indicates whether to include NLog-specific extensions to log4j schema. + + + + + Indicates whether to include stack contents. + + + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Indicates whether to perform layout calculation. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Indicates whether performance counter should be automatically created. + + + + + Name of the performance counter category. + + + + + Counter help text. + + + + + Name of the performance counter. + + + + + Performance counter type. + + + + + The value by which to increment the counter. + + + + + Performance counter instance name. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Default filter to be applied when no specific rule matches. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + Condition to be tested. + + + + + Resulting filter to be applied when the condition matches. + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of times to repeat each log message. + + + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Number of retries that should be attempted on the wrapped target in case of a failure. + + + + + Time to wait between retries in milliseconds. + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + Name of the target. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + Name of the target. + + + + + Layout used to format log messages. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the target. + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + Encoding. + + + + + Value whether escaping be done according to the old NLog style (Very non-standard) + + + + + Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + + + + Web service method name. Only used with Soap. + + + + + Web service namespace. Only used with Soap. + + + + + Protocol to be used when calling web service. + + + + + Web service URL. + + + + + Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ). + + + + + (optional) root namespace of the XML document, if POST of XML document chosen. (see and ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + Column delimiter. + + + + + Quote Character. + + + + + Quoting mode. + + + + + Indicates whether CVS should include header. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout of the column. + + + + + Name of the column. + + + + + + + + + + + + + + + + List of property names to exclude when is true + + + + + Option to include all properties from the log events + + + + + Option to render the empty object value {} + + + + + Option to suppress the extra spaces in the output json + + + + + + + + + + + + + + Determines wether or not this attribute will be Json encoded. + + + + + Layout that will be rendered as the attribute's value. + + + + + Name of the attribute. + + + + + + + + + + + + + + Footer layout. + + + + + Header layout. + + + + + Body layout (can be repeated multiple times). + + + + + + + + + + + + + + + + + + + + + Layout text. + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Condition expression. + + + + + + + + + + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + Substring to be matched. + + + + + + + + + + + + + + + + + Action to be taken when filter matches. + + + + + String to compare the layout to. + + + + + Indicates whether to ignore case when comparing strings. + + + + + Layout to be used to filter log messages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 2006f70e742aced6635c857d30ed317dc95494d5 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 29 Mar 2017 22:27:00 +0200 Subject: [PATCH 25/29] refresh con transformazioni x compilazioni dell'app.config --- MTC_Adapter/MTC-ADB/App.Debug.config | 8 ++++ MTC_Adapter/MTC-ADB/App.MySql.config | 18 +++++++ MTC_Adapter/MTC-ADB/App.Release.config | 5 ++ MTC_Adapter/MTC-ADB/App.config | 66 ++++++++++++++------------ MTC_Adapter/MTC-ADB/MTC-ADB.csproj | 26 +++++++++- MTC_Adapter/MTC_Adapter.sln | 19 +++++++- 6 files changed, 109 insertions(+), 33 deletions(-) create mode 100644 MTC_Adapter/MTC-ADB/App.Debug.config create mode 100644 MTC_Adapter/MTC-ADB/App.MySql.config create mode 100644 MTC_Adapter/MTC-ADB/App.Release.config diff --git a/MTC_Adapter/MTC-ADB/App.Debug.config b/MTC_Adapter/MTC-ADB/App.Debug.config new file mode 100644 index 0000000..69915f9 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/App.Debug.config @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/App.MySql.config b/MTC_Adapter/MTC-ADB/App.MySql.config new file mode 100644 index 0000000..c567181 --- /dev/null +++ b/MTC_Adapter/MTC-ADB/App.MySql.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/App.Release.config b/MTC_Adapter/MTC-ADB/App.Release.config new file mode 100644 index 0000000..4fe451b --- /dev/null +++ b/MTC_Adapter/MTC-ADB/App.Release.config @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/App.config b/MTC_Adapter/MTC-ADB/App.config index 19a9d9a..2f060f3 100644 --- a/MTC_Adapter/MTC-ADB/App.config +++ b/MTC_Adapter/MTC-ADB/App.config @@ -1,55 +1,61 @@  - + - - + + + - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - + - - + + \ No newline at end of file diff --git a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj index d946a62..3cca362 100644 --- a/MTC_Adapter/MTC-ADB/MTC-ADB.csproj +++ b/MTC_Adapter/MTC-ADB/MTC-ADB.csproj @@ -33,6 +33,16 @@ prompt 4 + + bin\MySql\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + true + False @@ -72,6 +82,18 @@ + + App.config + True + + + App.config + True + + + App.config + True + Always @@ -114,7 +136,9 @@ - + + true + diff --git a/MTC_Adapter/MTC_Adapter.sln b/MTC_Adapter/MTC_Adapter.sln index 7611053..505d330 100644 --- a/MTC_Adapter/MTC_Adapter.sln +++ b/MTC_Adapter/MTC_Adapter.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26228.9 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetAdapterSDK", "..\..\..\GitHub\MTConnect\dot_net_sdk\DotNetAdapterSDK.csproj", "{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}" EndProject @@ -31,6 +31,7 @@ Global CMS-OSAI|Any CPU = CMS-OSAI|Any CPU CMS-SIEMENS|Any CPU = CMS-SIEMENS|Any CPU Debug|Any CPU = Debug|Any CPU + MySql|Any CPU = MySql|Any CPU Release|Any CPU = Release|Any CPU SCM-ESA|Any CPU = SCM-ESA|Any CPU EndGlobalSection @@ -42,6 +43,8 @@ Global {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.MySql|Any CPU.Build.0 = Release|Any CPU {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Release|Any CPU.Build.0 = Release|Any CPU {D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU @@ -54,6 +57,8 @@ Global {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.Build.0 = Release|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.Build.0 = Release|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU @@ -66,6 +71,8 @@ Global {736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|Any CPU.Build.0 = CMS-SIEMENS|Any CPU {736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.Build.0 = Release|Any CPU {736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.ActiveCfg = Release|Any CPU {736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.Build.0 = Release|Any CPU {736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|Any CPU.ActiveCfg = SCM-ESA|Any CPU @@ -78,6 +85,8 @@ Global {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.Build.0 = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU @@ -90,6 +99,8 @@ Global {7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.Build.0 = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.ActiveCfg = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.Build.0 = Release|Any CPU {7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU @@ -102,6 +113,8 @@ Global {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.ActiveCfg = MySql|Any CPU + {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.Build.0 = MySql|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.Build.0 = Release|Any CPU {DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU @@ -114,6 +127,8 @@ Global {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.ActiveCfg = Release|Any CPU + {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.Build.0 = Release|Any CPU {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.Build.0 = Release|Any CPU {EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU From fdbb6a99651bf9edc36ca1511505ec48011714ec Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Thu, 30 Mar 2017 09:07:53 +0200 Subject: [PATCH 26/29] inserita lettura aree memoria selezionate e verifica errore mancata propagazione nome programma su adapter... --- MTC_Adapter/MTC_Adapter/AdapterESA.cs | 22 +- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 8 +- .../DATA/CONF/Adapter_ItemList.xml | 143 +- .../MTC_Adapter/DATA/CONF/AlarmList.map | 1444 +++++------------ .../MTC_Adapter/DATA/CONF/EsaKvara.ini | 7 +- .../MTC_Adapter/DATA/CONF/IOT_ByteList.map | 9 +- .../MTC_Adapter/DATA/CONF/SCM_prodFile.pro | 6 + MTC_Adapter/MTC_Adapter/Resources/MTCA.ico | Bin 1150 -> 148333 bytes .../Resources/SCM/IOT_ByteList.map | 9 +- 9 files changed, 605 insertions(+), 1043 deletions(-) create mode 100644 MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro diff --git a/MTC_Adapter/MTC_Adapter/AdapterESA.cs b/MTC_Adapter/MTC_Adapter/AdapterESA.cs index 149467e..c687945 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterESA.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterESA.cs @@ -443,6 +443,16 @@ namespace MTC_Adapter // FARE!!! } } + else if (mapIOT_Byte[i].varName.StartsWith("IOT_EXEC_A_")) + { + // salvo SOLO SE ha bit = 1.. + if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) + { + // salvo area selezionata! + vettPath[idxPath].mPathCurrArea.Value = bitNum + 1; + vettPath[idxPath].mPathCurrProg.Value = vettMemArea[bitNum].mMemAreaProgNumRep.Value; + } + } } } // imposto exe mode alla fine secondo gerarchia stati... @@ -801,7 +811,7 @@ namespace MTC_Adapter { try { - valString += Convert.ToChar(ncDevice.PLC_MemoryAreaIOT_String[j,i]).ToString().Replace("\0", " "); + valString += Convert.ToChar(ncDevice.PLC_MemoryAreaIOT_String[j, i]).ToString().Replace("\0", " "); } catch (Exception exc) { @@ -810,6 +820,8 @@ namespace MTC_Adapter } // trimmo! valString = valString.Trim(); + // salvo + vettMemArea[j].mMemAreaProgName.Value = valString; // aggiungo feedrate sb.AppendLine(string.Format("{0}: {1}", mapIOT_String[j].varName, valString)); } @@ -818,7 +830,7 @@ namespace MTC_Adapter } public override void getGlobalData() { - base.getGlobalData(); + base.getGlobalData(); } /// @@ -829,18 +841,18 @@ namespace MTC_Adapter // inizializzo data monitor su FORM parentForm.dataMonitor = ""; - // recupero le varie memorie + // recupero le varie memorie (prima string che mi serve x area selezionata --> programma selezionato) + getIotMem_String(); getIotMem_Byte(); getIotMem_Word(); getIotMem_DWord(); - getIotMem_String(); // processo componenti specifici x info... getUnOp(); getPath(); getAxis(); } - + /// /// Recupera la speed override x i mandrini (UnOp) /// diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index a7a9aee..1a6fb68 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -228,6 +228,10 @@ namespace MTC_Adapter /// public Event mPathCurrProg; /// + /// Area Programma corrente/selezionata + /// + public Event mPathCurrArea; + /// /// num riga corrente /// public Event mPathCurrProgRowNum; @@ -315,6 +319,7 @@ namespace MTC_Adapter mPathRunMode = new Event(string.Format("{0}_RUN_MODE", ident)); mPathExeMode = new Event(string.Format("{0}_EXE_MODE", ident)); mPathCurrProg = new Event(string.Format("{0}_CurrProg", ident)); + mPathCurrArea = new Event(string.Format("{0}_CurrArea", ident)); mPathCurrProgRowNum = new Event(string.Format("{0}_CurrProg_RowNum", ident)); mPathActiveAxes = new Event(string.Format("{0}_ActiveAxes", ident)); mPathCodG_Act = new MTConnect.Message(string.Format("{0}_CodG_Act", ident)); @@ -1064,6 +1069,7 @@ namespace MTC_Adapter mAdapter.AddDataItem(vettPath[i].mPathRunMode); mAdapter.AddDataItem(vettPath[i].mPathExeMode); mAdapter.AddDataItem(vettPath[i].mPathCurrProg); + mAdapter.AddDataItem(vettPath[i].mPathCurrArea); mAdapter.AddDataItem(vettPath[i].mPathCurrProgRowNum); mAdapter.AddDataItem(vettPath[i].mPathActiveAxes); mAdapter.AddDataItem(vettPath[i].mPathCodG_Act); @@ -2078,7 +2084,7 @@ namespace MTC_Adapter return needSave; } /// - /// Processing del program nme + /// Processing del program name /// /// /// diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml b/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml index 33a225c..2ec34fc 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml @@ -1,8 +1,8 @@ 1 - ADAPTER_OSAI - OSAI + ADAPTER_ESAGV + ESAGV 0 0 @@ -24,6 +24,14 @@ VacAct_02 + + VacAct_03 + + + + VacAct_04 + + @@ -70,16 +78,40 @@ Path_01 - - Path_02 - - UnOp_01 + + UnOp_02 + + + + UnOp_03 + + + + UnOp_04 + + + + UnOp_05 + + + + UnOp_06 + + + + UnOp_07 + + + + UnOp_08 + + @@ -136,5 +168,104 @@ + + Axis_07 + + + Axis_07_Type + LINEAR + + + + + Axis_08 + + + Axis_08_Type + LINEAR + + + + + Axis_09 + + + Axis_09_Type + LINEAR + + + + + Axis_10 + + + Axis_10_Type + LINEAR + + + + + Axis_11 + + + Axis_11_Type + LINEAR + + + + + Axis_12 + + + Axis_12_Type + LINEAR + + + + + Axis_13 + + + Axis_13_Type + LINEAR + + + + + Axis_14 + + + Axis_14_Type + LINEAR + + + + + Axis_15 + + + Axis_15_Type + LINEAR + + + + + + MemArea_01 + + + + MemArea_02 + + + + MemArea_03 + + + + MemArea_04 + + + \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map index 6698345..22ee9b1 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map @@ -1,1025 +1,421 @@ # Commenti con "#", elenco tipo COD_NUM|GRUPPO|LEVEL|DESCRIZIONE completa -000001|PLC|FAULT|[COD 001000] - 334 ERRORE COMUNICAZIONE PROFIBUS -000002|PLC|FAULT|[COD 001001] - 700 TABELLE IN MODIFICA -000003|PLC|FAULT|[COD 001002] - 404 BILANCIAMENTO ASSE Z INSUFFICIENTE -000004|PLC|FAULT|[COD 001003] - 403 SURRISCALDAMENTO ARMADIO ELETTRICO -000005|PLC|FAULT|[COD 001004] - 173 CAMBIARE LA BATTERIA -000006|PLC|FAULT|[COD 001005] - 407 UNO O PIU ASSI IN EXTRA CORSA -000007|PLC|FAULT|[COD 001006] - 406 PULSANTI DI EMERGENZA -000008|PLC|FAULT|[COD 001007] - ... -000009|PLC|FAULT|[COD 001008] - 583 MACCHINA SPENTA -000010|PLC|FAULT|[COD 001009] - 782 RICHIESTA ESECUZIONE TEST DI SICUREZZA -000011|PLC|FAULT|[COD 001010] - 783 INCONSISTENZA SEGNALI DUALCHEK (PARATIA) -000012|PLC|FAULT|[COD 001011] - 784 SOVRACORRENTE MODULI I/O LINK -000013|PLC|FAULT|[COD 001012] - 667 CIRCUITO DI SICUREZZA GUASTO -000014|PLC|FAULT|[COD 001013] - 404 BILANCIAMENTO ASSE W INSUFFICIENTE -000015|PLC|FAULT|[COD 001014] - 584 PORTA DI SICUREZZA AUSILIARIA 1 NON CHIUSA -000016|PLC|FAULT|[COD 001015] - 584 PORTA DI SICUREZZA AUSILIARIA 2 NON CHIUSA -000017|PLC|FAULT|[COD 001016] - 001 HAI VERIFICATO TABELLE UTENSILI ? PREMERE SOFTKEY SI -000018|PLC|FAULT|[COD 001017] - 002 SEI SICURO ? PREMERE SOFTKEY SI -000019|PLC|FAULT|[COD 001018] - 666 MODULO CONTROLLO MANDRINO FERMO NON OK -000020|PLC|FAULT|[COD 001019] - 666 DISPOSITIVO DI SICUREZZA GUASTO -000021|PLC|FAULT|[COD 001020] - 689 STATUS UTENSILE NON OK -000022|PLC|FAULT|[COD 001021] - 688 ERRORE TOOLTABLE - SINCRONISMO DATI -000023|PLC|FAULT|[COD 001022] - 688 ERRORE TOOLTABLE - UTENSILE NON TROVATO -000024|PLC|FAULT|[COD 001023] - 688 ERRORE TOOLTABLE - PASTIGLIA NON TROVATA -000025|PLC|FAULT|[COD 001024] - 688 ERRORE TOOLTABLE - FAMIGLIA NON TROVATA -000026|PLC|FAULT|[COD 001025] - 688 ERRORE TOOLTABLE - MAGAZZINO/POSTO NON TROVATO -000027|PLC|FAULT|[COD 001026] - 688 ERRORE TOOLTABLE - VITA UT. ESAURITA PER FAMIGLIA -000028|PLC|FAULT|[COD 001027] - 688 ERRORE TOOLTABLE - POSTO MAGAZZINO NON TROVATO -000029|PLC|FAULT|[COD 001028] - ... -000030|PLC|FAULT|[COD 001029] - ... -000031|PLC|FAULT|[COD 001030] - ... -000032|PLC|FAULT|[COD 001031] - 146 FIELDBUS KO (375) -000033|PLC|FAULT|[COD 001032] - -000034|PLC|FAULT|[COD 001033] - -000035|PLC|FAULT|[COD 001034] - -000036|PLC|FAULT|[COD 001035] - -000037|PLC|FAULT|[COD 001036] - -000038|PLC|FAULT|[COD 001037] - -000039|PLC|FAULT|[COD 001038] - -000040|PLC|FAULT|[COD 001039] - -000041|PLC|FAULT|[COD 001040] - -000042|PLC|FAULT|[COD 001041] - -000043|PLC|FAULT|[COD 001042] - -000044|PLC|FAULT|[COD 001043] - -000045|PLC|FAULT|[COD 001044] - -000046|PLC|FAULT|[COD 001045] - -000047|PLC|FAULT|[COD 001046] - -000048|PLC|FAULT|[COD 001047] - -000049|PLC|FAULT|[COD 001048] - -000050|PLC|FAULT|[COD 001049] - -000051|PLC|FAULT|[COD 001050] - -000052|PLC|FAULT|[COD 001051] - -000053|PLC|FAULT|[COD 001052] - -000054|PLC|FAULT|[COD 001053] - -000055|PLC|FAULT|[COD 001054] - -000056|PLC|FAULT|[COD 001055] - -000057|PLC|FAULT|[COD 001056] - -000058|PLC|FAULT|[COD 001057] - -000059|PLC|FAULT|[COD 001058] - -000060|PLC|FAULT|[COD 001059] - -000061|PLC|FAULT|[COD 001060] - -000062|PLC|FAULT|[COD 001061] - -000063|PLC|FAULT|[COD 001062] - -000064|PLC|FAULT|[COD 001063] - -000065|PLC|FAULT|[COD 001064] - -000066|PLC|FAULT|[COD 001065] - -000067|PLC|FAULT|[COD 001066] - -000068|PLC|FAULT|[COD 001067] - -000069|PLC|FAULT|[COD 001068] - -000070|PLC|FAULT|[COD 001069] - -000071|PLC|FAULT|[COD 001070] - -000072|PLC|FAULT|[COD 001071] - -000073|PLC|FAULT|[COD 001072] - -000074|PLC|FAULT|[COD 001073] - -000075|PLC|FAULT|[COD 001074] - -000076|PLC|FAULT|[COD 001075] - -000077|PLC|FAULT|[COD 001076] - -000078|PLC|FAULT|[COD 001077] - -000079|PLC|FAULT|[COD 001078] - -000080|PLC|FAULT|[COD 001079] - -000081|PLC|FAULT|[COD 001080] - -000082|PLC|FAULT|[COD 001081] - -000083|PLC|FAULT|[COD 001082] - -000084|PLC|FAULT|[COD 001083] - -000085|PLC|FAULT|[COD 001084] - -000086|PLC|FAULT|[COD 001085] - -000087|PLC|FAULT|[COD 001086] - -000088|PLC|FAULT|[COD 001087] - -000089|PLC|FAULT|[COD 001088] - -000090|PLC|FAULT|[COD 001089] - -000091|PLC|FAULT|[COD 001090] - -000092|PLC|FAULT|[COD 001091] - -000093|PLC|FAULT|[COD 001092] - -000094|PLC|FAULT|[COD 001093] - -000095|PLC|FAULT|[COD 001094] - -000096|PLC|FAULT|[COD 001095] - -000097|PLC|FAULT|[COD 001096] - -000098|PLC|FAULT|[COD 001097] - -000099|PLC|FAULT|[COD 001098] - -000100|PLC|FAULT|[COD 001099] - -000101|PLC|FAULT|[COD 001100] - -000102|PLC|FAULT|[COD 001101] - -000103|PLC|FAULT|[COD 001102] - -000104|PLC|FAULT|[COD 001103] - -000105|PLC|FAULT|[COD 001104] - -000106|PLC|FAULT|[COD 001105] - -000107|PLC|FAULT|[COD 001106] - -000108|PLC|FAULT|[COD 001107] - -000109|PLC|FAULT|[COD 001108] - -000110|PLC|FAULT|[COD 001109] - -000111|PLC|FAULT|[COD 001110] - -000112|PLC|FAULT|[COD 001111] - -000113|PLC|FAULT|[COD 001112] - -000114|PLC|FAULT|[COD 001113] - -000115|PLC|FAULT|[COD 001114] - -000116|PLC|FAULT|[COD 001115] - -000117|PLC|FAULT|[COD 001116] - -000118|PLC|FAULT|[COD 001117] - -000119|PLC|FAULT|[COD 001118] - -000120|PLC|FAULT|[COD 001119] - -000121|PLC|FAULT|[COD 001120] - -000122|PLC|FAULT|[COD 001121] - -000123|PLC|FAULT|[COD 001122] - -000124|PLC|FAULT|[COD 001123] - -000125|PLC|FAULT|[COD 001124] - -000126|PLC|FAULT|[COD 001125] - -000127|PLC|FAULT|[COD 001126] - -000128|PLC|FAULT|[COD 001127] - -000129|PLC|FAULT|[COD 001128] - -000130|PLC|FAULT|[COD 001129] - -000131|PLC|FAULT|[COD 001130] - -000132|PLC|FAULT|[COD 001131] - -000133|PLC|FAULT|[COD 001132] - -000134|PLC|FAULT|[COD 001133] - -000135|PLC|FAULT|[COD 001134] - -000136|PLC|FAULT|[COD 001135] - -000137|PLC|FAULT|[COD 001136] - -000138|PLC|FAULT|[COD 001137] - -000139|PLC|FAULT|[COD 001138] - -000140|PLC|FAULT|[COD 001139] - -000141|PLC|FAULT|[COD 001140] - -000142|PLC|FAULT|[COD 001141] - -000143|PLC|FAULT|[COD 001142] - -000144|PLC|FAULT|[COD 001143] - -000145|PLC|FAULT|[COD 001144] - -000146|PLC|FAULT|[COD 001145] - -000147|PLC|FAULT|[COD 001146] - -000148|PLC|FAULT|[COD 001147] - -000149|PLC|FAULT|[COD 001148] - -000150|PLC|FAULT|[COD 001149] - -000151|PLC|FAULT|[COD 001150] - -000152|PLC|FAULT|[COD 001151] - -000153|PLC|FAULT|[COD 001152] - -000154|PLC|FAULT|[COD 001153] - -000155|PLC|FAULT|[COD 001154] - -000156|PLC|FAULT|[COD 001155] - -000157|PLC|FAULT|[COD 001156] - -000158|PLC|FAULT|[COD 001157] - -000159|PLC|FAULT|[COD 001158] - -000160|PLC|FAULT|[COD 001159] - -000161|PLC|FAULT|[COD 001160] - -000162|PLC|FAULT|[COD 001161] - -000163|PLC|FAULT|[COD 001162] - -000164|PLC|FAULT|[COD 001163] - -000165|PLC|FAULT|[COD 001164] - -000166|PLC|FAULT|[COD 001165] - -000167|PLC|FAULT|[COD 001166] - -000168|PLC|FAULT|[COD 001167] - -000169|PLC|FAULT|[COD 001168] - -000170|PLC|FAULT|[COD 001169] - -000171|PLC|FAULT|[COD 001170] - -000172|PLC|FAULT|[COD 001171] - -000173|PLC|FAULT|[COD 001172] - -000174|PLC|FAULT|[COD 001173] - -000175|PLC|FAULT|[COD 001174] - -000176|PLC|FAULT|[COD 001175] - -000177|PLC|FAULT|[COD 001176] - -000178|PLC|FAULT|[COD 001177] - -000179|PLC|FAULT|[COD 001178] - -000180|PLC|FAULT|[COD 001179] - -000181|PLC|FAULT|[COD 001180] - -000182|PLC|FAULT|[COD 001181] - -000183|PLC|FAULT|[COD 001182] - -000184|PLC|FAULT|[COD 001183] - -000185|PLC|FAULT|[COD 001184] - -000186|PLC|FAULT|[COD 001185] - -000187|PLC|FAULT|[COD 001186] - -000188|PLC|FAULT|[COD 001187] - -000189|PLC|FAULT|[COD 001188] - -000190|PLC|FAULT|[COD 001189] - -000191|PLC|FAULT|[COD 001190] - -000192|PLC|FAULT|[COD 001191] - -000193|PLC|FAULT|[COD 001192] - -000194|PLC|FAULT|[COD 001193] - -000195|PLC|FAULT|[COD 001194] - -000196|PLC|FAULT|[COD 001195] - -000197|PLC|FAULT|[COD 001196] - -000198|PLC|FAULT|[COD 001197] - -000199|PLC|FAULT|[COD 001198] - -000200|PLC|FAULT|[COD 001199] - -000201|PLC|FAULT|[COD 001200] - -000202|PLC|FAULT|[COD 001201] - -000203|PLC|FAULT|[COD 001202] - -000204|PLC|FAULT|[COD 001203] - -000205|PLC|FAULT|[COD 001204] - -000206|PLC|FAULT|[COD 001205] - -000207|PLC|FAULT|[COD 001206] - -000208|PLC|FAULT|[COD 001207] - -000209|PLC|FAULT|[COD 001208] - -000210|PLC|FAULT|[COD 001209] - -000211|PLC|FAULT|[COD 001210] - -000212|PLC|FAULT|[COD 001211] - -000213|PLC|FAULT|[COD 001212] - -000214|PLC|FAULT|[COD 001213] - -000215|PLC|FAULT|[COD 001214] - -000216|PLC|FAULT|[COD 001215] - -000217|PLC|FAULT|[COD 001216] - -000218|PLC|FAULT|[COD 001217] - -000219|PLC|FAULT|[COD 001218] - -000220|PLC|FAULT|[COD 001219] - -000221|PLC|FAULT|[COD 001220] - -000222|PLC|FAULT|[COD 001221] - -000223|PLC|FAULT|[COD 001222] - -000224|PLC|FAULT|[COD 001223] - -000225|PLC|FAULT|[COD 001224] - -000226|PLC|FAULT|[COD 001225] - -000227|PLC|FAULT|[COD 001226] - -000228|PLC|FAULT|[COD 001227] - -000229|PLC|FAULT|[COD 001228] - -000230|PLC|FAULT|[COD 001229] - -000231|PLC|FAULT|[COD 001230] - -000232|PLC|FAULT|[COD 001231] - -000233|PLC|FAULT|[COD 001232] - -000234|PLC|FAULT|[COD 001233] - -000235|PLC|FAULT|[COD 001234] - -000236|PLC|FAULT|[COD 001235] - -000237|PLC|FAULT|[COD 001236] - -000238|PLC|FAULT|[COD 001237] - -000239|PLC|FAULT|[COD 001238] - -000240|PLC|FAULT|[COD 001239] - -000241|PLC|FAULT|[COD 001240] - -000242|PLC|FAULT|[COD 001241] - -000243|PLC|FAULT|[COD 001242] - -000244|PLC|FAULT|[COD 001243] - -000245|PLC|FAULT|[COD 001244] - -000246|PLC|FAULT|[COD 001245] - -000247|PLC|FAULT|[COD 001246] - -000248|PLC|FAULT|[COD 001247] - -000249|PLC|FAULT|[COD 001248] - -000250|PLC|FAULT|[COD 001249] - -000251|PLC|FAULT|[COD 001250] - -000252|PLC|FAULT|[COD 001251] - -000253|PLC|FAULT|[COD 001252] - -000254|PLC|FAULT|[COD 001253] - -000255|PLC|FAULT|[COD 001254] - -000256|PLC|FAULT|[COD 001255] - -000257|PLC|FAULT|[COD 002000] - 444 PRESSIONE LIQUIDO DI RAFFREDDAMENTO INSUFFICIENTE -000258|PLC|FAULT|[COD 002001] - 441 MALFUNZIONAMENTO RAFFREDDAMENTO MANDRINI -000259|PLC|FAULT|[COD 002002] - 276 LIMITI SOFTWARE ASSE X NON ATTUALI -000260|PLC|FAULT|[COD 002003] - 512 CAMBIO ZONA INTERROTTO -000261|PLC|FAULT|[COD 002004] - 346 PARATIA NON IN POSIZIONE -000262|PLC|FAULT|[COD 002005] - 607 PREMERE PRENOTAZIONE CAMBIO ZONA -000263|PLC|FAULT|[COD 002006] - 150 AZIONAMENTI NON ABILITATI -000264|PLC|FAULT|[COD 002007] - 161 COMUNICAZIONE INVERTER IN ERRORE -000265|PLC|FAULT|[COD 002008] - 162 FATAL ERROR INVERTER -000266|PLC|FAULT|[COD 002009] - 398 PRESSIONE ARIA INSUFFICIENTE -000267|PLC|FAULT|[COD 002010] - 400 LUBRIFICAZIONE INEFFICIENTE -000268|PLC|FAULT|[COD 002011] - 460 ASSE B BLOCCATO -000269|PLC|FAULT|[COD 002012] - 458 ASSE B NON BLOCCATO -000270|PLC|FAULT|[COD 002013] - 460 ASSE C BLOCCATO -000271|PLC|FAULT|[COD 002014] - 458 ASSE C NON BLOCCATO -000272|PLC|FAULT|[COD 002015] - 105 MACCHINA IN HOLD -000273|PLC|FAULT|[COD 002016] - 614 PREMERE LA SOFTKEY RIPRISTINO ACCOPPIAMENTO Z-W -000274|PLC|FAULT|[COD 002017] - 593 PROTEZIONI DI SICUREZZA -000275|PLC|FAULT|[COD 002018] - 362 MONTANTE CENTRALE NON IN POSIZIONE -000276|PLC|FAULT|[COD 002019] - 157 SICUREZZE ANTICADUTA ASSE Z NON OK -000277|PLC|FAULT|[COD 002020] - 158 PIOLO ANTICADUTA ASSE Z NON IN POSIZIONE -000278|PLC|FAULT|[COD 002021] - 115 CONTROLLO VELOCITA MANDRINO -000279|PLC|FAULT|[COD 002022] - 135 CONVERTITORE IN BLOCCO -000280|PLC|FAULT|[COD 002023] - 514 PROTEZIONE SUPPORTO LASER NON IN POSIZIONE -000281|PLC|FAULT|[COD 002024] - 561 LASER NON IN POSIZIONE -000282|PLC|FAULT|[COD 002025] - 230 RELE TERMICO POMPA VUOTO 1 -000283|PLC|FAULT|[COD 002026] - 230 RELE TERMICO POMPA VUOTO 2 -000284|PLC|FAULT|[COD 002027] - 200 RELE TERMICO MANDRINO -000285|PLC|FAULT|[COD 002028] - 168 CONVERTITORE NON ABILITATO -000286|PLC|FAULT|[COD 002029] - 333 COMUNICAZIONE VOLANTINO IN ERRORE -000287|PLC|FAULT|[COD 002030] - 390 FUNZIONE T NON PERMESSA -000288|PLC|FAULT|[COD 002031] - 429 UTENSILE IN MANDRINO NON OK -000289|PLC|FAULT|[COD 002032] - 245 PROTEZIONE TERMICA ASSE A -000290|PLC|FAULT|[COD 002033] - 245 PROTEZIONE TERMICA ASSE C -000291|PLC|FAULT|[COD 002034] - 004 VUOI ATTIVARE IL PROGRAMMA? PREMERE LA SOFTKEY SI OPPURE RESET -000292|PLC|FAULT|[COD 002035] - 490 VERIFICA POSIZIONE UTENSILI -000293|PLC|FAULT|[COD 002036] - 522 NUMERO DI GIRI TROPPO ELEVATI -000294|PLC|FAULT|[COD 002037] - 498 CARICO MASSIMO SUL MANDRINO -000295|PLC|FAULT|[COD 002038] - 397 CIRCUITO REFRIGERANTE UTENSILE NON OK -000296|PLC|FAULT|[COD 002039] - 465 UTENSILE ROTTO -000297|PLC|FAULT|[COD 002040] - 559 LASER/TASTATORE IN MANDRINO -000298|PLC|FAULT|[COD 002041] - 572 TASTATORE NON PRONTO -000299|PLC|FAULT|[COD 002042] - 514 PROTEZIONE SUPPORTO TASTATORE NON IN POSIZIONE -000300|PLC|FAULT|[COD 002043] - 561 TASTATORE NON IN POSIZIONE -000301|PLC|FAULT|[COD 002044] - 163 FRENO CONVERTITORE NON OK -000302|PLC|FAULT|[COD 002045] - 572 RADIO PROBE - BATTERIA SCARICA -000303|PLC|FAULT|[COD 002046] - 640 TAVOLE NON IN POSIZIONE CORRETTA -000304|PLC|FAULT|[COD 002047] - 673 ASSE Z NON OK PER CAMBIO TAVOLA -000305|PLC|FAULT|[COD 002048] - 641 CAMBIO TAVOLA INTERROTTO -000306|PLC|FAULT|[COD 002049] - 130 PROBE DEVICE NON OK - DISATTIVARE DRY RUN -000307|PLC|FAULT|[COD 002050] - 276 LIMITI SOFTWARE ASSE C NON ATTUALI -000308|PLC|FAULT|[COD 002051] - 495 AZZERAMENTO ASSI CON UTENSILE NON CONSENTITO -000309|PLC|FAULT|[COD 002052] - 479 PORTELLE ASPIRAZIONE DESTRA NON IN POSIZIONE -000310|PLC|FAULT|[COD 002053] - 479 PORTELLE ASPIRAZIONE SINISTRA NON IN POSIZIONE -000311|PLC|FAULT|[COD 002054] - ... -000312|PLC|FAULT|[COD 002055] - ... -000313|PLC|FAULT|[COD 002056] - ... -000314|PLC|FAULT|[COD 002057] - ... -000315|PLC|FAULT|[COD 002058] - 444 PRESSIONE LIQUIDO DI RAFFREDDAMENTO MOTORI TORQUE INSUFFICIENTE(TORQUE) -000316|PLC|FAULT|[COD 002059] - 672 CIRCUITO LIQUIDO DI RAFFREDDAMENTO MOTORI TORQUE NON OK -000317|PLC|FAULT|[COD 002060] - 265 ASSE X NON IN POSIZIONE PER AZZERAMENTO -000318|PLC|FAULT|[COD 002061] - 265 ASSE Y NON IN POSIZIONE PER AZZERAMENTO -000319|PLC|FAULT|[COD 002062] - 265 ASSE Z NON IN POSIZIONE PER AZZERAMENTO -000320|PLC|FAULT|[COD 002063] - ... -000321|PLC|FAULT|[COD 002064] - 551 CONDIZIONI NON OK PER GRUPPO A FORARE -000322|PLC|FAULT|[COD 002065] - 265 ASSE B NON IN POSIZIONE PER AZZERAMENTO -000323|PLC|FAULT|[COD 002066] - 265 ASSE C NON IN POSIZIONE PER AZZERAMENTO -000324|PLC|FAULT|[COD 002067] - 270 RELE TERMICO GRUPPO DI FORATURA -000325|PLC|FAULT|[COD 002068] - ... -000326|PLC|FAULT|[COD 002069] - ... -000327|PLC|FAULT|[COD 002070] - 105 STOP DA DISPOSITIVO DI MONITORAGGIO -000328|PLC|FAULT|[COD 002071] - ... -000329|PLC|FAULT|[COD 002072] - 551 CONDIZIONI NON OK PER GRUPPO A FORARE -000330|PLC|FAULT|[COD 002073] - 265 ASSE B NON IN POSIZIONE PER AZZERAMENTO -000331|PLC|FAULT|[COD 002074] - 265 ASSE C NON IN POSIZIONE PER AZZERAMENTO -000332|PLC|FAULT|[COD 002075] - 270 RELE TERMICO GRUPPO DI FORATURA -000333|PLC|FAULT|[COD 002076] - ... -000334|PLC|FAULT|[COD 002077] - ... -000335|PLC|FAULT|[COD 002078] - 105 STOP DA DISPOSITIVO DI MONITORAGGIO -000336|PLC|FAULT|[COD 002079] - ... -000337|PLC|FAULT|[COD 002080] - -000338|PLC|FAULT|[COD 002081] - -000339|PLC|FAULT|[COD 002082] - -000340|PLC|FAULT|[COD 002083] - -000341|PLC|FAULT|[COD 002084] - -000342|PLC|FAULT|[COD 002085] - -000343|PLC|FAULT|[COD 002086] - -000344|PLC|FAULT|[COD 002087] - -000345|PLC|FAULT|[COD 002088] - -000346|PLC|FAULT|[COD 002089] - -000347|PLC|FAULT|[COD 002090] - -000348|PLC|FAULT|[COD 002091] - -000349|PLC|FAULT|[COD 002092] - -000350|PLC|FAULT|[COD 002093] - -000351|PLC|FAULT|[COD 002094] - -000352|PLC|FAULT|[COD 002095] - -000353|PLC|FAULT|[COD 002096] - -000354|PLC|FAULT|[COD 000000] - -000355|PLC|FAULT|[COD 000000] - -000356|PLC|FAULT|[COD 000000] - -000357|PLC|FAULT|[COD 000000] - -000358|PLC|FAULT|[COD 000000] - -000359|PLC|FAULT|[COD 000000] - -000360|PLC|FAULT|[COD 000000] - -000361|PLC|FAULT|[COD 000000] - -000362|PLC|FAULT|[COD 000000] - -000363|PLC|FAULT|[COD 000000] - -000364|PLC|FAULT|[COD 000000] - -000365|PLC|FAULT|[COD 000000] - -000366|PLC|FAULT|[COD 000000] - -000367|PLC|FAULT|[COD 000000] - -000368|PLC|FAULT|[COD 000000] - -000369|PLC|FAULT|[COD 002100] - 503 CAMBIO UTENSILE IN CORSO -000370|PLC|FAULT|[COD 002101] - 781 UNO O PIU ASSI SENZA RIFERIMENTO -000371|PLC|FAULT|[COD 002102] - 674 MACCHINA NON IN ZONA DI LAVORO -000372|PLC|FAULT|[COD 002103] - 785 CONSENSO APERTURA PORTE NEGATO -000373|PLC|FAULT|[COD 002104] - 520 FUNZIONE STALL MODE ATTIVA -000374|PLC|FAULT|[COD 002105] - 450 UTENSILE MANDRINO NON BLOCCATO -000375|PLC|FAULT|[COD 002106] - 780 STAZIONE OCCUPATA MAGAZZINO -000376|PLC|FAULT|[COD 002107] - 530 PULSANTIERA ESTERNA ABILITATA -000377|PLC|FAULT|[COD 002108] - 504 CAMBIO UTENSILE INTERROTTO -000378|PLC|FAULT|[COD 002109] - 363 MONTANTE CENTRALE ALTO -000379|PLC|FAULT|[COD 002110] - =--- PREALLARME TERMICO TORQUE A -000380|PLC|FAULT|[COD 002111] - 498 CARICO MASSIMO SUL MANDRINO SUPERATO SOGLIA S1 -000381|PLC|FAULT|[COD 002112] - --- PREALLARME TERMICO TORQUE C -000382|PLC|FAULT|[COD 002113] - 432 UTENSILE NON SGANCIATO -000383|PLC|FAULT|[COD 002114] - 475 CUFFIA ASPIRAZIONE NON IN POSIZIONE -000384|PLC|FAULT|[COD 002115] - 498 CARICO MASSIMO SUL MANDRINO SUPERATO SOGLIA S6 -000385|PLC|FAULT|[COD 002116] - 505 MOVIMENTO CONSENTITO Z+ -000386|PLC|FAULT|[COD 002117] - 545 ASSE Z NON IN POSIZIONE -000387|PLC|FAULT|[COD 002118] - 528 MODALITA PROVA PROGRAMMA ATTIVA -000388|PLC|FAULT|[COD 002119] - 351 MESSAGGI PLC INVIATO SMS -000389|PLC|FAULT|[COD 002120] - 603 INDICARE IL NOME DELL OPERATORE E CAUSA ARRESTO MACCHINA -000390|PLC|FAULT|[COD 002121] - 538 TAVOLA NON POSIZIONATA -000391|PLC|FAULT|[COD 002122] - 595 BARRIERE DI SICUREZZA -000392|PLC|FAULT|[COD 002123] - 689 AVVISO TOOLTABLE - T INTERPRETATA COME MANINA -000393|PLC|FAULT|[COD 002124] - 689 AVVISO TOOLTABLE - T INTERPRETATA COME ID UTENSILE -000394|PLC|FAULT|[COD 002125] - 260 REGOLAZIONE AUTOMATICA FEED OVERRIDE IN CORSO -000395|PLC|FAULT|[COD 002126] - 464 VITA UTENSILE ESAURITA -000396|PLC|FAULT|[COD 002127] - 003 SEI SICURO DI VOLER CAMBIARE ORIGINE ? PREMERE SOFTKEY SI O RESET -000397|PLC|FAULT|[COD 002128] - 305 BLOCCAGGIO A DEPRESSIONE 1 INEFFICIENTE -000398|PLC|FAULT|[COD 002129] - 305 BLOCCAGGIO A DEPRESSIONE 2 INEFFICIENTE -000399|PLC|FAULT|[COD 002130] - 300 BLOCCAGGIO A PRESSIONE 1 INEFFICIENTE -000400|PLC|FAULT|[COD 002131] - 300 BLOCCAGGIO A PRESSIONE 2 INEFFICIENTE -000401|PLC|FAULT|[COD 002132] - 305 BLOCCAGGIO A DEPRESSIONE SUPPLEMENTARE 1 INEFFICIENTE -000402|PLC|FAULT|[COD 002133] - 305 BLOCCAGGIO A DEPRESSIONE SUPPLEMENTARE 2 INEFFICIENTE -000403|PLC|FAULT|[COD 002134] - 584 PORTE DI SICUREZZA 1 NON CHIUSE -000404|PLC|FAULT|[COD 002135] - 584 PORTE DI SICUREZZA 2 NON CHIUSE -000405|PLC|FAULT|[COD 002136] - 406 PULSANTE POWER-OFF PREMUTO -000406|PLC|FAULT|[COD 002137] - 412 AZZERAMENTO AUTOMATICO ASSI IN CORSO -000407|PLC|FAULT|[COD 002138] - 689 AVVISO TOOLTABLE - RICHIESTA CONFERMA ATTREZZAGGIO -000408|PLC|FAULT|[COD 002139] - 700 TABELLE IN MODIFICA -000409|PLC|FAULT|[COD 002140] - 442 MAGAZZINO DISCO MOBILE NON IN POSIZIONE -000410|PLC|FAULT|[COD 002141] - 442 MAGAZZINO PICK-UP 1 NON IN POSIZIONE -000411|PLC|FAULT|[COD 002142] - 442 MAGAZZINO PICK-UP 2 NON IN POSIZIONE -000412|PLC|FAULT|[COD 002143] - 442 MAGAZINO LATERALE 1 NON IN POSIZIONE -000413|PLC|FAULT|[COD 002144] - 442 MAGAZINO LATERALE 2 NON IN POSIZIONE -000414|PLC|FAULT|[COD 002145] - 514 PROTEZIONE MAGAZZINO PICK-UP 1 NON IN POSIZIONE -000415|PLC|FAULT|[COD 002146] - 514 PROTEZIONE MAGAZZINO PICK-UP 2 NON IN POSIZIONE -000416|PLC|FAULT|[COD 002147] - 514 PROTEZIONE MAGAZZINO LATERALE 1 NON IN POSIZIONE -000417|PLC|FAULT|[COD 002148] - 514 PROTEZIONE MAGAZZINO LATERALE 2 NON IN POSIZIONE -000418|PLC|FAULT|[COD 002149] - 334 ERRORE COMUNICAZIONE CANBUS -000419|PLC|FAULT|[COD 002150] - 147 CAMBIO UTENSILE 1 IN ALLARME -000420|PLC|FAULT|[COD 002151] - 160 AZIONAMENTO CAMBIO UTENSILE 1 NON PRONTO -000421|PLC|FAULT|[COD 002152] - 151 AZIONAMENTO CAMBIO UTENSILE 1 NON ALIMENTATO -000422|PLC|FAULT|[COD 002153] - 442 MAGAZZINO UTENSILI DISCO 1 NON IN POSIZIONE -000423|PLC|FAULT|[COD 002154] - 289 ATTREZZAGGIO CAMBIO UTENSILE 1 IN CORSO -000424|PLC|FAULT|[COD 002155] - 584 PORTA DI SICUREZZA MAGAZZINO DISCO 1 NON CHIUSA -000425|PLC|FAULT|[COD 002156] - 514 PROTEZIONE MAGAZZINO DISCO 1 NON IN POSIZIONE -000426|PLC|FAULT|[COD 002157] - 147 CAMBIO UTENSILE 2 IN ALLARME -000427|PLC|FAULT|[COD 002158] - 160 AZIONAMENTO CAMBIO UTENSILE 2 NON PRONTO -000428|PLC|FAULT|[COD 002159] - 151 AZIONAMENTO CAMBIO UTENSILE 2 NON ALIMENTATO -000429|PLC|FAULT|[COD 002160] - 442 MAGAZZINO UTENSILI DISCO 2 NON IN POSIZIONE -000430|PLC|FAULT|[COD 002161] - 289 ATTREZZAGGIO CAMBIO UTENSILE 2 IN CORSO -000431|PLC|FAULT|[COD 002162] - 584 PORTA DI SICUREZZA MAGAZZINO DISCO 2 NON CHIUSA -000432|PLC|FAULT|[COD 002163] - 514 PROTEZIONE MAGAZZINO DISCO 2 NON IN POSIZIONE -000433|PLC|FAULT|[COD 002164] - -000434|PLC|FAULT|[COD 002165] - 550 GRUPPO DI FORATURA NON IN POSIZIONE -000435|PLC|FAULT|[COD 002166] - ... -000436|PLC|FAULT|[COD 002167] - ... -000437|PLC|FAULT|[COD 002168] - ... -000438|PLC|FAULT|[COD 002169] - ... -000439|PLC|FAULT|[COD 002170] - 250 CICLO DI ATTREZZAGGIO AUTOMATICO IN CORSO -000440|PLC|FAULT|[COD 002171] - 251 CICLO DI ATTREZZAGGIO AUTOMATICO INTERROTTO -000441|PLC|FAULT|[COD 002172] - 605 DISPOSITIVO DI REGISTRAZIONE DATI UTENSILI NON IN POSIZIONE -000442|PLC|FAULT|[COD 002173] - ... -000443|PLC|FAULT|[COD 002174] - ... -000444|PLC|FAULT|[COD 002175] - ... -000445|PLC|FAULT|[COD 002176] - 130 DISPOSITIVO MONITORAGGIO NON PRONTO -000446|PLC|FAULT|[COD 002177] - 773 LIMITE 1 MONITORAGGIO NON OK -000447|PLC|FAULT|[COD 002178] - 773 LIMITE 2 MONITORAGGIO NON OK -000448|PLC|FAULT|[COD 002179] - 773 LIMITE 3 MONITORAGGIO NON OK -000449|PLC|FAULT|[COD 002180] - ... -000450|PLC|FAULT|[COD 002181] - -000451|PLC|FAULT|[COD 002182] - -000452|PLC|FAULT|[COD 002183] - -000453|PLC|FAULT|[COD 002184] - -000454|PLC|FAULT|[COD 002185] - -000455|PLC|FAULT|[COD 002186] - -000456|PLC|FAULT|[COD 002187] - -000457|PLC|FAULT|[COD 002188] - -000458|PLC|FAULT|[COD 002189] - -000459|PLC|FAULT|[COD 002190] - -000460|PLC|FAULT|[COD 002191] - -000461|PLC|FAULT|[COD 002192] - -000462|PLC|FAULT|[COD 002193] - -000463|PLC|FAULT|[COD 002194] - -000464|PLC|FAULT|[COD 002195] - -000465|PLC|FAULT|[COD 000000] - -000466|PLC|FAULT|[COD 000000] - -000467|PLC|FAULT|[COD 000000] - -000468|PLC|FAULT|[COD 000000] - -000469|PLC|FAULT|[COD 000000] - -000470|PLC|FAULT|[COD 000000] - -000471|PLC|FAULT|[COD 000000] - -000472|PLC|FAULT|[COD 000000] - -000473|PLC|FAULT|[COD 000000] - -000474|PLC|FAULT|[COD 000000] - -000475|PLC|FAULT|[COD 000000] - -000476|PLC|FAULT|[COD 000000] - -000477|PLC|FAULT|[COD 000000] - -000478|PLC|FAULT|[COD 000000] - -000479|PLC|FAULT|[COD 000000] - -000480|PLC|FAULT|[COD 000000] - -000481|PLC|FAULT|[COD 000000] - -000482|PLC|FAULT|[COD 000000] - -000483|PLC|FAULT|[COD 000000] - -000484|PLC|FAULT|[COD 000000] - -000485|PLC|FAULT|[COD 000000] - -000486|PLC|FAULT|[COD 000000] - -000487|PLC|FAULT|[COD 000000] - -000488|PLC|FAULT|[COD 000000] - -000489|PLC|FAULT|[COD 000000] - -000490|PLC|FAULT|[COD 000000] - -000491|PLC|FAULT|[COD 000000] - -000492|PLC|FAULT|[COD 000000] - -000493|PLC|FAULT|[COD 000000] - -000494|PLC|FAULT|[COD 000000] - -000495|PLC|FAULT|[COD 000000] - -000496|PLC|FAULT|[COD 000000] - -000497|PLC|FAULT|[COD 000000] - -000498|PLC|FAULT|[COD 000000] - -000499|PLC|FAULT|[COD 000000] - -000500|PLC|FAULT|[COD 000000] - -000501|PLC|FAULT|[COD 000000] - -000502|PLC|FAULT|[COD 000000] - -000503|PLC|FAULT|[COD 000000] - -000504|PLC|FAULT|[COD 000000] - -000505|PLC|FAULT|[COD 000000] - -000506|PLC|FAULT|[COD 000000] - -000507|PLC|FAULT|[COD 000000] - -000508|PLC|FAULT|[COD 000000] - -000509|PLC|FAULT|[COD 000000] - -000510|PLC|FAULT|[COD 000000] - -000511|PLC|FAULT|[COD 000000] - -000512|PLC|FAULT|[COD 000000] - -000513|PLC|FAULT|[COD 000000] - -000514|PLC|FAULT|[COD 000000] - -000515|PLC|FAULT|[COD 000000] - -000516|PLC|FAULT|[COD 000000] - -000517|PLC|FAULT|[COD 000000] - -000518|PLC|FAULT|[COD 000000] - -000519|PLC|FAULT|[COD 000000] - -000520|PLC|FAULT|[COD 000000] - -000521|PLC|FAULT|[COD 000000] - -000522|PLC|FAULT|[COD 000000] - -000523|PLC|FAULT|[COD 000000] - -000524|PLC|FAULT|[COD 000000] - -000525|PLC|FAULT|[COD 000000] - -000526|PLC|FAULT|[COD 000000] - -000527|PLC|FAULT|[COD 000000] - -000528|PLC|FAULT|[COD 000000] - -000529|PLC|FAULT|[COD 000000] - -000530|PLC|FAULT|[COD 000000] - -000531|PLC|FAULT|[COD 000000] - -000532|PLC|FAULT|[COD 000000] - -000533|PLC|FAULT|[COD 000000] - -000534|PLC|FAULT|[COD 000000] - -000535|PLC|FAULT|[COD 000000] - -000536|PLC|FAULT|[COD 000000] - -000537|PLC|FAULT|[COD 000000] - -000538|PLC|FAULT|[COD 000000] - -000539|PLC|FAULT|[COD 000000] - -000540|PLC|FAULT|[COD 000000] - -000541|PLC|FAULT|[COD 000000] - -000542|PLC|FAULT|[COD 000000] - -000543|PLC|FAULT|[COD 000000] - -000544|PLC|FAULT|[COD 000000] - -000545|PLC|FAULT|[COD 000000] - -000546|PLC|FAULT|[COD 000000] - -000547|PLC|FAULT|[COD 000000] - -000548|PLC|FAULT|[COD 000000] - -000549|PLC|FAULT|[COD 000000] - -000550|PLC|FAULT|[COD 000000] - -000551|PLC|FAULT|[COD 000000] - -000552|PLC|FAULT|[COD 000000] - -000553|PLC|FAULT|[COD 000000] - -000554|PLC|FAULT|[COD 000000] - -000555|PLC|FAULT|[COD 000000] - -000556|PLC|FAULT|[COD 000000] - -000557|PLC|FAULT|[COD 000000] - -000558|PLC|FAULT|[COD 000000] - -000559|PLC|FAULT|[COD 000000] - -000560|PLC|FAULT|[COD 000000] - -000561|PLC|FAULT|[COD 000000] - -000562|PLC|FAULT|[COD 000000] - -000563|PLC|FAULT|[COD 000000] - -000564|PLC|FAULT|[COD 000000] - -000565|PLC|FAULT|[COD 000000] - -000566|PLC|FAULT|[COD 000000] - -000567|PLC|FAULT|[COD 000000] - -000568|PLC|FAULT|[COD 000000] - -000569|PLC|FAULT|[COD 000000] - -000570|PLC|FAULT|[COD 000000] - -000571|PLC|FAULT|[COD 000000] - -000572|PLC|FAULT|[COD 000000] - -000573|PLC|FAULT|[COD 000000] - -000574|PLC|FAULT|[COD 000000] - -000575|PLC|FAULT|[COD 000000] - -000576|PLC|FAULT|[COD 000000] - -000577|PLC|FAULT|[COD 000000] - -000578|PLC|FAULT|[COD 000000] - -000579|PLC|FAULT|[COD 000000] - -000580|PLC|FAULT|[COD 000000] - -000581|PLC|FAULT|[COD 000000] - -000582|PLC|FAULT|[COD 000000] - -000583|PLC|FAULT|[COD 000000] - -000584|PLC|FAULT|[COD 000000] - -000585|PLC|FAULT|[COD 000000] - -000586|PLC|FAULT|[COD 000000] - -000587|PLC|FAULT|[COD 000000] - -000588|PLC|FAULT|[COD 000000] - -000589|PLC|FAULT|[COD 000000] - -000590|PLC|FAULT|[COD 000000] - -000591|PLC|FAULT|[COD 000000] - -000592|PLC|FAULT|[COD 000000] - -000593|PLC|FAULT|[COD 000000] - -000594|PLC|FAULT|[COD 000000] - -000595|PLC|FAULT|[COD 000000] - -000596|PLC|FAULT|[COD 000000] - -000597|PLC|FAULT|[COD 000000] - -000598|PLC|FAULT|[COD 000000] - -000599|PLC|FAULT|[COD 000000] - -000600|PLC|FAULT|[COD 000000] - -000601|PLC|FAULT|[COD 000000] - -000602|PLC|FAULT|[COD 000000] - -000603|PLC|FAULT|[COD 000000] - -000604|PLC|FAULT|[COD 000000] - -000605|PLC|FAULT|[COD 000000] - -000606|PLC|FAULT|[COD 000000] - -000607|PLC|FAULT|[COD 000000] - -000608|PLC|FAULT|[COD 000000] - -000609|PLC|FAULT|[COD 000000] - -000610|PLC|FAULT|[COD 000000] - -000611|PLC|FAULT|[COD 000000] - -000612|PLC|FAULT|[COD 000000] - -000613|PLC|FAULT|[COD 000000] - -000614|PLC|FAULT|[COD 000000] - -000615|PLC|FAULT|[COD 000000] - -000616|PLC|FAULT|[COD 000000] - -000617|PLC|FAULT|[COD 000000] - -000618|PLC|FAULT|[COD 000000] - -000619|PLC|FAULT|[COD 000000] - -000620|PLC|FAULT|[COD 000000] - -000621|PLC|FAULT|[COD 000000] - -000622|PLC|FAULT|[COD 000000] - -000623|PLC|FAULT|[COD 000000] - -000624|PLC|FAULT|[COD 000000] - -000625|PLC|FAULT|[COD 000000] - -000626|PLC|FAULT|[COD 000000] - -000627|PLC|FAULT|[COD 000000] - -000628|PLC|FAULT|[COD 000000] - -000629|PLC|FAULT|[COD 000000] - -000630|PLC|FAULT|[COD 000000] - -000631|PLC|FAULT|[COD 000000] - -000632|PLC|FAULT|[COD 000000] - -000633|PLC|FAULT|[COD 000000] - -000634|PLC|FAULT|[COD 000000] - -000635|PLC|FAULT|[COD 000000] - -000636|PLC|FAULT|[COD 000000] - -000637|PLC|FAULT|[COD 000000] - -000638|PLC|FAULT|[COD 000000] - -000639|PLC|FAULT|[COD 000000] - -000640|PLC|FAULT|[COD 000000] - -000641|PLC|FAULT|[COD 000000] - -000642|PLC|FAULT|[COD 000000] - -000643|PLC|FAULT|[COD 000000] - -000644|PLC|FAULT|[COD 000000] - -000645|PLC|FAULT|[COD 000000] - -000646|PLC|FAULT|[COD 000000] - -000647|PLC|FAULT|[COD 000000] - -000648|PLC|FAULT|[COD 000000] - -000649|PLC|FAULT|[COD 000000] - -000650|PLC|FAULT|[COD 000000] - -000651|PLC|FAULT|[COD 000000] - -000652|PLC|FAULT|[COD 000000] - -000653|PLC|FAULT|[COD 000000] - -000654|PLC|FAULT|[COD 000000] - -000655|PLC|FAULT|[COD 000000] - -000656|PLC|FAULT|[COD 000000] - -000657|PLC|FAULT|[COD 000000] - -000658|PLC|FAULT|[COD 000000] - -000659|PLC|FAULT|[COD 000000] - -000660|PLC|FAULT|[COD 000000] - -000661|PLC|FAULT|[COD 000000] - -000662|PLC|FAULT|[COD 000000] - -000663|PLC|FAULT|[COD 000000] - -000664|PLC|FAULT|[COD 000000] - -000665|PLC|FAULT|[COD 000000] - -000666|PLC|FAULT|[COD 000000] - -000667|PLC|FAULT|[COD 000000] - -000668|PLC|FAULT|[COD 000000] - -000669|PLC|FAULT|[COD 000000] - -000670|PLC|FAULT|[COD 000000] - -000671|PLC|FAULT|[COD 000000] - -000672|PLC|FAULT|[COD 000000] - -000673|PLC|FAULT|[COD 000000] - -000674|PLC|FAULT|[COD 000000] - -000675|PLC|FAULT|[COD 000000] - -000676|PLC|FAULT|[COD 000000] - -000677|PLC|FAULT|[COD 000000] - -000678|PLC|FAULT|[COD 000000] - -000679|PLC|FAULT|[COD 000000] - -000680|PLC|FAULT|[COD 000000] - -000681|PLC|FAULT|[COD 000000] - -000682|PLC|FAULT|[COD 000000] - -000683|PLC|FAULT|[COD 000000] - -000684|PLC|FAULT|[COD 000000] - -000685|PLC|FAULT|[COD 000000] - -000686|PLC|FAULT|[COD 000000] - -000687|PLC|FAULT|[COD 000000] - -000688|PLC|FAULT|[COD 000000] - -000689|PLC|FAULT|[COD 000000] - -000690|PLC|FAULT|[COD 000000] - -000691|PLC|FAULT|[COD 000000] - -000692|PLC|FAULT|[COD 000000] - -000693|PLC|FAULT|[COD 000000] - -000694|PLC|FAULT|[COD 000000] - -000695|PLC|FAULT|[COD 000000] - -000696|PLC|FAULT|[COD 000000] - -000697|PLC|FAULT|[COD 000000] - -000698|PLC|FAULT|[COD 000000] - -000699|PLC|FAULT|[COD 000000] - -000700|PLC|FAULT|[COD 000000] - -000701|PLC|FAULT|[COD 000000] - -000702|PLC|FAULT|[COD 000000] - -000703|PLC|FAULT|[COD 000000] - -000704|PLC|FAULT|[COD 000000] - -000705|PLC|FAULT|[COD 000000] - -000706|PLC|FAULT|[COD 000000] - -000707|PLC|FAULT|[COD 000000] - -000708|PLC|FAULT|[COD 000000] - -000709|PLC|FAULT|[COD 000000] - -000710|PLC|FAULT|[COD 000000] - -000711|PLC|FAULT|[COD 000000] - -000712|PLC|FAULT|[COD 000000] - -000713|PLC|FAULT|[COD 000000] - -000714|PLC|FAULT|[COD 000000] - -000715|PLC|FAULT|[COD 000000] - -000716|PLC|FAULT|[COD 000000] - -000717|PLC|FAULT|[COD 000000] - -000718|PLC|FAULT|[COD 000000] - -000719|PLC|FAULT|[COD 000000] - -000720|PLC|FAULT|[COD 000000] - -000721|PLC|FAULT|[COD 000000] - -000722|PLC|FAULT|[COD 000000] - -000723|PLC|FAULT|[COD 000000] - -000724|PLC|FAULT|[COD 000000] - -000725|PLC|FAULT|[COD 000000] - -000726|PLC|FAULT|[COD 000000] - -000727|PLC|FAULT|[COD 000000] - -000728|PLC|FAULT|[COD 000000] - -000729|PLC|FAULT|[COD 000000] - -000730|PLC|FAULT|[COD 000000] - -000731|PLC|FAULT|[COD 000000] - -000732|PLC|FAULT|[COD 000000] - -000733|PLC|FAULT|[COD 000000] - -000734|PLC|FAULT|[COD 000000] - -000735|PLC|FAULT|[COD 000000] - -000736|PLC|FAULT|[COD 000000] - -000737|PLC|FAULT|[COD 000000] - -000738|PLC|FAULT|[COD 000000] - -000739|PLC|FAULT|[COD 000000] - -000740|PLC|FAULT|[COD 000000] - -000741|PLC|FAULT|[COD 000000] - -000742|PLC|FAULT|[COD 000000] - -000743|PLC|FAULT|[COD 000000] - -000744|PLC|FAULT|[COD 000000] - -000745|PLC|FAULT|[COD 000000] - -000746|PLC|FAULT|[COD 000000] - -000747|PLC|FAULT|[COD 000000] - -000748|PLC|FAULT|[COD 000000] - -000749|PLC|FAULT|[COD 000000] - -000750|PLC|FAULT|[COD 000000] - -000751|PLC|FAULT|[COD 000000] - -000752|PLC|FAULT|[COD 000000] - -000753|PLC|FAULT|[COD 000000] - -000754|PLC|FAULT|[COD 000000] - -000755|PLC|FAULT|[COD 000000] - -000756|PLC|FAULT|[COD 000000] - -000757|PLC|FAULT|[COD 000000] - -000758|PLC|FAULT|[COD 000000] - -000759|PLC|FAULT|[COD 000000] - -000760|PLC|FAULT|[COD 000000] - -000761|PLC|FAULT|[COD 000000] - -000762|PLC|FAULT|[COD 000000] - -000763|PLC|FAULT|[COD 000000] - -000764|PLC|FAULT|[COD 000000] - -000765|PLC|FAULT|[COD 000000] - -000766|PLC|FAULT|[COD 000000] - -000767|PLC|FAULT|[COD 000000] - -000768|PLC|FAULT|[COD 000000] - -000769|PLC|FAULT|[COD 000000] - -000770|PLC|FAULT|[COD 000000] - -000771|PLC|FAULT|[COD 000000] - -000772|PLC|FAULT|[COD 000000] - -000773|PLC|FAULT|[COD 000000] - -000774|PLC|FAULT|[COD 000000] - -000775|PLC|FAULT|[COD 000000] - -000776|PLC|FAULT|[COD 000000] - -000777|PLC|FAULT|[COD 000000] - -000778|PLC|FAULT|[COD 000000] - -000779|PLC|FAULT|[COD 000000] - -000780|PLC|FAULT|[COD 000000] - -000781|PLC|FAULT|[COD 000000] - -000782|PLC|FAULT|[COD 000000] - -000783|PLC|FAULT|[COD 000000] - -000784|PLC|FAULT|[COD 000000] - -000785|PLC|FAULT|[COD 000000] - -000786|PLC|FAULT|[COD 000000] - -000787|PLC|FAULT|[COD 000000] - -000788|PLC|FAULT|[COD 000000] - -000789|PLC|FAULT|[COD 000000] - -000790|PLC|FAULT|[COD 000000] - -000791|PLC|FAULT|[COD 000000] - -000792|PLC|FAULT|[COD 000000] - -000793|PLC|FAULT|[COD 000000] - -000794|PLC|FAULT|[COD 000000] - -000795|PLC|FAULT|[COD 000000] - -000796|PLC|FAULT|[COD 000000] - -000797|PLC|FAULT|[COD 000000] - -000798|PLC|FAULT|[COD 000000] - -000799|PLC|FAULT|[COD 000000] - -000800|PLC|FAULT|[COD 000000] - -000801|PLC|FAULT|[COD 000000] - -000802|PLC|FAULT|[COD 000000] - -000803|PLC|FAULT|[COD 000000] - -000804|PLC|FAULT|[COD 000000] - -000805|PLC|FAULT|[COD 000000] - -000806|PLC|FAULT|[COD 000000] - -000807|PLC|FAULT|[COD 000000] - -000808|PLC|FAULT|[COD 000000] - -000809|PLC|FAULT|[COD 000000] - -000810|PLC|FAULT|[COD 000000] - -000811|PLC|FAULT|[COD 000000] - -000812|PLC|FAULT|[COD 000000] - -000813|PLC|FAULT|[COD 000000] - -000814|PLC|FAULT|[COD 000000] - -000815|PLC|FAULT|[COD 000000] - -000816|PLC|FAULT|[COD 000000] - -000817|PLC|FAULT|[COD 000000] - -000818|PLC|FAULT|[COD 000000] - -000819|PLC|FAULT|[COD 000000] - -000820|PLC|FAULT|[COD 000000] - -000821|PLC|FAULT|[COD 000000] - -000822|PLC|FAULT|[COD 000000] - -000823|PLC|FAULT|[COD 000000] - -000824|PLC|FAULT|[COD 000000] - -000825|PLC|FAULT|[COD 000000] - -000826|PLC|FAULT|[COD 000000] - -000827|PLC|FAULT|[COD 000000] - -000828|PLC|FAULT|[COD 000000] - -000829|PLC|FAULT|[COD 000000] - -000830|PLC|FAULT|[COD 000000] - -000831|PLC|FAULT|[COD 000000] - -000832|PLC|FAULT|[COD 000000] - -000833|PLC|FAULT|[COD 000000] - -000834|PLC|FAULT|[COD 000000] - -000835|PLC|FAULT|[COD 000000] - -000836|PLC|FAULT|[COD 000000] - -000837|PLC|FAULT|[COD 000000] - -000838|PLC|FAULT|[COD 000000] - -000839|PLC|FAULT|[COD 000000] - -000840|PLC|FAULT|[COD 000000] - -000841|PLC|FAULT|[COD 000000] - -000842|PLC|FAULT|[COD 000000] - -000843|PLC|FAULT|[COD 000000] - -000844|PLC|FAULT|[COD 000000] - -000845|PLC|FAULT|[COD 000000] - -000846|PLC|FAULT|[COD 000000] - -000847|PLC|FAULT|[COD 000000] - -000848|PLC|FAULT|[COD 000000] - -000849|PLC|FAULT|[COD 000000] - -000850|PLC|FAULT|[COD 000000] - -000851|PLC|FAULT|[COD 000000] - -000852|PLC|FAULT|[COD 000000] - -000853|PLC|FAULT|[COD 000000] - -000854|PLC|FAULT|[COD 000000] - -000855|PLC|FAULT|[COD 000000] - -000856|PLC|FAULT|[COD 000000] - -000857|PLC|FAULT|[COD 000000] - -000858|PLC|FAULT|[COD 000000] - -000859|PLC|FAULT|[COD 000000] - -000860|PLC|FAULT|[COD 000000] - -000861|PLC|FAULT|[COD 000000] - -000862|PLC|FAULT|[COD 000000] - -000863|PLC|FAULT|[COD 000000] - -000864|PLC|FAULT|[COD 000000] - -000865|PLC|FAULT|[COD 000000] - -000866|PLC|FAULT|[COD 000000] - -000867|PLC|FAULT|[COD 000000] - -000868|PLC|FAULT|[COD 000000] - -000869|PLC|FAULT|[COD 000000] - -000870|PLC|FAULT|[COD 000000] - -000871|PLC|FAULT|[COD 000000] - -000872|PLC|FAULT|[COD 000000] - -000873|PLC|FAULT|[COD 000000] - -000874|PLC|FAULT|[COD 000000] - -000875|PLC|FAULT|[COD 000000] - -000876|PLC|FAULT|[COD 000000] - -000877|PLC|FAULT|[COD 000000] - -000878|PLC|FAULT|[COD 000000] - -000879|PLC|FAULT|[COD 000000] - -000880|PLC|FAULT|[COD 000000] - -000881|PLC|FAULT|[COD 000000] - -000882|PLC|FAULT|[COD 000000] - -000883|PLC|FAULT|[COD 000000] - -000884|PLC|FAULT|[COD 000000] - -000885|PLC|FAULT|[COD 000000] - -000886|PLC|FAULT|[COD 000000] - -000887|PLC|FAULT|[COD 000000] - -000888|PLC|FAULT|[COD 000000] - -000889|PLC|FAULT|[COD 000000] - -000890|PLC|FAULT|[COD 000000] - -000891|PLC|FAULT|[COD 000000] - -000892|PLC|FAULT|[COD 000000] - -000893|PLC|FAULT|[COD 000000] - -000894|PLC|FAULT|[COD 000000] - -000895|PLC|FAULT|[COD 000000] - -000896|PLC|FAULT|[COD 000000] - -000897|PLC|FAULT|[COD 000000] - -000898|PLC|FAULT|[COD 000000] - -000899|PLC|FAULT|[COD 000000] - -000900|PLC|FAULT|[COD 000000] - -000901|PLC|FAULT|[COD 000000] - -000902|PLC|FAULT|[COD 000000] - -000903|PLC|FAULT|[COD 000000] - -000904|PLC|FAULT|[COD 000000] - -000905|PLC|FAULT|[COD 000000] - -000906|PLC|FAULT|[COD 000000] - -000907|PLC|FAULT|[COD 000000] - -000908|PLC|FAULT|[COD 000000] - -000909|PLC|FAULT|[COD 000000] - -000910|PLC|FAULT|[COD 000000] - -000911|PLC|FAULT|[COD 000000] - -000912|PLC|FAULT|[COD 000000] - -000913|PLC|FAULT|[COD 000000] - -000914|PLC|FAULT|[COD 000000] - -000915|PLC|FAULT|[COD 000000] - -000916|PLC|FAULT|[COD 000000] - -000917|PLC|FAULT|[COD 000000] - -000918|PLC|FAULT|[COD 000000] - -000919|PLC|FAULT|[COD 000000] - -000920|PLC|FAULT|[COD 000000] - -000921|PLC|FAULT|[COD 000000] - -000922|PLC|FAULT|[COD 000000] - -000923|PLC|FAULT|[COD 000000] - -000924|PLC|FAULT|[COD 000000] - -000925|PLC|FAULT|[COD 000000] - -000926|PLC|FAULT|[COD 000000] - -000927|PLC|FAULT|[COD 000000] - -000928|PLC|FAULT|[COD 000000] - -000929|PLC|FAULT|[COD 000000] - -000930|PLC|FAULT|[COD 000000] - -000931|PLC|FAULT|[COD 000000] - -000932|PLC|FAULT|[COD 000000] - -000933|PLC|FAULT|[COD 000000] - -000934|PLC|FAULT|[COD 000000] - -000935|PLC|FAULT|[COD 000000] - -000936|PLC|FAULT|[COD 000000] - -000937|PLC|FAULT|[COD 000000] - -000938|PLC|FAULT|[COD 000000] - -000939|PLC|FAULT|[COD 000000] - -000940|PLC|FAULT|[COD 000000] - -000941|PLC|FAULT|[COD 000000] - -000942|PLC|FAULT|[COD 000000] - -000943|PLC|FAULT|[COD 000000] - -000944|PLC|FAULT|[COD 000000] - -000945|PLC|FAULT|[COD 000000] - -000946|PLC|FAULT|[COD 000000] - -000947|PLC|FAULT|[COD 000000] - -000948|PLC|FAULT|[COD 000000] - -000949|PLC|FAULT|[COD 000000] - -000950|PLC|FAULT|[COD 000000] - -000951|PLC|FAULT|[COD 000000] - -000952|PLC|FAULT|[COD 000000] - -000953|PLC|FAULT|[COD 000000] - -000954|PLC|FAULT|[COD 000000] - -000955|PLC|FAULT|[COD 000000] - -000956|PLC|FAULT|[COD 000000] - -000957|PLC|FAULT|[COD 000000] - -000958|PLC|FAULT|[COD 000000] - -000959|PLC|FAULT|[COD 000000] - -000960|PLC|FAULT|[COD 000000] - -000961|PLC|FAULT|[COD 000000] - -000962|PLC|FAULT|[COD 000000] - -000963|PLC|FAULT|[COD 000000] - -000964|PLC|FAULT|[COD 000000] - -000965|PLC|FAULT|[COD 000000] - -000966|PLC|FAULT|[COD 000000] - -000967|PLC|FAULT|[COD 000000] - -000968|PLC|FAULT|[COD 000000] - -000969|PLC|FAULT|[COD 000000] - -000970|PLC|FAULT|[COD 000000] - -000971|PLC|FAULT|[COD 000000] - -000972|PLC|FAULT|[COD 000000] - -000973|PLC|FAULT|[COD 000000] - -000974|PLC|FAULT|[COD 000000] - -000975|PLC|FAULT|[COD 000000] - -000976|PLC|FAULT|[COD 000000] - -000977|PLC|FAULT|[COD 000000] - -000978|PLC|FAULT|[COD 000000] - -000979|PLC|FAULT|[COD 000000] - -000980|PLC|FAULT|[COD 000000] - -000981|PLC|FAULT|[COD 000000] - -000982|PLC|FAULT|[COD 000000] - -000983|PLC|FAULT|[COD 000000] - -000984|PLC|FAULT|[COD 000000] - -000985|PLC|FAULT|[COD 000000] - -000986|PLC|FAULT|[COD 000000] - -000987|PLC|FAULT|[COD 000000] - -000988|PLC|FAULT|[COD 000000] - -000989|PLC|FAULT|[COD 000000] - -000990|PLC|FAULT|[COD 000000] - -000991|PLC|FAULT|[COD 000000] - -000992|PLC|FAULT|[COD 000000] - -000993|PLC|FAULT|[COD 000000] - -000994|PLC|FAULT|[COD 000000] - -000995|PLC|FAULT|[COD 000000] - -000996|PLC|FAULT|[COD 000000] - -000997|PLC|FAULT|[COD 000000] - -000998|PLC|FAULT|[COD 000000] - -000999|PLC|FAULT|[COD 000000] - -001000|PLC|FAULT|[COD 000000] - -001001|PLC|FAULT|[COD 000000] - -001002|PLC|FAULT|[COD 000000] - -001003|PLC|FAULT|[COD 000000] - -001004|PLC|FAULT|[COD 000000] - -001005|PLC|FAULT|[COD 000000] - -001006|PLC|FAULT|[COD 000000] - -001007|PLC|FAULT|[COD 000000] - -001008|PLC|FAULT|[COD 000000] - -001009|PLC|FAULT|[COD 000000] - -001010|PLC|FAULT|[COD 000000] - -001011|PLC|FAULT|[COD 000000] - -001012|PLC|FAULT|[COD 000000] - -001013|PLC|FAULT|[COD 000000] - -001014|PLC|FAULT|[COD 000000] - -001015|PLC|FAULT|[COD 000000] - -001016|PLC|FAULT|[COD 000000] - -001017|PLC|FAULT|[COD 000000] - -001018|PLC|FAULT|[COD 000000] - -001019|PLC|FAULT|[COD 000000] - -001020|PLC|FAULT|[COD 000000] - -001021|PLC|FAULT|[COD 000000] - -001022|PLC|FAULT|[COD 000000] - -001023|PLC|FAULT|[COD 000000] - -001024|PLC|FAULT|[COD 000000] - \ No newline at end of file +000001|PLC|FAULT|[1] MANDRINO 1 NON BLOCCATO +000002|PLC|FAULT|[2] MANDRINO 2 NON BLOCCATO +000003|PLC|FAULT|[3] MANDRINO SUPPLEMENTARE NON BLOCCATO +000004|PLC|FAULT|[4] ZONA DI COLLISIONE CON CAMBIO UTENSILE ESTERNO +000005|PLC|FAULT|[5] ZONA DI COLLISIONE CON CAMBIO UTENSILE LINEARE +000006|PLC|FAULT|[6] GRUPPO ASSI NON VALIDO +000007|PLC|FAULT|[7] INVERTER 1 NON OK +000008|PLC|FAULT|[8] INVERTER 2 NON OK +000009|PLC|FAULT|[9] INVERTER MANDRINO SUPPLEMENTARE NON OK +0000010|PLC|FAULT|[10] SAVE ENERGY ATTIVO +0000011|PLC|FAULT|[11] B,[WD] SUPERATO NUMERO PEZZI MASSIMO CARICABILE SU TRANSFER +0000012|PLC|FAULT|[12] VERIFICA CONTATTORI NON OK +0000013|PLC|FAULT|[13] TIMEOUT COMUNICAZIONE XILOG +0000014|PLC|WARNING|[14] INTERVENTO MAGNETOTERMICI +0000015|PLC|FAULT|[15] PORTE PROTEZIONE APERTE +0000016|PLC|FAULT|[16] TAPPETO CONVOGLIA TRUCIOLI NON IN POSIZIONE +0000017|PLC|FAULT|[17] COLLISIONE RILEVATA DAL SIMULATORE +0000018|PLC|FAULT|[18] BUMPER MOBILE NON IN POSIZIONE +0000019|PLC|FAULT|[19] FORATRICE NON IN POSIZIONE +0000020|PLC|WARNING|[20] STOP MACCHINA DA CODICI M SUPPLEMENTARI +0000021|PLC|WARNING|[21] M00 ATTIVO: START CICLO +0000022|PLC|WARNING|[22] BATTERIA SCARICA ENCODER ASSI YASKAWA +0000023|PLC|FAULT|[23] AZIONAMENTI ASSI XYZ... NON OK +0000024|PLC|FAULT|[24] AZIONAMENTI ASSI ROTATIVI NON OK +0000025|PLC|FAULT|[25] CNC NON OK +0000026|PLC|FAULT|[26] PRESSOSTATO ARIA INTERVENUTO +0000027|PLC|FAULT|[27] BATTERIA CNC NON CARICA +0000028|PLC|FAULT|[28] ERRORE CANOPEN RING 0 +0000029|PLC|FAULT|[29] ERRORE CANOPEN RING 1 +0000030|PLC|WARNING|[30] ABILITAZIONE BL/SBL UTENSILE MANDRINO 1 +0000031|PLC|WARNING|[31] ABILITAZIONE BL/SBL UTENSILE MANDRINO 2 +0000032|PLC|WARNING|[32] ABILITAZIONE BL/SBL UTENSILE MANDRINO SUPPLEMENTARE +0000033|PLC|WARNING|[33] CICLO ETICHETTATURA IN CORSO +0000034|PLC|FAULT|[34] ETICHETTATRICE NON PRONTA +0000035|PLC|FAULT|[35] ETICHETTATRICE NON IN POSIZIONE +0000036|PLC|FAULT|[36] ERRORE ETICHETTATRICE +0000037|PLC|FAULT|[37] SONDA TERMICA/VENTOLA MANDRINO 1 +0000038|PLC|FAULT|[38] SONDA TERMICA/VENTOLA MANDRINO 2 +0000039|PLC|FAULT|[39] SONDA TERMICA/VENTOLA MANDRINO SUPPLEMENTARE +0000040|PLC|FAULT|[40] INTERVENTO MAGNETOTERMICO GRUPPO LAMA +0000041|PLC|FAULT|[41] RICARICARE POMPA LUBRIFICAZIONE +0000042|PLC|FAULT|[42] LUBRIFICAZIONE ASSI NON OK +0000043|PLC|WARNING|[43] LUBRIFICAZIONE ASSI IN CORSO +0000044|PLC|WARNING|[44] RICHIESTA VUOTO/ATTREZZATURA +0000045|PLC|FAULT|[45] EMERGENZA CAUSA VUOTO ZONA 1 +0000046|PLC|FAULT|[46] EMERGENZA CAUSA VUOTO ZONA 2 +0000047|PLC|FAULT|[47] ASSI IN FINE CORSA +0000048|PLC|FAULT|[48] CUFFIA ESTERNA NON IN POSIZIONE +0000049|PLC|FAULT|[49] CUFFIA INTERNA NON IN POSIZIONE +0000050|PLC|FAULT|[50] CUFFIA PULIZIA PIANO NON IN POSIZIONE +0000051|PLC|FAULT|[51] EMERGENZA CAUSA VUOTO ZONA 3 +0000052|PLC|FAULT|[52] EMERGENZA CAUSA VUOTO ZONA 4 +0000053|PLC|WARNING|[53] ESEGUIRE RIFERIMENTO ASSI +0000054|PLC|FAULT|[54] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE 1 +0000055|PLC|FAULT|[55] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE 2 +0000056|PLC|FAULT|[56] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE MANDRINO SUPPLEMENTARE +0000057|PLC|FAULT|[57] ESEGUIRE RIFERIMENTO MAGAZZINO ESTERNO 1 +0000058|PLC|FAULT|[58] ESEGUIRE RIFERIMENTO NAVETTA HS +0000059|PLC|FAULT|[59] ESEGUIRE RIFERIMENTO PINZE ROBOT CELLA WD +0000060|PLC|FAULT|[60] CONVOGLIATORE TRUCIOLI NON OK +0000061|PLC|WARNING|[61] SERBATOIO LUBRIFICAZIONE CONVOGLIATORE TRUCIOLI VUOTO +0000062|PLC|FAULT|[62] ASSE X IN FINE CORSA +0000063|PLC|FAULT|[63] ASSE Y IN FINE CORSA +0000064|PLC|FAULT|[64] ASSE Z IN FINE CORSA +0000065|PLC|FAULT|[65] PALPATORE SYNCRO NON IN POSIZIONE +0000066|PLC|WARNING|[66] ALLINEAMENTO ASSI GANTRY IN CORSO +0000067|PLC|FAULT|[67] ASSE B IN FINE CORSA +0000068|PLC|FAULT|[68] ASSE C IN FINE CORSA +0000069|PLC|FAULT|[69] ASSE Y NON IN POSIZIONE +0000070|PLC|FAULT|[70] ESEGUIRE RIFERIMENTO PALPATORE SYNCRO +0000071|PLC|FAULT|[71] PERNO BLOCCAGGIO TAVOLO ELEVATORE NON IN POSIZIONE +0000072|PLC|FAULT|[72] FOTOCELLULA PRESENZA UTENSILE +0000073|PLC|FAULT|[73] MANDRINO 1 NON OK +0000074|PLC|FAULT|[74] MANDRINO 2 NON OK +0000075|PLC|FAULT|[75] MANDRINO SUPPLEMENTARE NON OK +0000076|PLC|FAULT|[76] FOTOCELLULA PRESENZA UTENSILE (CATENA) +0000077|PLC|FAULT|[77] ALLARME SENSORE ROTAZIONE MANDRINO 1 +0000078|PLC|FAULT|[78] ALLARME SENSORE ROTAZIONE MANDRINO 2 +0000079|PLC|FAULT|[79] ALLARME SENSORE ROTAZIONE MANDRINO SUPPLEMENTARE +0000080|PLC|FAULT|[80] CAMBIO UTENSILE TESTA 1(ONBOARD) NON IN POSIZIONE +0000081|PLC|FAULT|[81] CAMBIO UTENSILE MANDRINO SUPPLEMENTARE (ONBOARD) NON IN POSIZIONE +0000082|PLC|FAULT|[82] CAMBIO UTENSILE LINEARE NON IN POSIZIONE +0000083|PLC|FAULT|[83] CAMBIO UTENSILE HS NON IN POSIZIONE +0000084|PLC|FAULT|[84] [TM] NAVETTA TOOL MANAGEMENT NON IN POSIZIONE +0000085|PLC|FAULT|[85] [TM] LETTORE CHIP TOOL MANAGMENT NON IN POSIZIONE +0000086|PLC|FAULT|[86] [TM] LIBERARE PINZA DI CARICO TOOL MANAGMENT +0000087|PLC|FAULT|[87] [TM] COLLISIONE CON TOOL MANAGMENT +0000088|PLC|FAULT|[88] [TM] CARICARE UTENSILE SULLA PINZA DI CARICO DEL TOOL MANAGMENT +0000089|PLC|FAULT|[89] BANDELLA NON IN POSIZIONE +0000090|PLC|FAULT|[90] PANNELLO PRELEVATO FUORI ALLINEAMENTO +0000091|PLC|FAULT|[91] SCARICATORE NON IN POSIZIONE +0000092|PLC|FAULT|[92] SPONDE/BATTUTE DI SCARICO NON IN POSIZIONE +0000093|PLC|FAULT|[93] ZONA DI SCARICO OCCUPATA +0000094|PLC|FAULT|[94] VERIFICARE DIMENSIONI PILA +0000095|PLC|FAULT|[95] CARICARE NUOVA PILA +0000096|PLC|FAULT|[96] CARICATORE NON IN POSIZIONE +0000097|PLC|FAULT|[97] TAVOLO ELEVATORE NON OK +0000098|PLC|FAULT|[98] PANNELLO NON PRELEVATO DA TAVOLO ELEVATORE +0000099|PLC|FAULT|[99] FOTOCELLULA RIFERIMENTO PANNELLO NON OK +0000100|PLC|FAULT|[100] ALLARME CELLA WD +0000101|PLC|FAULT|[101] REFRIGERANTE MANDRINO 1 NON OK +0000102|PLC|FAULT|[102] REFRIGERANTE MANDRINO 2 NON OK +0000103|PLC|FAULT|[103] INVERTER NASTRO DI SCARICO NON OK +0000104|PLC|FAULT|[104] ARRESTO OPERATIVO: RESETTARE LE FOTOCELLULE DI SICUREZZA +0000105|PLC|WARNING|[105] C.UTENSILE LINEARE IN CORSO: ABBASSARE GLI INNALZATORI E RESETTARE LE FOTOCELLULE DI SICUREZZA +0000106|PLC|FAULT|[106] CARICO PANNELLO NON AMMESSO +0000107|PLC|FAULT|[107] BYPASS COLLISIONI ATTIVO +0000108|PLC|FAULT|[108] SPORTELLO CAMBIO UTENSILE LINEARE DESTRO NON IN POSIZIONE +0000109|PLC|FAULT|[109] VERIFICA FUNZIONAMENTO SICUREZZE +0000110|PLC|FAULT|[110] RESETTARE LE FOTOCELLULE DI SICUREZZA +0000111|PLC|FAULT|[111] INSERIMENTO UTENSILE NON OK +0000112|PLC|FAULT|[112] GUASTO MICRO CONTROLLO PEDANE +0000113|PLC|FAULT|[113] INSERIMENTO UTENSILE IN NAVETTA HS NON OK +0000114|PLC|WARNING|[114] TABELLA NON AGGIORNATA +0000115|PLC|FAULT|[115] MANDRINO 1 NON SBLOCCATO +0000116|PLC|FAULT|[116] MANDRINO SUPPLEMENTARE NON SBLOCCATO +0000117|PLC|FAULT|[117] CONTROLLARE CICLO CHIUSURA BORDO +0000118|PLC|WARNING|[118] PM: SETUP NON POSSIBILE ZONA 3 [Vuoto ON/Teste DW] +0000119|PLC|WARNING|[119] PM: SETUP NON POSSIBILE ZONA 4 [Vuoto ON/Teste DW] +0000120|PLC|WARNING|[120] UTENSILE SPECIALE: OPERAZIONE NON AMMESSA +0000121|PLC|FAULT|[121] ERRORE CICLO CHIUSURA BORDO +0000122|PLC|FAULT|[122] MAGAZZINO UTENSILE ESTERNO 1 NON IN POSIZIONE +0000123|PLC|FAULT|[123] SPORTELLO MAGAZZINO ESTERNO NON IN POSIZIONE +0000124|PLC|WARNING|[124] ERRATA PROGRAMMAZIONE +0000125|PLC|WARNING|[125] ERRORE UTENSILE TESTA 1 +0000126|PLC|WARNING|[126] ERRORE UTENSILE TESTA 2 +0000127|PLC|FAULT|[127] SPORTELLO CAMBIO UTENSILE LINEARE SINISTRO NON IN POSIZIONE +0000128|PLC|FAULT|[128] TIME OUT PIGNA MOBILE +0000129|PLC|WARNING|[129] CAMBIO MODALITA' MACCHINA (M103) +0000130|PLC|FAULT|[130] PORTE ARMADIO ELETTRICO APERTE +0000131|PLC|WARNING|[131] ESEGUIRE MANUTENZIONE CONDIZIONATORE ARMADIO ELETTRICO +0000132|PLC|FAULT|[132] AGGREGATO PRESSATORE/CONVOGLIATORE TRUCIOLI NON OK +0000133|PLC|FAULT|[133] SERBATOIO LUBROREFRIGERATORE UTENSILE VUOTO +0000134|PLC|WARNING|[134] BATTERIA SCARICA TASTATORE RADIO +0000135|PLC|FAULT|[135] RILEVATORE SPESSORE PEZZO NON IN POSIZIONE +0000136|PLC|FAULT|[136] CICLO TASTATURA NON OK +0000137|PLC|FAULT|[137] BATTUTE DI RIFERIMENTO ZONA 1 NON OK +0000138|PLC|FAULT|[138] BATTUTE DI RIFERIMENTO ZONA 2 NON OK +0000139|PLC|FAULT|[139] ASSI PRISMA BC NON IN POSIZIONE +0000140|PLC|FAULT|[140] AZIONAMENTI ASSI PRISMA BC NON OK +0000141|PLC|FAULT|[141] TASTATORE RADIO NON OK +0000142|PLC|FAULT|[142] AVVICINATORI NON IN POSIZIONE +0000143|PLC|FAULT|[143] AVVICINAMENTO PANNELLO NON AVVENUTO +0000144|PLC|FAULT|[144] PRESA PANNELLO NON OK +0000145|PLC|WARNING|[145] RIAGGANCIO MANDRINO IN CORSO +0000146|PLC|WARNING|[146] RIAGGANCIO MANDRINO FALLITO +0000147|PLC|WARNING|[147] RIAGGANCIO MANDRINO AVVENUTO +0000148|PLC|FAULT|[148] INTERVENTO FUNE DI SICUREZZA +0000149|PLC|FAULT|[149] INTERVENTO OVERSPEED ASSI +0000150|PLC|FAULT|[150] INTERVENTO BUMPERS +0000151|PLC|WARNING|[151] MACCHINA SPENTA +0000152|PLC|FAULT|[152] EMERGENZA PREMUTA +0000153|PLC|WARNING|[153] PM: SETUP NON POSSIBILE ZONA 1 [VUOTO ON / TESTE DW] +0000154|PLC|WARNING|[154] PM: SETUP NON POSSIBILE ZONA 2 [VUOTO ON / TESTE DW] +0000155|PLC|WARNING|[155] BARRA MOBILE CENTRALE 1 NON IN POSIZIONE +0000156|PLC|WARNING|[156] BARRA MOBILE CENTRALE 2 NON IN POSIZIONE +0000157|PLC|WARNING|[157] PM: COLLISIONE BATTUTE CON SUPPORTI VENTOSE / MORSETTI +0000158|PLC|WARNING|[158] CUFFIA MANDRINO SUPPLEMENTARE NON IN POSIZIONE +0000159|PLC|WARNING|[159] TESTA GRUPPO MANDRINO SUPPLEMENTARE NON IN POSIZIONE +0000160|PLC|WARNING|[160] TESTA GRUPPO LAMA NON IN POSIZIONE +0000161|PLC|WARNING|[161] CICLO DI CARICO IN CORSO +0000162|PLC|WARNING|[162] CICLO DI SCARICO IN CORSO +0000163|PLC|WARNING|[163] BATTUTE DI CARICO NON IN POSIZIONE ZONA 1 +0000164|PLC|WARNING|[164] ATTESA ROBOT IN POSIZIONE +0000165|PLC|WARNING|[165] INVERTER GUASTO POMPA VUOTO 1 (MASTER) +0000166|PLC|WARNING|[166] INVERTER GUASTO POMPA VUOTO 2 (SLAVE) +0000167|PLC|WARNING|[167] BATTUTE DI CARICO NON IN POSIZIONE ZONA 2 +0000168|PLC|WARNING|[168] SALITA CUFFIA DA OPERATORE +0000169|PLC|WARNING|[169] TRAVERSA 1 NON IN POSIZIONE +0000170|PLC|WARNING|[170] TRAVERSA 2 NON IN POSIZIONE +0000171|PLC|WARNING|[171] TRAVERSA 3 NON IN POSIZIONE +0000172|PLC|WARNING|[172] TRAVERSA 4 NON IN POSIZIONE +0000173|PLC|WARNING|[173] TRAVERSA 5 NON IN POSIZIONE +0000174|PLC|WARNING|[174] TRAVERSA 6 NON IN POSIZIONE +0000175|PLC|WARNING|[175] TRAVERSA 7 NON IN POSIZIONE +0000176|PLC|WARNING|[176] TRAVERSA 8 NON IN POSIZIONE +0000177|PLC|WARNING|[177] TRAVERSA 9 NON IN POSIZIONE +0000178|PLC|WARNING|[178] TRAVERSA 10 NON IN POSIZIONE +0000179|PLC|WARNING|[179] TRAVERSA 11 NON IN POSIZIONE +0000180|PLC|WARNING|[180] TRAVERSA 12 NON IN POSIZIONE +0000181|PLC|WARNING|[181] SOSTITUZIONE VENTOSE IN CORSO AREA 1 +0000182|PLC|WARNING|[182] SOSTITUZIONE VENTOSE IN CORSO AREA 2 +0000183|PLC|FAULT|[183] BATTUTE DI RIFERIMENTO ZONA 3 NON OK +0000184|PLC|FAULT|[184] BATTUTE DI RIFERIMENTO ZONA 4 NON OK +0000185|PLC|FAULT|[185] [BRC] GR5: GRUPPO FUSI ORIZZONTALI NON IN POSIZIONE (fori spine) +0000186|PLC|FAULT|[186] [BRC] GR6: GRUPPO FRESA VERTICALE NON IN POSIZIONE +0000187|PLC|FAULT|[187] [BRC] GR7: GRUPPO FRESA ORIZZONTALE NON IN POSIZIONE +0000188|PLC|FAULT|[188] [BRC] GR8: GRUPPO LAMA NON IN POSIZIONE +0000189|PLC|FAULT|[189] [BRC] ATTESA INNESTO PER ROTAZIONE GRUPPO LAMA +0000190|PLC|FAULT|[190] SELETTORI CONTROSAGOMA NON OK [AREA UNICA] +0000191|PLC|FAULT|[191] BATTUTE DI RIFERIMENTO BARRA 1 NON OK +0000192|PLC|FAULT|[192] BATTUTE DI RIFERIMENTO BARRA 2 NON OK +0000193|PLC|FAULT|[193] BATTUTE DI RIFERIMENTO BARRA 3 NON OK +0000194|PLC|FAULT|[194] BATTUTE DI RIFERIMENTO BARRA 4 NON OK +0000195|PLC|FAULT|[195] BATTUTE DI RIFERIMENTO BARRA 5 NON OK +0000196|PLC|FAULT|[196] BATTUTE DI RIFERIMENTO BARRA 6 NON OK +0000197|PLC|FAULT|[197] BATTUTE DI RIFERIMENTO BARRA 7 NON OK +0000198|PLC|FAULT|[198] BATTUTE DI RIFERIMENTO BARRA 8 NON OK +0000199|PLC|FAULT|[199] BATTUTE DI RIFERIMENTO BARRA 9 NON OK +0000200|PLC|FAULT|[200] BATTUTE DI RIFERIMENTO BARRA 10 NON OK +0000201|PLC|FAULT|[201] BATTUTE DI RIFERIMENTO BARRA 11 NON OK +0000202|PLC|FAULT|[202] BATTUTE DI RIFERIMENTO BARRA 12 NON OK +0000203|PLC|FAULT|[203] BATTUTE DI RIFERIMENTO BARRA FISSA SX NON OK +0000204|PLC|FAULT|[204] BATTUTE DI RIFERIMENTO BARRA FISSA DX NON OK +0000205|PLC|FAULT|[205] BASI NON BLOCCATE ZONA 1 +0000206|PLC|FAULT|[206] BASI NON BLOCCATE ZONA 2 +0000207|PLC|FAULT|[207] BASI NON BLOCCATE ZONA 3 +0000208|PLC|FAULT|[208] BASI NON BLOCCATE ZONA 4 +0000209|PLC|WARNING|[209] SOSTITUZIONE VENTOSE IN CORSO AREA 3 +0000210|PLC|WARNING|[210] SOSTITUZIONE VENTOSE IN CORSO AREA 4 +0000211|PLC|FAULT|[211] [BORDATORE POWER] ATTESA GRUPPO A BORDARE ALTO +0000212|PLC|FAULT|[212] [BORDATORE POWER] ATTESA GRUPPO A BORDARE BASSO +0000213|PLC|FAULT|[213] [BORDATORE POWER] ATTESA GRUPPO A BORDARE POSIZ. CAMBIO RULLO +0000214|PLC|FAULT|[214] [BORDATORE POWER] ATTESA PIANO CARICAMENTO BORDI ALTO +0000215|PLC|FAULT|[215] [BORDATORE POWER] ATTESA PIANO CARICAMENTO BORDI BASSO +0000216|PLC|FAULT|[216] [BORDATORE POWER] MANCATA LETTURA BORDO GIUNZIONE +0000217|PLC|FAULT|[217] [BORDATORE POWER] ERRORE BORDO SU FOTOCELLULA DI CARICO +0000218|PLC|FAULT|[218] VASCA COLLA NON IN TEMPERATURA +0000219|PLC|FAULT|[219] [BORDATORE POWER] ASSENZA BORDO IN MULTIROTOLO +0000220|PLC|FAULT|[220] [BORDATORE POWER] ATTESA CICLO CARICO COLLA DA PREFUSORE +0000221|PLC|FAULT|[221] [BORDATORE POWER] MANCATO TAGLIO TRANCIA MAGAZZINO BORDI +0000222|PLC|FAULT|[222] [BORDATORE POWER] ATTESA CARICO COLLA DA PREFUSORE +0000223|PLC|FAULT|[223] [BORDATORE POWER] ANOMALIA SENSORI CILINDRO TESTA A BORDARE +0000224|PLC|FAULT|[224] SENSORE TESTA A BORDARE IN COLLISIONE +0000225|PLC|FAULT|[225] [BORDATORE POWER] TIMEOUT INTESTATURA BORDO TESTA A BORDARE +0000226|PLC|FAULT|[226] INTERVENTO TERMICI VASCA COLLA +0000227|PLC|FAULT|[227] INTERVENTO TERMICI PREFUSORE +0000228|PLC|FAULT|[228] INTERVENTO TERMICI LAMPADE ONDE CORTE +0000229|PLC|FAULT|[229] ESEGUIRE RIFERIMENTO MOT. ALTEZZA BORDO TESTA B. +0000230|PLC|FAULT|[230] ESEGUIRE RIFERIMENTO MOT. ALTEZZA BORDO MAGAZZINO B. +0000231|PLC|FAULT|[231] ESEGUIRE RIFERIMENTO MOT. CAMBIO RULLO PRESSIONE +0000232|PLC|FAULT|[232] TIMEOUT SENSORE CHIUSURA CILINDRO PREFUSORE +0000233|PLC|FAULT|[233] ESEGUIRE TARATURA TRAVERSE/VENTOSE +0000234|PLC|FAULT|[234] VENTOSE NON BLOCCATE AREA 1 +0000235|PLC|FAULT|[235] VENTOSE NON BLOCCATE AREA 2 +0000236|PLC|WARNING|[236] ATTESA SBLOCCO VENTOSA +0000237|PLC|WARNING|[237] ATTESA BLOCCO VENTOSA +0000238|PLC|WARNING|[238] RIMUOVERE VENTOSA: START CICLO +0000239|PLC|WARNING|[239] INSERIRE VENTOSA: START CICLO +0000240|PLC|FAULT|[240] ANOMALIA FOTOCELLULA MAGAZZINO BORDI +0000241|PLC|WARNING|[241] BARRA 1 +0000242|PLC|WARNING|[242] BARRA 2 +0000243|PLC|WARNING|[243] BARRA 3 +0000244|PLC|WARNING|[244] BARRA 4 +0000245|PLC|WARNING|[245] BARRA 5 +0000246|PLC|WARNING|[246] BARRA 6 +0000247|PLC|WARNING|[247] BARRA 7 +0000248|PLC|WARNING|[248] BARRA 8 +0000249|PLC|WARNING|[249] BARRA 9 +0000250|PLC|WARNING|[250] BARRA 10 +0000251|PLC|WARNING|[251] BARRA 11 +0000252|PLC|WARNING|[252] BARRA 12 +0000253|PLC|WARNING|[253] RIMUOVERE/INSERIRE VENTOSA COME DA GRAFICA SU AREA 1: START CICLO +0000254|PLC|WARNING|[254] RIMUOVERE/INSERIRE VENTOSA COME DA GRAFICA SU AREA 2: START CICLO +0000255|PLC|FAULT|[255] PORTE PROTEZIONE SBLOCCATE +0000256|PLC|FAULT|[256] ERRORE MODULO ZERO SPEED MANDRINO +0000257|PLC|FAULT|[257] INTESTATORE NON IN POSIZIONE +0000258|PLC|FAULT|[258] INTESTATORE 92 VUOTO +0000259|PLC|FAULT|[259] INTESTATORE 93 VUOTO +0000260|PLC|FAULT|[260] LIVELLO COLLA BASSO B.BASIC +0000261|PLC|FAULT|[261] [WD]EMERGENZA TRANSFER PREMUTA +0000262|PLC|FAULT|[262] [WD]INTERVENTO MAGNETOTERMICI TRANSFER +0000263|PLC|FAULT|[263] [WD]PORTE ARMADIO ELETTRICO TRANSFER APERTE +0000264|PLC|FAULT|[264] [WD]SVUOTARE TRANSFER +0000265|PLC|FAULT|[265] [WD]PEZZO IN ZONA DI SCARICO +0000266|PLC|FAULT|[266] [WD]ATTESA ROBOT 1 IN POSIZIONE +0000267|PLC|FAULT|[267] [WD]ATTESA ROBOT 2 IN POSIZIONE +0000268|PLC|FAULT|[268] [WD]SVUOTARE RULLIERE +0000269|PLC|FAULT|[269] [WD]DIMENSIONI PEZZO NON OK +0000270|PLC|FAULT|[270] [WD]SVUOTARE PIANO MACCHINA E PINZE ROBOT +0000271|PLC|FAULT|[271] [WD]PINZA ROBOT 1 NON IN POSIZIONE +0000272|PLC|FAULT|[272] [WD]PINZA ROBOT 2 NON IN POSIZIONE +0000273|PLC|FAULT|[273] MORSETTI ZONA 1 ALTI PNEUMATICAMENTE +0000274|PLC|FAULT|[274] MORSETTI ZONA 2 ALTI PNEUMATICAMENTE +0000275|PLC|FAULT|[275] EMERGENZA CAUSA MORSETTI ZONA 1 +0000276|PLC|FAULT|[276] EMERGENZA CAUSA MORSETTI ZONA 2 +0000277|PLC|FAULT|[277] ZONA DI COLLISIONE REFILATORE / RAS +0000278|PLC|FAULT|[278] PERICOLO SPORTELLO PANTOGRAFO APERTO +0000279|PLC|FAULT|[279] ZONA DI COLLISIONE BORDATORE +0000280|PLC|FAULT|[280] POSIZIONE DEL SELETTORE DELLA PULSANTIERA NON OK +0000281|PLC|FAULT|[281] PREMERE PULSANTE UOMO-MORTO +0000282|PLC|FAULT|[282] METTERE LA MACCHINA IN EMERGENZA +0000283|PLC|FAULT|[283] EMERGENZA TAPPETO ZONA 1 +0000284|PLC|FAULT|[284] EMERGENZA TAPPETO ZONA 2 +0000285|PLC|FAULT|[285] ZONA DI COLLISIONE MAGAZZINO RULLI PRESSIONE +0000286|PLC|FAULT|[286] TAPPETO AREA 1 IMPEGNATO +0000287|PLC|FAULT|[287] TAPPETO CENTRALE IMPEGNATO +0000288|PLC|FAULT|[288] TAPPETO AREA 2 IMPEGNATO +0000289|PLC|FAULT|[289] NUMERO RULLO PRESSORE ERRATO +0000290|PLC|FAULT|[290] CHECK VASCA COLLA +0000291|PLC|FAULT|[291] TIMEOUT GRUPPO VENTOSE NON ESCLUSO +0000292|PLC|FAULT|[292] TIMEOUT GRUPPO VENTOSE NON INSERITO +0000293|PLC|FAULT|[293] ASSE C BORDATORE IN QUOTA COLLISIONE CON G.VENTOSE +0000294|PLC|FAULT|[294] CICLO INSERIMENTO SPINA GRUPPO 92 NON OK(MUOVERE IN JOG+ L'ASSE X) +0000295|PLC|FAULT|[295] CICLO INSERIMENTO SPINA GRUPPO 93 NON OK(MUOVERE IN JOG- L'ASSE X) +0000296|PLC|FAULT|[296] RULLI NON IN POSIZIONE +0000297|PLC|FAULT|[297] ASSE X FUORI LIMITE PER RULLI +0000298|PLC|FAULT|[298] COLLISIONE RULLI CON GRUPPO TESTE +0000299|PLC|FAULT|[299] LASCIARE LIBERO +0000300|PLC|FAULT|[300] PERICOLO COLLISIONE BORDATORE PIANO MULTIFUNZIONE +0000301|PLC|FAULT|[301] MODALITÀ CELLA NON ATTIVA +0000302|PLC|FAULT|[302] ZONA DI COLLISIONE BORDATORE IN Y +0000303|PLC|FAULT|[303] ERRORE SEQUENZA CAMBIO RULLO PRESSORE +0000304|PLC|FAULT|[304] +0000305|PLC|FAULT|[305] +0000306|PLC|FAULT|[306] +0000307|PLC|FAULT|[307] +0000308|PLC|FAULT|[308] +0000309|PLC|FAULT|[309] +0000310|PLC|FAULT|[310] +0000311|PLC|FAULT|[311] +0000312|PLC|FAULT|[312] +0000313|PLC|FAULT|[313] PRESSORE 1 TESTA 1 NON IN POSIZIONE +0000314|PLC|FAULT|[314] PRESSORE 2 TESTA 1 NON IN POSIZIONE +0000315|PLC|FAULT|[315] PRESSORE 3 TESTA 1 NON IN POSIZIONE +0000316|PLC|FAULT|[316] PRESSORE 4 TESTA 1 NON IN POSIZIONE +0000317|PLC|FAULT|[317] PRESSORE 1 TESTA 2 NON IN POSIZIONE +0000318|PLC|FAULT|[318] PRESSORE 2 TESTA 2 NON IN POSIZIONE +0000319|PLC|FAULT|[319] PRESSORE 3 TESTA 2 NON IN POSIZIONE +0000320|PLC|FAULT|[320] PRESSORE 4 TESTA 2 NON IN POSIZIONE +0000321|PLC|FAULT|[321] ATTESA FINE CAMBIO UTENSILE +0000322|PLC|FAULT|[322] +0000323|PLC|FAULT|[323] PERICOLO COLLISIONE ASSI X-U +0000324|PLC|FAULT|[324] PERICOLO COLLISIONE ASSI Y-V +0000325|PLC|FAULT|[325] ZERO FEED RATE +0000326|PLC|FAULT|[326] PIGNA MOBILE ATTIVA - PADDLE DISABILITATO +0000327|PLC|FAULT|[327] APERTURA PINZE BLOCCATO DA ASSI Z-W BASSI +0000328|PLC|FAULT|[328] ATTENZIONE! PERICOLO COLLISIONE +0000329|PLC|FAULT|[329] CUFFIA LAMA NON IN POSIZIONE +0000330|PLC|FAULT|[330] BATTUTA RIFERIMENTO NON ESCLUSA +0000331|PLC|FAULT|[331] SCARICO PANNELLO: CONFERMARE CON START CICLO +0000332|PLC|FAULT|[332] VELOCITA' RIDOTTA A 25MT/MIN +0000333|PLC|FAULT|[333] DISCESA PRESSORE BLOCCATA DA ASSI Z-W BASSI +0000334|PLC|FAULT|[334] DISCESA MANDRINO BLOCCATA DA ASSI Z-W BASSI +0000335|PLC|FAULT|[335] DISCESA FUSO/LAMA BLOCCATA DA ASSI Z-W BASSI +0000336|PLC|FAULT|[336] DISCESA BATTUTA RIFERIMENTO BLOCCATA DA ASSI Z-W BASSI +0000337|PLC|FAULT|[337] MOVIMENTO ASSI X BLOCCATO DA PINZA APERTA E TESTE BASSE +0000338|PLC|FAULT|[338] MOVIMENTO ASSI U BLOCCATO DA PINZA APERTA E TESTE BASSE +0000339|PLC|FAULT|[339] MOVIMENTO ASSI YZ BLOCCATO DA PINZE APERTE +0000340|PLC|FAULT|[340] MOVIMENTO ASSI VW BLOCCATO DA PINZE APERTE +0000341|PLC|FAULT|[341] +0000342|PLC|FAULT|[342] +0000343|PLC|FAULT|[343] +0000344|PLC|FAULT|[344] +0000345|PLC|FAULT|[345] +0000346|PLC|FAULT|[346] +0000347|PLC|FAULT|[347] +0000348|PLC|FAULT|[348] +0000349|PLC|FAULT|[349] +0000350|PLC|FAULT|[350] +0000351|PLC|FAULT|[351] +0000352|PLC|FAULT|[352] +0000353|PLC|FAULT|[353] +0000354|PLC|FAULT|[354] +0000355|PLC|FAULT|[355] +0000356|PLC|FAULT|[356] +0000357|PLC|FAULT|[357] +0000358|PLC|FAULT|[358] +0000359|PLC|FAULT|[359] +0000360|PLC|FAULT|[360] +0000361|PLC|FAULT|[361] +0000362|PLC|FAULT|[362] +0000363|PLC|FAULT|[363] +0000364|PLC|FAULT|[364] +0000365|PLC|FAULT|[365] +0000366|PLC|FAULT|[366] +0000367|PLC|FAULT|[367] +0000368|PLC|FAULT|[368] +0000369|PLC|FAULT|[369] +0000370|PLC|FAULT|[370] +0000371|PLC|FAULT|[371] +0000372|PLC|FAULT|[372] +0000373|PLC|FAULT|[373] +0000374|PLC|FAULT|[374] +0000375|PLC|FAULT|[375] +0000376|PLC|FAULT|[376] +0000377|PLC|FAULT|[377] +0000378|PLC|FAULT|[378] +0000379|PLC|FAULT|[379] +0000380|PLC|FAULT|[380] +0000381|PLC|FAULT|[381] +0000382|PLC|FAULT|[382] +0000383|PLC|FAULT|[383] +0000384|PLC|FAULT|[384] +0000385|PLC|FAULT|[385] +0000386|PLC|FAULT|[386] +0000387|PLC|FAULT|[387] +0000388|PLC|FAULT|[388] +0000389|PLC|FAULT|[389] +0000390|PLC|FAULT|[390] +0000391|PLC|FAULT|[391] +0000392|PLC|FAULT|[392] +0000393|PLC|FAULT|[393] +0000394|PLC|FAULT|[394] +0000395|PLC|FAULT|[395] +0000396|PLC|FAULT|[396] +0000397|PLC|FAULT|[397] +0000398|PLC|FAULT|[398] +0000399|PLC|FAULT|[399] +0000400|PLC|FAULT|[400] +0000401|PLC|FAULT|[401] +0000402|PLC|FAULT|[402] +0000403|PLC|FAULT|[403] +0000404|PLC|FAULT|[404] +0000405|PLC|FAULT|[405] +0000406|PLC|FAULT|[406] +0000407|PLC|FAULT|[407] +0000408|PLC|FAULT|[408] +0000409|PLC|FAULT|[409] +0000410|PLC|FAULT|[410] +0000411|PLC|FAULT|[411] +0000412|PLC|FAULT|[412] +0000413|PLC|FAULT|[413] +0000414|PLC|FAULT|[414] +0000415|PLC|FAULT|[415] +0000416|PLC|FAULT|[416] +0000417|PLC|FAULT|[417] +0000418|PLC|FAULT|[418] +0000419|PLC|FAULT|[419] +0000420|PLC|FAULT|[420] \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini b/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini index 0987058..6b6a0b7 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini @@ -52,8 +52,8 @@ CollisionIndex=6.L PlcDelay=50 ; <-- deve essere produzione?!? o che valore? -SysLink=SIMULATO ; in versione test/simulazione/sviluppo -;SysLink=NETWORK ; in versione reale/produzione +;SysLink=SIMULATO ; in versione test/simulazione/sviluppo +SysLink=NETWORK ; in versione reale/produzione ; modificato SysDefCn=C:\KVARA\DISCOI @@ -70,9 +70,6 @@ IOT_AreaAddressByte=IOT.BYTE IOT_AreaAddressWord=IOT.WORD IOT_AreaAddressDWord=IOT.DWORD IOT_AreaAddressStringA=IOT.ProgramNameAreaA -IOT_AreaAddressStringB=IOT.ProgramNameAreaB -IOT_AreaAddressStringC=IOT.ProgramNameAreaC -IOT_AreaAddressStringD=IOT.ProgramNameAreaD [XILOG] Enable=1 diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_ByteList.map b/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_ByteList.map index 6cb9510..c8e3ad5 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_ByteList.map +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_ByteList.map @@ -7,7 +7,14 @@ 0.5|IOT_READY |BOOL 0.6|libero |BOOL 0.7|libero |BOOL -001|libero |BYTE +1.0|IOT_EXEC_A_01 |BOOL +1.1|IOT_EXEC_A_02 |BOOL +1.2|IOT_EXEC_A_03 |BOOL +1.3|IOT_EXEC_A_04 |BOOL +1.4|libero |BOOL +1.5|libero |BOOL +1.6|libero |BOOL +1.7|libero |BOOL 002|libero |BYTE 003|IOT_MODECN |BYTE 004|IOT_OVRF |BYTE diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro b/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro new file mode 100644 index 0000000..d8c39b0 --- /dev/null +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro @@ -0,0 +1,6 @@ +09,23,53,00076 +AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,14,23,13,18,47,00,03,03,00,04,05,2,00,01,31,50 +AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,38,39,13,41,16,00,02,37,00,02,40,1,00,02,37,00 +AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,57,11,14,02,53,00,03,50,00,03,53,1,00,03,50,00 +AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,14,32,41,15,07,23,00,34,25,00,34,45,7,00,04,55,00 +AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,15,18,04,00,00,49,08,39,58,08,42,45,65,00,07,59,96 \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter/Resources/MTCA.ico b/MTC_Adapter/MTC_Adapter/Resources/MTCA.ico index 6ed8df838101bfffc7b703bfb468e9108f5c3f47..f989ea3c587962e842dd541eb15a72d619b39f01 100644 GIT binary patch literal 148333 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 Q!Pv%wX$)WR9JQVOKZcdauK)l5 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYI*xFHzKA7O-%kr9KLnHiIo zrWTi`rY4KHxHvEbxEUE3oPk&f$QA`+1t6OlNQ*HrF|ja;2yilTa~m>nu`@8pNK1=x za&k7av$G!r;&}oB0>*dNd-va3A2jvwf*|F4n?vGnZ3vyQZ%&}v!`-Rz_qHc2JiR>3 z?b$Y8hTAKxY@=Nz_KEVde&OfmThGD4@f2vr@rUc3Ufy5t_Ws-wFSmyqy^cQI=>7lf z60giBJE9jn*&hD?%9^nJ7kd&IuB?kmXe|!1?c{`8w*WeUR!AS z_RL&|oEwX+Uf)_~_y6o1>m@f-Y((V80dCo2~bQO#A=)CfF3-S>?xY zVM$QZ+~$b?g_$W|;^X6IIXXJt1iIny<{GURTN@1j>}a?7ytz*Q*tRySf?XZ9Kle}c z{M!S>#J|bBlxAJUsLH`1p($WNExun5FT5QI6*S zc{w^$mX%rPEGssBwxZPR|B6!c|MQEjCeAN*Xj)P2ylYLZ!~a<+%1>GXM3%OOD}}Ce zXJD8dZ+v}flKH!7Db}z06D>m*mU(l`%y8HO@N1M#Y6maYk*4aVtWRLH62Adv-5%tyTZ)%oBR!VfDz9yryx|ZE6mJbR&J2qgk(4Q z>6t!SeKEEMjh Date: Thu, 30 Mar 2017 10:00:21 +0200 Subject: [PATCH 27/29] refresh fasi di target (copia/eliminazione files) --- MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini | 7 +++++-- MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro | 6 ------ MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj | 1 + MTC_Adapter/MTC_Adapter/Resources/SCM/EsaKvara_PROD.ini | 3 +++ MTC_Adapter/MTC_Adapter/setupTgt.bat | 4 ---- 5 files changed, 9 insertions(+), 12 deletions(-) delete mode 100644 MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini b/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini index 6b6a0b7..0987058 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/EsaKvara.ini @@ -52,8 +52,8 @@ CollisionIndex=6.L PlcDelay=50 ; <-- deve essere produzione?!? o che valore? -;SysLink=SIMULATO ; in versione test/simulazione/sviluppo -SysLink=NETWORK ; in versione reale/produzione +SysLink=SIMULATO ; in versione test/simulazione/sviluppo +;SysLink=NETWORK ; in versione reale/produzione ; modificato SysDefCn=C:\KVARA\DISCOI @@ -70,6 +70,9 @@ IOT_AreaAddressByte=IOT.BYTE IOT_AreaAddressWord=IOT.WORD IOT_AreaAddressDWord=IOT.DWORD IOT_AreaAddressStringA=IOT.ProgramNameAreaA +IOT_AreaAddressStringB=IOT.ProgramNameAreaB +IOT_AreaAddressStringC=IOT.ProgramNameAreaC +IOT_AreaAddressStringD=IOT.ProgramNameAreaD [XILOG] Enable=1 diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro b/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro deleted file mode 100644 index d8c39b0..0000000 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/SCM_prodFile.pro +++ /dev/null @@ -1,6 +0,0 @@ -09,23,53,00076 -AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,14,23,13,18,47,00,03,03,00,04,05,2,00,01,31,50 -AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,38,39,13,41,16,00,02,37,00,02,40,1,00,02,37,00 -AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,13,57,11,14,02,53,00,03,50,00,03,53,1,00,03,50,00 -AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,14,32,41,15,07,23,00,34,25,00,34,45,7,00,04,55,00 -AB,C:\Programme\Scm Group\Xilog Plus\Job\PRGCANTEST.PGM,,1600,600,50,15,18,04,00,00,49,08,39,58,08,42,45,65,00,07,59,96 \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj index b6595fa..2b1009f 100644 --- a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj +++ b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj @@ -193,6 +193,7 @@ True + Always diff --git a/MTC_Adapter/MTC_Adapter/Resources/SCM/EsaKvara_PROD.ini b/MTC_Adapter/MTC_Adapter/Resources/SCM/EsaKvara_PROD.ini index 6b6a0b7..54c0c41 100644 --- a/MTC_Adapter/MTC_Adapter/Resources/SCM/EsaKvara_PROD.ini +++ b/MTC_Adapter/MTC_Adapter/Resources/SCM/EsaKvara_PROD.ini @@ -70,6 +70,9 @@ IOT_AreaAddressByte=IOT.BYTE IOT_AreaAddressWord=IOT.WORD IOT_AreaAddressDWord=IOT.DWORD IOT_AreaAddressStringA=IOT.ProgramNameAreaA +IOT_AreaAddressStringB=IOT.ProgramNameAreaB +IOT_AreaAddressStringC=IOT.ProgramNameAreaC +IOT_AreaAddressStringD=IOT.ProgramNameAreaD [XILOG] Enable=1 diff --git a/MTC_Adapter/MTC_Adapter/setupTgt.bat b/MTC_Adapter/MTC_Adapter/setupTgt.bat index 66bdac3..5470969 100644 --- a/MTC_Adapter/MTC_Adapter/setupTgt.bat +++ b/MTC_Adapter/MTC_Adapter/setupTgt.bat @@ -29,8 +29,6 @@ echo CMS: copio files CMS - Zogno del %2"Resources\MTCA.ico" del %2"DATA\CONF\Adapter_ItemList.xml" del %2"DATA\CONF\AlarmList.map" -del %2"DATA\CONF\EsaKvara.ini" -del %2"DATA\CONF\SCM_prodFile.pro" REM del /F /Q %2"DATA\CONF\*.*" copy %2"Resources\CMS\CMS.ico" %2"Resources\MTCA.ico" REM ora verifico tipo controllo esatto... @@ -44,7 +42,6 @@ del %2"Resources\MTCA.ico" del %2"DATA\CONF\Adapter_ItemList.xml" del %2"DATA\CONF\AlarmList.map" del %2"DATA\CONF\EsaKvara.ini" -del %2"DATA\CONF\SCM_prodFile.pro" del %2"DATA\CONF\IOT_ByteList.map" del %2"DATA\CONF\IOT_WordList.map" del %2"DATA\CONF\IOT_DWordList.map" @@ -54,7 +51,6 @@ copy %2"Resources\SCM\SCM.ico" %2"Resources\MTCA.ico" copy %2"Resources\SCM\SCM_ESA.xml" %2"DATA\CONF\Adapter_ItemList.xml" copy %2"Resources\SCM\AlarmListEsaGv.map" %2"DATA\CONF\AlarmList.map" copy %2"Resources\SCM\EsaKvara_PROD.ini" %2"DATA\CONF\EsaKvara.ini" -copy %2"Resources\SCM\SCM_prodFile.pro" %2"DATA\CONF\SCM_prodFile.pro" copy %2"Resources\SCM\IOT_ByteList.map" %2"DATA\CONF\IOT_ByteList.map" copy %2"Resources\SCM\IOT_WordList.map" %2"DATA\CONF\IOT_WordList.map" copy %2"Resources\SCM\IOT_DWordList.map" %2"DATA\CONF\IOT_DWordList.map" From a8c11d0a2a6aa0c6d14a794767bf4773719c06fd Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Thu, 30 Mar 2017 11:10:01 +0200 Subject: [PATCH 28/29] Fix problema compilazione 32/64 x SCM, fatto test x program number + WrkTime pompa --- MTC_Adapter/MTC_Adapter/AdapterESA.cs | 2 +- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 2 +- MTC_Adapter/MTC_Adapter/App.config | 4 ++-- MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_WordList.map | 4 ++-- MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj | 2 +- MTC_Adapter/MTC_Adapter/Resources/SCM/IOT_WordList.map | 4 ++-- MTC_Adapter/SCMCncLib/SCMCncLib.csproj | 1 + 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterESA.cs b/MTC_Adapter/MTC_Adapter/AdapterESA.cs index c687945..731479e 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterESA.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterESA.cs @@ -450,7 +450,7 @@ namespace MTC_Adapter { // salvo area selezionata! vettPath[idxPath].mPathCurrArea.Value = bitNum + 1; - vettPath[idxPath].mPathCurrProg.Value = vettMemArea[bitNum].mMemAreaProgNumRep.Value; + vettPath[idxPath].mPathCurrProg.Value = vettMemArea[bitNum].mMemAreaProgName.Value; } } } diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index 1a6fb68..5c94946 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -1597,7 +1597,7 @@ namespace MTC_Adapter catch (Exception exc) { // segnalo eccezione e indico disconnesso... - lg.Error(exc, "Errore in gestione ciclo principale ADP, fermo adapter"); + lg.Error(exc, string.Format("Errore in gestione ciclo principale ADP, fermo adapter{0}{1}", Environment.NewLine, exc)); parentForm.fermaAdapter(true); } // tolgo flag running diff --git a/MTC_Adapter/MTC_Adapter/App.config b/MTC_Adapter/MTC_Adapter/App.config index afd0386..0a9ce40 100644 --- a/MTC_Adapter/MTC_Adapter/App.config +++ b/MTC_Adapter/MTC_Adapter/App.config @@ -65,9 +65,9 @@ - + - + diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_WordList.map b/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_WordList.map index 0e77769..e1b4cc0 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_WordList.map +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/IOT_WordList.map @@ -17,8 +17,8 @@ 015|IOT_T_MD_08 |WORD 016|IOT_C_H_VAC_01 |WORD 017|IOT_C_H_VAC_02 |WORD -018|IOT_C_H_VAC_03 |WORD -019|IOT_C_H_VAC_04 |WORD +#018|IOT_C_H_VAC_03 |WORD +#019|IOT_C_H_VAC_04 |WORD 020|IOT_C_TC_01 |WORD 021|IOT_C_TC_02 |WORD 022|IOT_C_TC_03 |WORD diff --git a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj index 2b1009f..dddec16 100644 --- a/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj +++ b/MTC_Adapter/MTC_Adapter/MTC-Adapter.csproj @@ -41,7 +41,7 @@ prompt 4 true - false + true AnyCPU diff --git a/MTC_Adapter/MTC_Adapter/Resources/SCM/IOT_WordList.map b/MTC_Adapter/MTC_Adapter/Resources/SCM/IOT_WordList.map index 0e77769..e1b4cc0 100644 --- a/MTC_Adapter/MTC_Adapter/Resources/SCM/IOT_WordList.map +++ b/MTC_Adapter/MTC_Adapter/Resources/SCM/IOT_WordList.map @@ -17,8 +17,8 @@ 015|IOT_T_MD_08 |WORD 016|IOT_C_H_VAC_01 |WORD 017|IOT_C_H_VAC_02 |WORD -018|IOT_C_H_VAC_03 |WORD -019|IOT_C_H_VAC_04 |WORD +#018|IOT_C_H_VAC_03 |WORD +#019|IOT_C_H_VAC_04 |WORD 020|IOT_C_TC_01 |WORD 021|IOT_C_TC_02 |WORD 022|IOT_C_TC_03 |WORD diff --git a/MTC_Adapter/SCMCncLib/SCMCncLib.csproj b/MTC_Adapter/SCMCncLib/SCMCncLib.csproj index c9595fd..75470f5 100644 --- a/MTC_Adapter/SCMCncLib/SCMCncLib.csproj +++ b/MTC_Adapter/SCMCncLib/SCMCncLib.csproj @@ -23,6 +23,7 @@ 4 true false + AnyCPU pdbonly From 0b99d9aae9a3805dbc881e29d2891a421709bbab Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 31 Mar 2017 16:44:45 +0200 Subject: [PATCH 29/29] =?UTF-8?q?gestione=20area=20programmi=200:=20=C3=A8?= =?UTF-8?q?=20di=20default,=20e=20programma=20vuoto,=20se=20c'=C3=A8=20alt?= =?UTF-8?q?ro=20lo=20indica=20(altrimenti=20riporta=20zero...)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MTC_Adapter/MTC_Adapter/AdapterESA.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterESA.cs b/MTC_Adapter/MTC_Adapter/AdapterESA.cs index 731479e..2be68f1 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterESA.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterESA.cs @@ -278,6 +278,8 @@ namespace MTC_Adapter string status = ""; string pathExeMode = ""; string pathRunMode = ""; + int progAreaSel = 0; + string currProgName = ""; bool isFeedHold = false; bool isActive = false; bool isReady = false; @@ -449,12 +451,17 @@ namespace MTC_Adapter if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) { // salvo area selezionata! - vettPath[idxPath].mPathCurrArea.Value = bitNum + 1; - vettPath[idxPath].mPathCurrProg.Value = vettMemArea[bitNum].mMemAreaProgName.Value; + progAreaSel = bitNum + 1; + currProgName = vettMemArea[bitNum].mMemAreaProgName.Value.ToString(); } } } } + + // salvo progAreaSel e currProgName... + vettPath[idxPath].mPathCurrArea.Value = progAreaSel; + vettPath[idxPath].mPathCurrProg.Value = currProgName; + // imposto exe mode alla fine secondo gerarchia stati... if (isFeedHold) {
6@-Bj{ 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 + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Mapping between log levels and console output colors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Stack trace should be captured including source-level information such as line numbers. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Prefix for assets in Xamarin Android + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + If set to true errors will be ignored during file processing. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described
here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + +

q|mdF)o}9=r)?GcN+ICNe*Nt99!6 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 z zs)@le>jv)cyx`9E1Y=+v3bLC*evHc`&CB3M(TW3b7Rzbl0(=msM9Awe=u3!zZn->I z+s#s`q?X<_#(*S+pYkrquHe{GLCx{Cc{$&$EZeRto3kI@sD|X3y{PJRxu?vAq*+DC zcK?^|Lkbv5XOkZlXt2nl>z9wpgvwL!5dV#tR+G|0;yQ_^1nX+$78LJdc57gT{AlyZ zY2cU^v)!=p0ix`{jVIz!YZUu5UkD_W4b1`~7xEQDOb}glOd`Gld!{Ihwp3}(bT%v_ zx>n5o9PrM;391eLdTol&pr69j^%<7BM~{J?vjj|n+^eon@~DZWE>_z+{)nPcMRo!l zs|L$Q!O~3M5X9`LxTymYjZ2)=t-*Hjw^j$XYU6|bdmx{=9q8Y~t>0YeFXUJa*j4AO zO4!3(C@&ww&od|88nv7(^i=4v`S?hB0gCz<-(l{A%oH4Jo^PDeU-s2z7^LW#X>sa# zHf9U-p3&k|c3~0#)@9FNO{oxZYps?_2|ykxH%&%-N?r&M`39D%3qu5xsk0C1)gq!zSw ztp`SIbZ6&3e0~Q$BFClZw;Zrc4lzET-US{Yo3k3dl*@gV<}cGu zN}0H_4+nTjwBoS4cx>Il)aqq^;Tq?I3PNa`D!U7-(sa+g3&jZ!WGV+vo({SkI{7x4lO(G}@2+aZw=VNXD62ZK#YtVO50VeG9niJ}>QdvrAA zjz5^X!!Y2%C>n@;9x?wg=0|e-N8dhiK7ahvAAa}dj}PBJ@WG#6{qD`51~#8PEqChT z=h)cGkMbsX90iBEi?LGs>3&MDw2Mu`luMdO9ho0S7+()w6^N?%sv0bNtn|Td)xU8) zeXr&LF1gHg%Z_=d*%YJF9j^IMk{G7^CrM#64PR&=(DU;Qr9L!-)_tY*6}W<7BAr#p zq+4==gTx%B%*@iPKuWK(R@WE+d*UCBH|_c~#of=4zmYFecXT`W8ci9Ch>_bN+^9D8 zD`=YPu&GM?gH1g6V`$H2>GJrr&V?ElHU1P|J%W0;Ir(g?3P%RZk_#0zB?)wk=&hQn`O zO^Zt5N^{RbWicn@R%xda!sksn;rHU%SPb;PW;OskS6pHz#OWcar6Ugu*LG6E2b3uw z*WomBp(*BvAv;KN$(Uw49k;EgKQ`FKYZ9CE$xdB!I~gER58GWvi8~?UO8X#JbB88} z^>IqKgXBjB&+MiW1S7Q-)zi+Gl(#-Ic=Vl7Tf0ro z3ns6#@&U><2OG;)mE&GWr|;0_4)6X%v%#+9JYP9q<>zTi-cN$*qMJv838c$u9hBOJ zl_{tWt4(3 zIyvxBCVvz*TQS@BWnz1(uys1n1b)Jdz8TUN}yTIp0eP{;;3 z=kjNNzq+5m zeD~v<;lTZ$&uhQY+~$oA0Or$;W2QPge_(z_pdz1ukuLiw$e{QcxvH4CDUdl|#ao3Z z8OVTMr`#4HlG>f*Q=3_1sGfpR%Dy4{aWWB?V2d&ea6`lJl$PdVj7q=?Pj}lANqPbD zEZ(5o&`3x1-~2J2xg#7M_rDF;-8ol}KQTh>U%>1*@?A%y@xDI+Ul;?|0HP?hsfn)? zJrEY7EKxVOsGreR?_LjjjOlT<;nT#^912^Aw`|^ld>eqRBI0O26S9oF$-2E@11_E7 zaK`N^yV#PMJ4h$0>t|ex8+YZli+k&AL}^yh?;10){5`jrRc=GBj(oGC+xg1+qQOQ! z_nqzrXFsiJoJ&I*i;m;XWFu>G`FwGDS7!WIi$Nu!yr(E24(XpX{G1`|W7CkBUd~?( z^O4d{w%{XJRbM=sK$_dLC#+RXmAnlFC8t=jE9qGZ8AY?O1Vga+6-NP^Y=ct855&qp z$FF7|OGEad_3bqiG1I$L&bs)fxc^v-CJYL_NYm(Sc|0COZP^-i9?FDqpJhzFZ)`vaitq{ss#rW+ji1X0uAVuaPRYs9m|RxZh+1QI@V%#_BFw)}lgUx>de*7x;bF zql1VS8Y)Gmby59W5%PDO&@ZW&dJajQba3c?Xe%VXl^U<-#|g&f=g1*^ zBA!Eyi-1|$rBjY|Y>eFv^-@&oPU%#Yl@Hz_A*#U3&)f1v__?DD6VT}knz7O!luc|S zr(dR5(#vauQ9?6aez99m)LWwRF0OGSPOX`-BxRbRjg}>Q<73ITU_b(h3=q{dVkQo6 zU0WKHJu;^N{US&$uB%8O83m;>nXAxGYta~GtN2?)eEn!IStkh(1icbFf;d3sjikjS z;wlsUstdzx7O+*LSM91~rc-`pDu#y5n~xVBXT-G@L)W@|&ug$PD-2HigXW=$j~t~I zjwnw$hil5Wr;LTA5hyGHN)IcF^IGH5K_YJg5j^Mfl!g-L%F}3EB=n`JhZ( zOLlHumaD=TTzWTGxA*(ZmsnZ6_Km;Pcj<|i+^|{T5g$K)fWLG{@LP_{_PWpDRNWWv`oOj}nj1DXpj?qMIgkQEABdMPyMf>=RK=Dev;rFl3D|ttqeh zFNhL_7WLqi(uz=HaYPj+0cGdgD2=>QsK?E!xjIvOWy@;@Eyp+431=jY21}G_0HD># z_7#?ZZ)b)7dE{s>1tWga`CL;6I%DiEP2gq`QhQkOo!3H;Ns{msjN-ws&=$095>TN` z!Q;Lv3o(*aTUQCJH;Pt%Ix-#FSOu1+L^gi%RRQk0(w!f)3qSwaFBbksrLTawU*n>8 zgkuSK!-jhCFP2)_U#!KyST!ntv4%9hvBDev!D{%6wfGMfL5;AC**8{5!(S}5vWigK zzgRUYf3XZJ{)JVe@*gbAe__G){ReCDe_$>C#p>61SP7ihqW@o5HGi?Z{*Be}f3Rx) zH&)GmumV{$hDV&<#=Ri$u%O#=XPPL^DeJb!>)E0@=EtiF5e@Q(?#7*t+v=k6et#m0 zD*&PX&Z47Er-h!-oy60^@)z(zwr>KC)fB#;(?M9W*)~hw>#n_@(GXK}&9CW@H|8*U z7+G7Q3b@SX6HR6H*ylP2AGz0gS|@Y3VCGj428#mS&;TL^C%kgjTBBsNCS9+^d#_Fn znRtjfUmCf@yk7H`X@#Mt2t30ClGIQ(3|>yy1feVc^OA+|WP@-Tg(TS|Ku77Ml#E=D z+7Jt)&ZSHYtL99kCV_5{e$r(GXE1K0=KWEu-e6Z8awe&}-T zvxD9E8xCHvaDIbXKD;;tTfU{^FR`zK72b0^ z6z=nzwkKs0=K#!oUHrWwGe{_?bvTGb4=SG466-^2X+uITZ|#efdF>H}vF>wdL>OudJ^7Dj;YujC5xbEg*XN-eNGF^#0WyE;HP2q%63t*uRf4p?ouR zugjsFRr0`uL!3`-&`#fF3OLAd`IW<}(a4!kYCcniR^>+Zg7MlD0d5Ysze%^YwaHay zj5mUYQe8XF0PJ-|{FMSTw<2!gz@G}U6rx=4`z2W)D|!0`hqwlfx^^OeQ-Hh;YA+X+ zI*(n6ucR``>Zig{cW!H30VX*VcXhF^@PBu48pu}&F~a}#5^Aba*Ri9XB2G<-hy~C; zk)T}CIJD0}UvinE^ugi_PRc@GQmV9O_}9UzP}vJY;@kf?lXB%Tl^2|K0Wsa8koda0 z5R6qh(dtbq8#w(mOq%8U`MRwLoLwr>)ImD!EAQN2+!{`S`#j%Wq_ns5Cip$7G|Kjw ztd!6*RL&M*fB`L>F*iX^29J^1>PbFgZcHgZ(Z`w&vf`)PmFnt>gjQ3AYm$IlOa32` z6Mb~1z*V9+Un7?Qqp%<|=9cnvnt89=D5xHm{DAZG$fmV8GjH?SsdKwFyLD-}mF{pb zoq9;RQ&<7Gh+^%Q;!CXzUqsjlGonAmbRggFlU07m1HZ5WQ(>yjkd_yV5_8b!siew( zn6m)WVY@G|F#R(ssJxi$Zw?#zC7l!mb=4(Jlx->x&m9#4TdU?z(t zi~01BC|~posy~m3gy1UklvJ-Rd^+=gdkP+th`~+fIhjsF@tpNU-XuyoNJe~rBnsId z@uYaJ^0!oJ$9w7m7aJ;Bt7q?ZSTn9sM}bE?!S4zGWY&1mKPG7hT^hKAlx4zKY1<``e;rTK})l{uxPoHwLa!y;S~R-;=3p1J|kEYR}OnW})|| zbu9aCEq%BCk;#<)KV;J0h5b({bspbRp2~ChP#T)bxBvbcq)${8P&CqXv4SS6+*w)z zs3v=r87eho>!$ZC#aOSfr=N0mxpY6P?0+Yby;g}MP(C(BaC8+8Ib{)tb+9RVX#gf$ zCSyFK`-?jFzUm8mj-2|CoCU@@ZU6hC8{#o^`c+CEnCh6d%VitnO~{mowAdHXDP5O~ z-tSj#9WL^GHw5Qo6%Kn3FQP^^g@qm{&e0NFxn4Fz#nfM#$~((%Hra$l%Q(ywfuV18 zbjxIdXH3GdX6ToGapiNz(oF02l;Px>|HK;pl?EEzY2>xj6u=)6DJCnc45|% zw9^A5%0?Q}fy*Sb7HD!;Wh|bo&*5VqlG4D?rj0o-x`7^phdm^vfuWCC6J7Lx-hP_!6c+iyI;Dwl+4+9_ zsr`(b>jvSJ{)3a!{VAvJJz}m0v{5((r={mTTt0NqT z<~D16r&^Dg(}}{FtTdynkSHq-hi%}>X*pDyLM-@1StBb5Ol!@-7M!EbeXgvBW0mzb zEAp8s<;L(=FGG&!P5m&9)@U7#z-g=bgcda|FxB{zIckBSm+=VCXjovWbJnm|d?EjH zQ&Io(rkF+lv4QaiNs%w4Q##RK8~k%q-C(T~u{g`!pE2suC+2#9UV7fg~29JA4$$E}~@p@#Pv7{4ADq3kK zSwYcO6pkzcRMNJn3>91O$+P-b5jfV`vo1K7p8MQX3@0kvVf2U{^vc=yp4p=k|!&DP! z68~q`aGo*zb@pEWKVkeYb@mPy-BAA(#-3wPlMnn&|NqZW9s^K3MT}i`{j@C#E{q zA7`9Pk=+kT#>uP)Qz`KnSta27c|GH|SenOy-d86od)9?te|)TRbMIBQt& z0hR+r!%0|=EJ@)bm?@`7q}6!MmzjJsIe9bav(V{NI4pe8)10Qu&09z!n9-L$tX@br z@eB&juN5~Q&Ar&o9T>2>KmI;M*8;etmuc3SB#%KZ(e0iZAzd=6G>eN=ry-|n61~#- zWt%FmfR0a4oq(Ju>1RpjsTwt_kk3;|oPb=BxYq(a2NtRJMO-2fPh<=~Dq= z>9WYXne5C*KACV{N2>=XI45eaJ!4OMl&-OkJA#Tild(-|=V0lIp~ZU4sOL{V?>$#3 z$hPXzCRi6?P99k*mZl@TR@37R%@r0O0E7ZI-1q~S7U$eP&)ljJiAN+QR3er;uF^@p z?qh;Df;tC->Z~)sz<)_go~NCSWM}dGs_}6w+Q`d*`NGRFUBmo|3%LZPv$t~F2i~{% z3lAJg)OmoBm_mmg`K~O(6%=0|$JQQ+-|Ch_>e#n%hg0-fnB~HB&P_&p zjTJVaitlsANotC5FgXeDor()VevzZ{t`2qFY*<&+8RonEW%ngSF`B@$yU7oxX$+pJ zdvscEAQ?alnohlIUQkeDIFnbl&`%C*ywLh?Ae4dSy_0*2w8)fYZb!;)>*H=`vK+gC zw_A80CS~>?)rb4|SFx;Sh*Ccctc7R*sR-$^f_fJ^(197>?UGVi0FN`Dc@dC){E30$ zalGVBjYkj3)CWGNZ>iK6e!L8CK#&ud9Hubly0AGT4+~i0JvAGDvoXuyS=o7 z?u>Rmgyw5pm4gFTh~_Yei=>N34@#=OXB-nNAwHUw!8_E2Z>%dAj!B*d`*FjIRM1hW z1D-VLHg>4^3Kh$5WZGGbuxq)%c_dx`pj}b7QoX}YWxoe)7efnb=2f0kR+p4sz0w-+pueA$Z3QB4q}@t zDfPDJtZ=1JO)bc;T!BT}q{F7Fc3OKSVccqURT{Ow=n^|A;PcDWl}Ct$ zcJIve90Y@o@FLcdy7DC201L?D@;l{(W}FICwq$s#L}4E`Da7?vK6jKOeP&t6-t#V7 z@8@8++MBfkZnSmhpr=mnvk3lIFrHhA?LP9n9ovE#kwvrJ_(mT15Ufi&>1Ty}+H)m$aBMEN{hB z8R0|x@)4L@qB=MgQ4bZ~CT!#%QLN2@Nre6(UBrY%3p^Gg;~4j$1O*GeWVcK^QqDj805Z<^JMq zwCo}*5722n5M%1zmSDD^?=>(;iw$3E7V7vRZ{}zyE&{6{FtYmgW=&^`!vXW4+E`^h zSkA2Vg{tM9bI=Qx<1OrP8}o#@A{i$OXiZ0gb`g+>LdMGu9=N+odOC6;qgr{4yX1(w zE_u6SY*;7Uwa8i~5~jDbD1!>^)~ zmJEwTh;sMLxCWc=+Oh=1jJ0#f`H50&VXTD=f&3gmh;rj*v=oIAkYIG7_huC7A|?g1 z4RU%IlJLFZY9uJOC^-|?>^0V}J#?sA5Sz@d3f({_VL66Q5I@YEB0{E2u zDaV<)jdFy#O(o9N7?PQsdMmEM=H|4y$c|<5k<03k9WhDWIlrxqu>;*X#;}%SvV3_L zi_R%SxXQ(Jm-q>qXxaQL$>uq&_YBy2*Fk{|l9E2^q7~coyIKLrN&LuukrBT$O2_+1 zMp*Y$&3nAV@vTuW20w5pvM8=2%oCFdEkNG@#BN|}ht>(@fH2`OkgYhEYXe0P{gMAc zo|?_%NHNMVtqPgKB$ND7Iw*KK$x$Cv%{XD;D8vTVe*C$h#zWu@z{1G<86xv_!9jxDuWEmyl39yyonNwXH|P zao1VrVIYNN;@r>!tX4MtSjZ|Z`4@o}=kFpUm1MaJobP49n{qu8*bVnLl%_u- zX`|I@`cp|y8z7I}d3{barcjOK$n^0wkY$)wORKiC8qrvp1R00?@_$&T^^Z3*!%Y4_ zodHN3bjLA^CXhM>A(d?7R)2S~={1>AAjvi)2~*HQyu62V*HO=~#p^l;B?zMt1A_$u zH!U`sdSz^c9vdG|c)=%?mml2s-mEyp8M?AGn5(@UAF4`<-jvIdQI75ifCdg-aO@jO z-OqXMXarE-bohw}f*ynf@StBJj5Rt<-)07AFJg9kh@QTi@dGPKytj|J zURY*lJyUJ2pqw#**0=6@T{Pzh^=p7q&A8gC)`ZisLcS(x%V+ARk)M>=ECTeL|F3>f zk2HCP$&2ai5-_N}Hh|;;(s+|N)npflrItT$PK(aoCm22i;MD{Gr(L14e)IM8=5w$V zipLwafov@VnK5X1km>YS8-g8Q4~1M+z1*NyaGSa(x)tv1=szlH6(ZiSN%m#!%?&R= z7SSq##S@0ZdE;7x5V(AjEMkuo@o5fZt`M?R0iY%2G_Ld|Wo0*BGUjCg`b*9L`d~t* z?td(MxYQ_ANk!Naf39Ori)i)(S^(^pDpqeK=u+q#4$(K0c%6^m&Uh2PqmJt6FqgfW z7o;%s5gk=^RRKLEuppjTphKy}&v$ z;J4^fgNla<^dcwO$D3*JcH3US{D>L-KJP(pV4M3KO_Z4!;3By=c+&ul;kYwfy?Qqu zsMrlZ-p8h3do2|dOefi46v^}4<;iwS5L@p03bjB`Iq3czR8PPMfIrR=+m4pW32Vm! z)Mh7vyu9Yyc`EMy^B+z-F&(#@0Q$f{h1t#h#h$F(n z9D(HwC`Y582%~c>pJc+oGwWh7Kq>HrJ|U+SBG6(BZc@QeBKT7i)wH|OqT2SR1$gnU z(+3pQ_sHFc0&Jb!c~xg2f_T7ZfOEb>k+H&PN~o6w+_CQ~%;?@TJW!x_wi&X87pDcM zzbFyJnSTRu=mMY|ugk6_^Q7_CT`>Xj;eLq`!LT|S&5oA=p~PjmkI*V=j#svYB!+ns z3`tcj2%t$b$mPQ%lE-Eh?ZPZWBT+Y)ZY*85go3{FhdyYp!AvUyVGr&@ zAG7V*4qa{5?4os#Npkb$;u3;mO8wM;&%jmsC=D%d(c^%#pn$GtQtKmv*q3i6;lFy8 zR~k+5@fTJFT^EYlV#}#{2&FteIc4y$rwO|l|ZY1W72nl05=pCxrQd7nic<3NWrC1V|KaYNA~3Bz9~4F4#K z&Ooaa1$GJwryANAu+{+|;H(VfvhRmc9Z9Tkppx z-S9iP9>Tz?8O8#hsRBhap&sIHqo>gLQ+*)HDkSpS^_H#Rkr^VGt9}osoliWicBJu1 zAwqZ%Nfg+wMw*~41hWS_I?9*AYZUqd3Civ3_&Z4kEe}NK$rehY$?C9>`qk+?`8iQx zQ6V)Qh^V%fPFJppyeKF!CxJX+rOBS#|jZmP@>!t==w8 z*#snP4D|WG48 zQN3#D%&Q=CP?~2l^VdZ%YnYZ0_dN_4s4ix!!xGc{Q~4@)XVWj%Oq7A%|o*r0BE^3Tf&eU1~N%4%%g z>Kw+4%;gRDY)uhgvU;=-ed60xb8ru3Gx_I35YZg`#csyVXIp*=m@Mhay&hX)iZqxy zc#MlMZ;No&fa^vAdokqBVjPkBnMJr_Fxi4*fJvk{=>W0u`Q(&WL1tw~t3GI~oZt8d zjj_6&1O8SXlq?%}LP?ll8ihHtas4GwA%d~-(Q`mfLQVh;M3FBP_EwJSlFwNqurHEk zm6rN3?X!8kMJ1e$xH-{#-|4fWJInE1tSLw7SxUwj)yt$o`I*b`(eu2^ZZ?>fscL8& zB@$qtq;!B!=%*NeFRL+AVC4O{>BsX1U;s2u$Og_kjUp2N$@Tv7sU$%z#)Hv9H9TXW zE}WTY!jB{i)@xbEX*&b{Fn z0p2s1qDHY!1gxg-rrY75;6kOXcIvQQKBq@k*wJgU953WJtY}`Muu9=wNz%F053m|r zsQCPcm!nquXVczjcLvAf05iH0{Y36W&+^G1MGyvoyVrOY24hI5IBp*@8o@BvbfP0u z+C*sdF2BH)a-88~edxYmjy9O6S6l2l8UHKFn5e7qoMt0Qj+!@GtdCK-#mY&U5>eAm zo%T{fp{e*=COFsYPatq@vQJXJKP~-iwVZAXDATtw)JKfi_@S{ySSqfRJ~&GVy)@DE z%~i!&^~Dc56KRzY;)IKw*oZ zIAv!*C*hGxK-P-huoyuuC}EX2O~|JM`K{h zggGigiIyeWR-y^rb4CYhVq>WlIXhQHA1Qx}h2o`Fl!vPZi7jpNar(_#5>hC_xqqQ9 zpc!mg?k{vuFyXqN3`rwZ?x77=LTbs}P}kT-bPoqMP-m~klp2nFpyc@#zsDq&Mr&sq zPQa;*3zGVYm&`SVfSx04k&V5_5UGEs=BWaurgLd6EfljvEfm@Vmx?uayN6S1K&gp7 zAl6Ot26}|vv#l^Dy9{QksddJaj0op(GH#M|;tn~Z4WPn}QB&rLv7qc!c#M)Ep=|_G zE;es+reUDVKNoNrL-feC@6`(MJ*5J2JObuy>pd|96WV5CYm8D2E_eMg+<~%~23=DzM1ulwAy7--Ps%PGuUOjA%vzM<)TM5HcXkJrbRxY#9${{>(1eNm}eU17IS*IQF`4SQi5lpPld*{ zDUqo`+jcnac6u0BuHAyZ%pa~=4<->C1vWUZgrS(aGfhaIN5Xk4VPDyE(|W>vqSCWO z=B#IQt$;`y(}_0)`*I=Bp=w{&Bw;8aE=zmLqrSOZ4nlQ`_?}T3p^{K1F1ci(_k-00 zFm%H~A;xIlJ~xW*Gd8{GcI-=nLas~2f?I{8Knzl!#3Ah1J?;kiGG$Bh^Uh#CL@7oF zvG3hFp9yi1%?_4wC*sc+r2u~wF<=RjZ3ZZgysc2nKKnuBJbwh8tB0JX<9#RTD}G3x za8y@=@*Nw8AeHKd8|wz94~yKxX+fk4Q)KX& z&=y(w884e=;Cktm%}wkNIo-48qhhi=w=#Drp=i-If6OsoF3uh?#Gm)nHh79aifd6j z%z}BzF3IW(Lh#Oe0x{3ew25a~udqZUqG!7B+=|(b-6T-_njymBr?cgZB;>^-N1(FHN6G^+@R327J@o>YWt(;`M-dBmekk4**En}+{rc#Ln?zTr_ofQQtF$mlu7^|1aIkTxBJLB`b8b7 z=p+E=ESE<0ZIw<%sG)iipp+(W+izsGpw)<>KIiVWF0QRRT^(mkM#b)1)~uM+H>0RR zg$qI~(H!ciY=on>_Gh=e94|&MwTH8u`^?G$dud`0N4IlWI4aS_%yj%T;om9}HY^rP zz)GxRR$Wvr`~$TVtl1ZS{xF-Wd>S}1g8&chrkyP9V_;F^d=00@w;f}v-mzW{q>^|8 zM5Osnjf5jlwxlbF>=-_)=t!KPJ%7p6B;v>^JT(w+P8Y8)E0z!5Y%1N{>!Si>_0EsJ zx@tWfmex=Y*)=MtTfHGAV!)G8>mxa+R;40uK*^OxWFD>y5(;jAoQ#5`cUhbcMq<3$ zesuc5ciB?GQw?PZCe{gegQ};kdMUJUVozr9oI;-UP*8ZMXU9HZHgDQ}A2YWwr}y}N zun=vWsd^A$A&<5QpX6e2fxX1*`pan+Q)ykx%C_(>$#iiKMke(+zvAMTgEbbi7AlY8 zyNiqCs(#E$MxYmH%&}$F=I$l-#X?&wD{i#tYS~%iql<`kR03;I)uDW0sJ<_qMt2_W zFb9YG)R7$oo=tOSOMcH)Kd zj{UBbgaWfKSl{r6a(?FTF5+vtzfe@aXdv>qS#mY;rM0&o=KT3ss zcUPnDKyTbDp(ZknN`QtOKupe#!#@<7n1r?U=|A~uohejxaO?n28m}yvS_4c3s;|4a zcz=Tc1i~BotkeMS-FRnJ&@I+vJdq=4ayh~xK@PAG-g5Evwb7HoXC?1DwLdvFsj0B$ z(avc!Z{wq+$)ah0>Y!7Zc;C9AjbHdboq)+Jj)7gMdh?BT1NnE`MNrt$Kc%`YBQ1VC zv{4V&LcebMfddU0fFHTYYl2-V-L_VOE+Za&PsKuEgEtZ$3AePoCblJ^5`yQ4cyL1 z#Ra5y<#+H=kLDycuh|Ve;`P(=Jq;D$DM$PPqjDB5PAEpfoYAQ;*gJ9|91*}3#~sag zOJ>-o%0KWh@iBB&A70WJ02z8Gw^g$b2%@Fm4Q36-Is}x=m5JM z86dokS(zyi6TH_2_B-^t_bKK}Uj**YcO?lK@$!Z1ds8mYLp}|Rq=J|33;vkkhIcP8 zfA`isI<52R{TT_ud8YYhu3b~vqG!}X|9zr-aNqHJtIjb>^Y1Frb5xfAot+1AjBYee(Pz5qD#>R1C`FS$9JPEq(#ci08gLxZ}X2B}kpOW0GSlf&`MgV}q( zV6a<>gQEo4u8-l|oq%A0lX07!(j?OX)0$b0XD;K5)Az33N?np>$5Vpw*zMJ2#_h0{ z?UJq3wsWB1JBQ#@laL_BwU=RL zXA4yAWnj`_y}b~$A1Z%$zo=Z> zXni*8xD30eAK1i8rP=h6y@9acx+~jvyZI%_p>hZ)X>^jl6DTC$-Od-~bnM;a@lxTG zkmORd!t9jIFe$DMX{@OQ=!nv$p+!3V3#YGP7~xTt`z}jnF;r|wy~XST1Rhug_kd1a zq85q1h?9!3BDl7AhnX+k&$@?nhm%zh%X-JjINaW1eTj@I--uvyJ$Sm7Y*c4^u0PO7 zy1^@Peq4(UdY|o!nJ-|jWQt;8{C;G)sQ=A;dPfsKi;!b7?=1b=PpOO$uwB(h~)8Ef?2eahcrm{90|b6E!i zhk#)W%$BW}e#8QdzrXGH2L-T!p9kT0Qx+bciY z*?*Tp(zoK4)|-cY z9(WNMV8&QI>NrISD!XCN=C*|Chz&ZL1r&z1n&Yf%5$Jp=GiV7PO+xHm=Q!T!-52_< z486N3?64D!({Te3(L%5>j!55%l1Ew+Y*jW&|K=N`EI?z4QWC?d&uaM*@ zS`}IP1-$%#alv{kztTChN*g?K=7lbe9lU@V!CWJ{GCV;7MlkkZ+-D;OFmTtPPI_qg znOHQgG2##+Y`AHj*D(!bXF5JVu-608BTbntM7b%~k@x{1ryoaA;CQ#R(kjGLR%4q` zoa{mi(^B;q?`PS2{E7Rbk%7Ul+5Q=^Xv)cv!8lb9X?h+gJ;3qEQCVdCa&b74cCt8~ zJAe%c#(HiVl2leGthDHh0@v4i6S)fDxsWx_5XNZU@yMl^Je0l8tXdBN<htpXv&6&m42i64E=U`Sv-;@I->1YW}m4mymBgn$py9+d{n9270=yeYpCo1Uxt z4Q!YBq3;6q03P*nHAg4eFZ=P8tTIx-53mt|9tTG|i??Ec* z)hyvX@Nq=aq3)A8AebeEFDM0oE4lieDRkQMVDb?gw|FSuJj0sswpB^rf6i@sTmnfx zq+z9On=|WjF|UJ0+y&J&i|ZkT&S3-+n(X*s&GSCPN@*vBZvWo)n9rl;@k&_07FOWa zkUi#_fU8bTam1_OY$4_M8xBA*#?vdiuI5$pBCO(H?M#2vjG!b68hS*A_){TlEk+3_ z1){w!I_aJ`|E{d}y9A9necN!(vy^jEB=C=;nHxx!fydV!-&HBA?mnOo14hmVVC+`% zeZo`;_}0ewgC7wQjF6-XwsO66qTf&6D)kgbMOLZvX$&?u8jD-eJFv09)c*O89?uKh ztdTlWmzxj!`&~}%J#T#H>vQ<%e!;&- zeAIVBGxTEdK=Xm<3{RD?LwyowAa?!smdZ9&RsW-HPoPaACr_Ec?kXG#D{0cr&`;4M zaX=N0o@5$G!l568qL`{vF{97fW%U(uZA@IRn(H8ICpdN2d+DrGxUR(~zUOGSwz$(M z-B%B0`WyJk!y}TVRg|L%Z7J*bq;Eb(diL#$$(>ESJe?0(yCQayZ@EwSJwjbh0+%6J z2&130cHk3atbCf;DT%MA?MtW!9SIDJFzK%3*o%S8u*^H(*B$HWeBI}Qr5@#dD`k)# ziy(s^Durq$IeiOxnyQr=ap!xjjO@d<4t?dw@956(SFG*xXlIQ1*=Hd2lRifJ4^P*= z>2NU;cQr7RL3W*Z?>7=dVw->t5G)o-DzNzxqg_CzDk~C1Q=KDy)~;?QV5mU0bYz^> z6-4W^UwV42*W(ZVSLAPZA&gS+4+yBn$Wz%a_HXy;hR;)1n`Xf&MHJL{$9j(SQ#q9_ zQ=KkceJFR{cwN8lJ{Vv$*=KASnS9T!%vof~XBYAycjWleh;MMr`8Kw;!uluI z(%U@8XMU+MMReI@a3%UiIg;&TM_p`8j9kq4%UI`5fNy;-LsLHuA#8_hmCw)fro+4L z2BH#-*gcmE}YCuK<~2qwbg6m zr|f*Wxb0-k>whgj!q|z+pTY}YBqHIOJ4eimh~T9M4leeD8}f~oSLulQ}19CHR!xoQ1D#fHJ@xs z$saV+{zmO;%D6=ZyJD%sCGKGhPw79r;{cWa4 zRp6*N&AKkQO!w^+@KQ;6Ml~Kg7%uD#H!rEU#}8B*XtLda%)G9P^vrjbdYoEs(3>?S zrAhFFJ6cuaaW)SH7pL*Bsdi{aWZ|IBHl@Qs14pa#j2Ggh8#^prj1Sb)wdcl^wUQD6 z*B`0j`XV2}3HY?s{0^oRY~98DT535+#K{0kP&O?7XbgxBfs((7EMrO26<>sD|5N~; z;utTekO;9l`POE*Gb1uEB7H3!x~J!0L15qBg(uQ-YTI5Ji1If zt5Y1$N$*2uQ22`0tF0)0tz79O)?RWm9TaCUydY935A*yIwuW|=13(YgYJCB&riyUs zZxHv5fo9)BBfSy(2qqFNR2J3R0!6<#|KobYRg(wT+<{b^*xZkW1h{&wv0%Yg8mEAvX{NIlcGUJBxl=W!r1gK-m zSx(ZrxLVV?i2hzd9CyIG@$dKW-lBDqP4*}`*nKNmXoT939d#$ES99ahIJ;UaT%&3Z z#4$ERt5Efd({L=i{-B#vaSfi1dkOCk)6Cz(G?~;7-|%nB&Sg2 z?Tr;)9n$2DV9a!CO0%zxGx~#}Pv`rRXbP#ErBC_$%D;e9RGLvSz`)XudPuB}8zp%a zlUed+3g%2GzX@z^ipg1#y(3-2#PYh`Mc|J;ZsGx7>5la@*(^q0K8%u*25-w0pL#S? zm^Ucsm7*DyX`G=f`O}M8(la*8k43;VIa$?845fvz(dKBLb(qMa$kNX8tP+k5&y7P3 zM&|Ou5Yk9EIxFtd9BQYr=b>ob8YO5>K2bXC-sI2CF!emNt$GxssqzNkI=2{=ikGKzK3AbWKOOS3)ODyi6$?D#q56FP&4`8KSV zEbgSIf0*qB%C63sdGAlTBsDG#L52zh>38GPBjdjJ*+ixY1U(uS@<(MnYb7&j9KN$V zHR%xiV3Ch9h9#e>I;f_cv!=`PXeqXKvIk|$m%>psf3E`@B#K7Ofo=K*#|4`ICP&68Q0V0Qz|(6pYiptsMIt@Y()s$Anw&p&++9wQ{? zN@JIHy@}<9cY3?t<{2Y3c+D8&Q1GzY3CBVh?ya#(Te!WVD6{nC|~wOq~*fE zn*jpc#V*)9U&rode$k%>(;|MUN4%C*bUr-40_kiEv*jc|pBLyu!E~dAp0OmixfTId9MdJ?ojz(K$WTAIS)?J) zdqYsniO&(84Np`~0kzEaKTPag)5rtq&j_`51ywn`dZ)XDMJB1NtCS1ew`LEVg-v+;ZwkWA=#nk*?ruPMzXlLY)D& zvqz6(wd!~4lw5i$DSd^Ix-TXZ#oW+qu123-;N3uF@xV|GIgFW=?rs`B*Q>qMe$&*`3zGV<;f>b#B0mT9x=BT%Cx0 z69;)Cy}DgI8SM6o?tQQN^oJBUuSSE58!S}hy>H{dg&;mF-d&x?S!xv58uDfx1@Vdd?T^#O+GJ=cayOqsdS}OY*epp!p2z5&)E+A?(GSg(AzXEYm;|C{UKrtSCv}1-%`3 zdeT(nu{tU?(XI6J03*d=2LWD-`AzT8q3xD1%o@O4Q7=Ame4rNLFg~Qlk23Fg4F&}g)W&bb72sclDoz;Fc89<=Ehv;Nig4<0G&X+ zyw9qfwIJ58d-*<@^gAoGONnxzMF%|1k?r`0`49HMLr#}P>1tU1RyU_@jEvJ!>t_jo zk=&Y=At;rsLm_L24g6GPI^Q*%=102YS_GIjY-jb))%1iUf@j>_Xy`zQFl#i1S3izD z5})b4Gcl)dou~$^;Qt44K#srT<0gE@s@k;S0xm`<)FxsARc^PJS(p+FLmFm>X_yfbn##k>UUsRY*Paz7ed2d6Fu4viv|r43 z*Rev+TM8G?V6^Y?;+f@calm+HC#^+{M?yzgVWWD$cO^Ni6jrZXmQ+D8$g^{dt=(zvMcbz-aV^*X}05VRV+rCW6yTwE3 zvL_XB5i-vG>F(xQ-SJR%8yA%}KzUbFot-DE7C+MF`tre~11CHixeaARz@KAbS=1z8 z@R(mM5}l)|uvb_8YET9k-yF0rxgMXzy z__dPHZVNG$97(XV3+Gl3X2}tK)PxuM>U^h^Q`lU{ucZf=9%+Xp7`{PhcqaVGUsLb8 zxDs-Xobr-mGsH!|k|X{KS^f{m<=~^)Dd$I3@-M>)g#2K;Y-hCMD8KFA~$g0R6gP zoRgM|V00M${}jF-jEZ=9jbKjR9cVk&!D> z2LP%6k>Z;$z){cOoLZ-c&$z*cximy@kg$ry6U$?T%E7w7Rvg$hL_<1V} zJyY(rms;jTx0JFcH(%gSZny!$;eu-k;g%CB-#0}Vr|(-?>Rsqes$rd%%HOwjj5b;- zf8WYd??cnyXsu#^Ru=o&oH!dUHyWZH=*~d*-VD5AgjSY&?pYfxmcMU@8|a`=ZN?A8 z2o1?rXxRC)<*15P_sa$8Vkk?Y`KK8e%0-QTcD^|7vvN~ts`$p%BwMFyX_!y);JY?( z|Av?PNldA17!)gP0g5LA0;)tPURPWiJ(mvJ52hcGDhwk+)o`L;26LHtD{;c zqz^O|rGyKv7^GAM*SS!_2|o2t(fSxJN@-59*ABkLFq#E@EpndG z23qkX!m#R@m_L?r%IB8R(9I}-DXzDZ2cQJZkribsm2V&f2HT7$vcM&gUaaWHdh?7e zXDT({HrSDsArIBEm98yLN}do*-I!^Q7P^#?5Twa(b+Au@L1MiMVKyCWCyzS*!UN*i zqc|FYO;$9%g$JUuO*Tt*1>I7l19^NXQC1xL480+pkrexrh2 zSd_131Wa>tsG;D}@`EU$&-Yz}nN$Y+QL1Wb1hjhM%LPW=uV=rxTcFXcz_lbeav9!L ze4!;1GySX+h!;o6jAT8IB67sm{J5>EtV{u4 zqR<ToFe#hMG{FRYd5p}tCh=dE80DM z?d(=?^`_u&Kh}Mhu|dyU3UyCl@{>6Qg>sf)z_(a%!*lN4&sd62+0aG9&@xw!B}-|q z#B&(|SIc7(c@J?W*+J}?Yrk^AnMiS@%Q|x5lU7Y#y!3pe0##p0PvpWnYO6`H8ZW}8 zleI}GqXXpjjzA}b|L<6=+oeZ8`w!Un1@XlET##+Si zSD4~;VtudUdSIcqaJieJ#0>X?^b;bNNQIcf2>z_Vu2C!JTY;CVWq~RpY6YJ3DaRQl zQ&o{=RS7ROc%%0-Jl7!oipWlWss-|Kxh_Ooi}rIn1SaV(9fPxiPTl$3b;k7M)OBEq zA(?$u@lN9*C~RAk-J^(gVck&fkXQw2dUidGHF}IK4N*cf5`Qj-Jsb*ERlFJFdS#X` zY93EUQTJ2Y%E|48uT3b{1q+m0lZ!jb_{JQ>`jO2SKCF=T8`hp5&EUHTs>mUdeU~4VF0m3DYmiHWmGAk0pT9Z z8PXyMM7=k;H=3X7jOKGzjYs-|>f%I2T}$1U6O|R)5En6`nLQ!BOGwobuUzPXDCGr9 ziqwP;$r~S*Z1cpQvC<$$0Eb3^E(E$%(!+q#kGnLdQ_HY0){i^eCP!>q=Gma;1TOQ? ze?#(_5c$O2(X1lvnIZWn@DaHqx$Ud!26QJn=T^$*TiC~YjER49K=g-jIyJpdFgKNV zi}EWOhqbh7czMfo`|aVrDHj9?ix;!~J6?SvTdAEQoXYVVLfw#dsmu*jx<+t=S=8&r zjD-2MIt*bTu8kO(We~{HNdLGE6Or(bw=&AZwZth<-2^c@q6tR%fsj97~ zFHyot5m%HV5LYT0YagOs>6k%;eZ#59DJ&e+g3R5_gCM#W+;bcTo8zDdH1&aKRF3!TZY`1QJ;V6$`h&L`iEBJ{iSp zN$uB-INKW3zr^DjU~zzelLR^D#o$#yz-vb2f0oq`fxe_FClcR6KUNj6mvGdASW>hn zNRBg}eAf$dIgj|dhviAJhZVdeIpLURl%$(2LxGauv4IjIm7T~&%^>H5gE2GhMbtto z5zp4R7J5ZZxL9fu5 zp^*7w)L4n=B7MthfEGm++>++CSEH@?>*h|5%C0A z$w=@QbrI?cG@GfFyV`Iw;w}+6oglH`{MczcA;oW4$RM8PB`{NH3a>S}y0NGwF76;? z@DnBhe%WB+wwxpCdEhl~X3}{=ZP{4G&2r2t3hgyTq{aB0tZACJOCY2_vD7FI?YBO27H3 zYZVtx1@xp9ppcYu)U%3wl0Am3gm+FxMHX=`QSAq#sU#-#wWMbSZVU0@V&xwY`wdXl+;_F?1$>&@x|8cXBdJ1)}X! z?V`IIg(3SOnLO*>q?n~|z~E1!=NI$2ZrCn54nFIoqx~Wba+ts7M z_>7T_YJlSl%1((jrbR*S)b`%yCc;!s?#Z;5!WL-xLgdnY5ps|PvsftK-J$+%0{3|Q)$997&g6tH#m2Ksy-}b>#B99uCap_ zb-&7-G`1%sPntX`Gw#Nho_A(F&M-}czi;NKWlxycX@#SA~L#(wm(x{ZxNITP)Z)iqN`+kA7WVnfTXk~77!<|1!3sN*a4xg1!8OaLZ zYg9B?%c6=FxI26+H(`NeA$Ej{; zjuU$=AZgzW%Je%*)mOGBnFL1+j!0xia}cdKCgptY7XaYY$&#iFN?qX`R-N)$v)r&~ zRhU-*dH+! zMHOi+kLiOWi(Q8^Olo&!E^o0fZD~P50XNyE&HtG~xN;S5T3;NMM_9>A69Oj{xJE{X z`wZi|VZbHYRm!o$QrN?C@E(5_4yy!JDTQ9x5!jSxJ$O$%4edA)NwQ=y)nU8|)h2Od z=$nd3KWb`R!@v#2F^aU3h|OHwjL+mzPWofYX&I5@)`+fHS(hy;T9Qchig*XhEb!N* zHm7*Lb>i@q?tekfUx7v^$t@ndk9N$h2#B?*d47{ic`wZ1@h-%MBl%m5tm$0#<|U7S zylQzA0tn@JCakfw#{rNixYn*;jUrM$B97cS;xH~{M-h8ND2#NH5)9Ha@g9Xxi*?QZ zl5;3E=SnKtnF=B0mb>1vRc4yv))ZyDO+~O=;dm-sSYC9hkz`Z4dov1qHRW7cACEAQ zo^`!GKGLu_GCZN$!Ab4BJ6(8CdwZnzvNn2SvtCiCOq5k@(_{o3z{4W27^X})x&S0> zT`H6}(6cT0*|C>-(#}xZN=jw5cq49opYYO&n8tVpd{-Ptx?Ssz!xfu6i$q$6do?U1 zWGZrl%CI10IT^2G>>W>}OM5$pWQuprR~r(jB{l;E2pTQ+fbJ)lnJ zi!Z5RP(B%$kueFqxS&O(Gpv0cN?9!dkwuM725-wnc zSw=6!bD^8$+v2K-ov9(-Bg|w#9!$t7c7R)yj05rxW)dLsNReI2)<>2o5DH=!?-0NC zSP|VeLgdWX=GWk}X?~gL%WTz&ShHQ;Oz|D%zD9CzB5FCD6h=hu1r?K6%7@P|d?k*u zx^UKg!Q2IfrIgfA0RSG<0g!2~VepyAY=SGMBBp@Cqv-*UDj~?(<>qGMWfT&F7)(@# zq{fgUa>kl!E5U@vOV(l6zIprZ-;dsYd-V1jvN}Zb;Y-|NKtzfN$rqQ9iP7NK;*owk z)-I;$k>qswv9$k%8~$Gf3;K_06)4x-!|q8K$g1gwHA$ow&XfB^2&8d=AR$VKaw-!M zRTY&EqCP;Znu4>G5gWM9+70lE@xZAzATpbayI-0z4v>UsWs8wRT{fLombj0pcfv#BR8F}Tp8$5l= zIyqj+C4>u*w&7haqd_^2xTjR!WlF#>W})*1pHNYkbUKePDAga_k>|>dP|bxi!7Qyf zhFOPeA6SfK6x`4;DVbkQBdpz+5+~{nbhJL=UII-VX%Zs8H{PR8`2Df*Ubto);Af(| zqI|J_Kg_KgU@Wvw#Wz5%K9OWo&0dhK`4yQA@;fejS=7Gm%;EfiW{MjJe@&*9ZxFp4 zNlh`cO%>KeN3n(o$CDeMRdGf!4xSXF*nmRgQ0IoO4()Ja){qXWoOMau$wO2Z`JkEQ zSg~||Gvw2iIlH&CB%1&Wf=W_QWTRT&OHGxa=)$|4MokQPRo?~?IS_bi|NX}0@} zIha^6$r5c=eeKY;zHqRl|Aw3~NMQPO3fx^px>&{+zXD;=QV!n#WIfK3v*Om3{Fm|z z;6!Lw`VXd_)(hj1I*51i#7`KDaJc zvr?skk7&0gDqw>Qz$V~+z~XX=GkBn$}W!X0|Uy-FL};Ofhb{|sOVcGc~j9e6@s$-NV!hZ zR5JVA@7{J!1)&pu&NKf)eA`Jyq9qY7nGpxuy@D5k2t5zshDHwANN2aiQ#Rga_>2Uh);T z6mewoLW3vi38Qjx+@vLn_K2HZ=ecuwYZX&1xFeY;Y{uQmWOopcaR-kU@Kkgjdr3eq z%NSk`Vfxt*sZN>|M8`E=T!M%Zt}~Xc5?rNXJMYz({dvSt)x8@anEKMoQN)5HIZfHy zv$B|pT%HWCzzQxBv24tm>q{)wV}}zny2?pj5^phNk--!UZ{s%LH7dZYYk1w;vV&Z5 zCvhV*MnZODD=MIfP_=^7ICX8?ea0PeoG6!pMkI+j?ObteR{vANA@Xx-vM2AOWNs5| zI&&yz#KLS@-qQ>7?UO_oKbpnzemxdV{HOp_VUxZS+eRDunfVan3-9H@5}`qlE-qcZ zAVzsVqK;1R6y@o4U*X^7N1QR}!rn8B{x85E+AuiLpNe?Rsb_GiNnu0>_;*D4v(B~n zK+>Z|@Klxl!3wCBWpq;_edo|!jMwicuJLGMIn}^?1RVVE`i6N8*UI!?bFBIguiw4a zj_WzSqR(2%LoB{Rix23U6RBfF3?FA5Y3BHGtogQ19k^0|Bgcu)Cj^j$RtxDrvDlns z%@4IWtfWT=Ruyr3c}C-O66*riuf!{C=$=ASKR zqN)orvsBZ+&Qrp-Cfisb+x1La4@464?2nD^k`;zCkV>4Z7fK7F#<+R4AIJ5-sK> zx3VH*$P()iqmPMdvu$>N+;J%aCQ9U=NKSlRVPw@y`K$6z&%>S~R8d zd^Ly-qJ=65YG3?BZU&yggXnlAN`6jEKoHdz5F$XK#?T)`<*f+*jq?#Sac*-`JHli( zXj1v77A&OwGvQmZWz1A4N;n3hSKRHIY-!;r`xrWa?4M1OuG1UXLH%(20;4BLenDzh z1UCFVwh_9N-f0C9m{THQjl3}`KEl`Ty|~V)g129>=|?g8ZW9dmKBT=ih|0PC^^*Ix zQo(@FSTOhmV;|E?Edyy_mC?7o~mRSO+WxAby-Fj1{7_k^GU&s{;M?3QEnxr z>bF}$vmYJVC6Vvq`dN_ZUnyxAn?bS#qhvgP2fP`dzmnF&S1Ie^s|%J_@!_q!*8Nwf z`U1Uvm%1Nt9FC=|Bykpn_KaH1m!Q{vq#Ly=7qd|_7MJoI z)cDG1X7gN=XvPdS>ik?k@kdeeWP+RGB(de{fm&P0gtmxzN=so?fVIm&P;Mcy5SA}u zbt@Y7qU(+sIWvhb<{}_YKF;Y^y1X-_MXONJO3zAW1>XunQJxWvRgIbFN_ z^s{yd7i3hg66g$#yc9WS`6FSqoN{OL{JkrHo$F=KmSWi~gRXs;Le%R(OBZq@A%)~B zAQ(st*mm5-aN^Lm$Jz-V6)&`f@fMIhBC8k=f!)Z-5JU1|q$UC6(*wh4L%$IsUL=QW zCz5g~boAZZqj$ee3`#jD2KC>J`=F!3or!fKQZpA^;KW7}$Ppw-&r$siz#ry}k#CeD zN<+_3H`Mm&(B5(kJP}H}+pL~@29BsltBQ=ljm1+$FI~PZ}hjUdJ(Ed#^NRLI1Gs`!0Z*pSW zRdy-`49v`M1=AGQmf*-3Qm9RM67qd;VhkQg3xyW{3+pvSEuF4hUtS{I_K7T6)E4WJ zm7BXjH@*;GT?8CJ#sf8LA9fuPEyE7@nuRqZ8a@g>aWlti8GGg8U{*I#*LCJ@YC~o< zlzekE*O5%Al(v|K>-!eyQ)9+N=(7%U&5Rt4tt^@06=dilTgfM=~k27 zy^0P^KX0&WGeBc&-$-F%A?w929bO>OgfjPCLlh<@!Eo6etU^KtQAQ!fIB+y)e8+AF z8Z(DlgeFxsoy9T;rxQ^z88#OCGMXlGW-}(aUmC72J+@$;@zuIrYFRO0&rDliRt4?^ zKSqIKZrPYEAcQ=)M06{VfL!6Bir`JPK{r>1K)4Hm--#uWYN0z5I0k&EAK>tz4)Zph zy%5JB=Cs1J;xX24gbkca*v3I}5gagLfr@dvA+Y1jfZ>8{+bYi2RVM%geUOGX3;j6p z0ko_%!xgZGC~zz9s7DcNb`q_^7W&=yi)=}-wIGL~QdDxJy^BK)zkl#b4faiLuy346 z)xmy~8|+)J@?gKu4fY$X#nHa;x!u8PUqj z{G#JqKx6P{*dFHNPuyn*t)rrsM0!A}f}#YN(oKECbTB2z+AapihJ8_z%HtEu zDH$yN&64>#^oVN5ZpeSnV;2UnjETg$T#D|eQpQ<%z)%r()`;{)d3|PF5g0V^hyk97 zlAReTKm9!r3!G?=XhnR?nly^RuJ-QTNRXr#dtjsDdQ|fyJv?UPc)}9>?%j89---wc zPsUOtvhuQETnuNo(%H?zP5rXXp5_LxTYS<~=x(M&P`44h*~L^f;uI&@MfPajiR$ER z#EmWj@)^r6(6JSjLJw!0D2pAfU%mRZz@8dM32~u)S&1{5_r&%n?ARsa6XEz~$4X}F z`hkZey5!KQ*qk-f{TXs8Pd6~mgn==M8jI(Lj6W6a0nl1vJz9aE1!vs8xKyf1CnqY~ z$DuZtWxD2QCc+Mls+G-tEi#%|ZK(*CXMLG&ddDT0Xjqh)`wRmPO`c=SyYG665ct`b z;eGsJLK=FZQonH2ETf~ui9Jtn_wgl+x3Psn2qsj=E!?z!S_>J~EEhY<2@=@r11~+F zt7~Y~CJ}uezZqu(3(vUdJ{{}--&!P&M+^-dQhdz@QI{*a#ictMy%#vfuwZ3WPpfV* zH^ODMpNEiB5CPGj$l%cHvkl^`VP0{>PkCUigOwfy5^;Wh0DABoCB7+6ITx-3i@^3vHx}nXD|% zQLsQ1s0|xb->S7EMA?tHwu}rflxusQxqc*fBr8C^Sj=G_2}2Vh4PCt?*F+(eH8*3* zBQ{YcO_utFpHQU6R+-g`0G&)GagjoS>nw^b> zCeF%e9L&XyH|i*sMZnf&DXau#ZU9CrUxG*IdF6Va@*p=J=rb65G?k+%d~V1rQ%;vW zc+dPInL;@d1@R}Y>BqUD)e5U6OKxHRc#5oLH z$~GPtNoUFfYT=8eNI#>{Zkf;{BW!I~6cKR6>q3I0Pq_8CKAFV8=JaeS^Vy=+Xw=NR z4kBhiCbIT7q+XTpE0b^IoG9D=ql|+7$;2a3(EKAMZbh+n#Lk5onHX@Qhy1FRkM}Mn zTB;R!sTVLHh+%KAwM`l}to0tqI_T-LZp%botS*HDaUz7Snu%LEz^Imkqp3(|TkEC! zDBEJCALIWb+Ln278dc~qOf0RDe_b4;#LM#acfZYl5o2uC$~Hc6$r|1aWk0k6N@GhE zNvy<@*8~OUi6>3Pf{1%%^?Gr?=W9(ih#J|-d@TA&QAEjUq_(IE{;{5u>#$g(=5Ew|LQDE83c|2-0KZ!dERKmDm=nMMQ+l&;t>gfYB7H1x3ozzo#SJ$KIFt){r88qlqlaWa<%rbeNyf{HTv3z>#S%3g@|X5j+M z7MOQ9I<7j3G7Cp&V=*YqLIXvKD=q3t2{&5+XQatmA;^wL8vdWSW;8P}GAq+avar~K zYhbP!On@SEfd^)N>#>rMCFl5PC4g7Kb!8c9&Jw4vRk47m;lN{vy5&t6+)O`V{Ow2i zDiO0Mwx0uJk!ml_O*C13Bw_LhEXTlK)ar4&(Sf4OHvChSql4&rC!OCo1y#mTa&E(y--x!Kyo9x% zCaIlw>QbvkT0k;5pwhjCRau@4$CABI~y z!0E#CrAT)}JVBN9oJB$DDZUV2)hTwAnu7E6GTTe=j|#X;vH{?22YGQQw}L=6suhAp zdc^c9Uf?0=$A3w16IsGu28gJFCp}{NvQ8}Q4{_YcD3w`L5Zzx+YP$|?`;$pEPK>0$ zmN)!nB}D{3w)9FS)M6BJLDqW(A?|j)9$PXUC7Xtl9y`g1sdTY-D_`N z+FZ`9UW4^JYZyuWdg?k)rWcs1M)6yYVL&z?EEi<;=I@0+3V*32{a^%=BYFpM0Dk(; zREZzjkOi-R%=lDy#4o6OOBRjt9tc%VfG^wQi+cdanduvzwFq2~Dz<-(!fEl3WgEoD ztQ;F|L~s_Fh)-esd_Q6DnG#@>p z<{ZWm)PHw%e~TCmT*Fn?F9D{&e_d@x@R!R`mqC3@_(MKFV-=x z`zR0#KXZ*Rk$5MH@_&Z+U_Kr=FY*=^Tgs-G-@BAo6><&5D4T)@o8!y=nN*H9p6zh*D+B6FZMvo7OBd^0r{Nna~WhRH;P6d0S^ktmPL}V=<`^+ z!dQS5DAMC`Z39l8m=IfdKy9cHqG%jO7`|K&U_JJbX2ptuIv?R+#`Q4}9}HPkz>%w$ z!o=w-Wkj6ZUZn6K0&B;HuYd;pQ0{?C8a-g0ZVGDQ)~u+*a&cim$7c^if<5s?dMHuB z#}pk3eT*H9isGb>H;}u)Egtd>k-*i8VWsoLR<`>_B6jcA;=x_-X-r&xWi$U)7pt5IFJEL%Cf>s}rU7436HF|!k9E*~{Xe1$=64|; zR`mY;fSL?Fr*;DPlQ@mP7Iw+3qor~d{MB5%12&4WLC^DU=IeyjiO*pTUi$g#wrE_6#`Y)>tJ?;s6OOz|<5ppD12)de@6mVnp&y_FlxFuJ%{1i%ybF4!6fDz`hx$6d$ z;~$_SD+7UK_J7z2B}KZiZJP$07JoDytk*MU6t5+JE z(kGQDMty*^2~_7RP>d&NsI2EkT!Vhrk9 z7Z1TTRhmedT7z<#0)fv?Z41_NxB_3Y!{7MgZXPW7T~)l@u~LTpOtGspdUrE^PlLug z$SX)HOm-zmfpK~G&N1GvSTjH+d7M}Bp8rLj=4V##ti%zEuMtqW6;sN)R)TdOgR(Ac zt%=!m#-M-xBr#1&}Se}K!2 zXAog6DtFIXgk?`AFBlG@(yd1C$|b?cMb`Jd@g8GWFr=mdK_w~eKfMphz>^_ zN)2i{rGELNBuhrQ59N?%CEb(BfCRi-1a#KjvJfK{;eL|Qo_^G)3Jth$ zTs=$OJW7+iKS^ajB;%FiN#bHb#H?3G9e;n!gT91=6^&Q_<3DOc!ClC4ITgS!Whc$& zF>0r@-_~~;L1wG6McST}4ap>T=$Q+X4kO;|*&g+56ig^xrTd(p*p}``Ma+O`m;{K{ zgdn;s)c(tX_II^`c9RapvN3VC1ivq`8_gqxVcl(uzo}1X_=(~#>gHS=X(D}wzV_4o z)n&5y^uor%LS>?Xl{-4uCnK=o!+TPWUQYptBINk<6~s|_>ojzOf+TMIBm`VKfhEmO z6#?vdK&wwm#MR#lgLPG)NrQI;G(84~=r8LBeF9&7@*_7=xby4g!FP9;+M#b6 zXxR5%;|snHYP#vYNr-qc5JAkIhfXwzbO{P@*9^ViAoRxdQJ?Eo7XC0OJ1V1!LF!4a zE$lC*!(D!AhC+R!A@D3Vv0a-1K9XZM@Oxwan zc~=yeqUt3SsUN;JbDuGmgqy0FNqIYNnK>hWQr#f^mVM?!s7u+ zpf4~DBNmQCdpb4|aGVl0xN43I{d;}D^DIpMuH1!vA->OR4+yAQG80!XUKCorHlNV| z@EJJ&2k%~gyl@&&41}d5nYfya6^YqJx&a$?-PQvAv2>^?Hk5(0hgNk_d3<%@!>mrk znd?H1Kx0WYkM$aJtu;5vYF`VC5sF0UG8BMEFAK4#QSU!Z&y@u~EN6WY>t8sGC_74BlNtjT#zI-6X^^?2FN-=ED1FD zL+LUscDzkrd(=_Djbopc$-aSdCAXRRB#_3*Hg%MgY9d-67GRR0?qB z(bO$2s#GuP6JFv%&rYK#$$b@2A)xzIiJJ8jm%knJSlz@eRt%u32EAxa^*cce_RVFN zs_nZNKiZ8*2G#T^R$`4|s$fmgPonNqMMxgxAbB7ldGPM-LEV5%FS=HUZU-e@iql?g z=kjJv_jDtpjSE|{jnJ0y;H><}5S(6tX(dlCWeda){7eZhKOj4wNH2Dsd}vc5d0CX6 z!Ze)-JY-I^luf4P?SpcwgN?AXjZlJauoHG_Cydb0l&$au_V59lnX0h}6pyg?Da&`< z<B@dWKr1zv?1(41^AJ z%t+B+(t!Hu_{bZ$#^cC>H5lQHZ*73ihM{(L5Mui^f7CLh;oG15-d8iy^ zRBYwSlW*GQl{?tAX>JKfN1I92Jp9|=M>*hQc}L3$i90B#tVP$hU}&;t$Q80?fID#& zyb;-y2K*F=GB9NYhmEvn|KL4unNNNET&YWUVz*K0#^_0{db9#Ib`IXvrRxN=ZWA+? zv*o_T2>Kv6zd$dYT?lPn2Hp9ps_&Vex8@1Tz^mR8J1ro%K8_bFhCE44ysS|+Ha$}r{w0+Y#3jJf-dhlS?$3BxUss>|S z4EBp03>SO&^uv=se)sO}8~FR;YkC=!7TE{OJ zB5D+orPBxEt_}1run`K=3pjGr!ybyPk;|#@PmW03``SReOtmeJPtg2vZ9d~0j#*~g ze?r34@pCm>Q$rg#vwTDMCL+5|wG$A3BUjF8e`P6 zOv=9iP29wo08w8CWwMZsEcA3limt^YHz$;?Sbb|6)+*@Lsc7A*ZMmvs_QWWPk++dV z+MJhe)xMkd)NP-m4!gva(jf)INeAqYQNpJB_n4W1`<|E&AzL}AGL`8VGmNDykse*v z4~IJ$Ja8pFa0s-)_tv5BjS$dMgnoS1+q?6^%C@!M$AWJP{`T#iyNnHbp0~$tZhTFk zZNnh^GuNcVyBXC+<(r&X4(K3Jpif%Vz}|BYVW$1hL|(!8CWzDk{T@c*C*XEYec{U4 zBvR7X`l>XtL8Jhh1Z9c-e9Bd5Hk7vVMJ=w>TV+!ksGcvp(u9IqywLGAT=l9gGu+Ht z+gs%aDh{G(Il_0fqqx9}3?{?EB`pFruvKeZUf*9{W$N!Vpz8C#Cjs0|z<*SceuYd~ zI4g8KwvwqN#Y5k>9;xFy!Mjv!o@DzhgUZFpd}h!5CA2(Q`@}OJvC2nO-83z#gX~pH zsqze*y1Lo3=<16j^L9P7E_~7EuKr6QiE@1RIn_^3R2sr+-`Gq->h0o>VsdSg(jpgd zd8xz#Z4MM_z#2N03NMv|iXmp|16Z;o?de82_jW;h(_rSg;p0q}vN^N#N5}PnZ;J7o zGDgtggEgY0HG-fvm?JtgM=%CjvPUFNcxwiUBv;uv9e85|bRf9wGCt^eOEF?eTyAKm z5EXgS(N^g&X(37!wNuaCv542HZdkSzWZP3*Oe6kB;76h4k@{ay-987U8WZDdsDnd1 znNX_W|1R+};ho0PP60AZT6_KmkJ=xtlm^aq%g&ww7?op>Msd+>IZu^2QtbqDlk~uj zlR2TE%?B);Xc^|M=nJn(M&<*Rc!Mv?w3IKaQRmk;zH{}(yLXDq#MrRAo0D7Z-T0k$ z+x|MgDZkEdT3+W*0hZ(RRpoG8=}-6fx7zK^-F*j3{ZUzCh*tXJ$F>*xC*O5S!1RnN zqQy{!>qFQ6ba!(dX=Cjy`>%6*!&N&P=moW|dL_dur9Bpf7(XXiSV87#Q`%#^gH2S( z)#6cdTNF?m<%_t&|a#vF)9bWwnM!(fd&=j zc0rPq7&moX=vZLvo-aGH0h;8C7S%?6#(u>>VhwK~e)8^E{xH`4`PcgN^_ACw&@=vf z0apP#_ka!?Cn${lki76m+_MUkL7*B5M(6v=9zFafn2URUuHrNc>6Gg{YLnuV>fJkW7u=G+0k<*DtBZ;1><&cjlH!-HYR=KYMmn z)LYa3fR{KXE4K*4JD7@xhMx+r`b8|2$gt0OPW-InBSs?;l*(Hg)IMQL-ns?44H1WXxSd zEN8)mBHb{6pT?jEePwjspCA3-_MU~uZR6;_!W#IJJ3uGL4jQCM>ksEwaKQQO-ksyG z2!etVS0}<0sco5wE62Z#YKNiW~ZJrtsZS~xRp6BF`>0S-;;s5i9Oszr64l2O|4?m5Dr zN;j^`7pDFY+y#kR9!2i*ZomYgA(!Yg=>R059_$VSq@l~91P|?Z$hYb8U z3#Y-#6U4HtU~|@}{MbXdRsD)v(wM##?gst5kyCdmUb~5VIh%g} zw;zAlCCE%imI)jbj}x3R5ABrhbP5|#4OG=c&e7FsiJ8F?$crk=a{xSO?w)fg*cj%V zc^KC^^HJ+Lan3H!c3Jv;bZN{0N99hPX*>OBb-2LAoxQwFK zDX95^%Q1{YzBIw6nvwY}KvDbL@(wp=ItTr*7&3k~b7VAPYqsXv>>9$r>IwCG4nc9C z9^vMvM|d|hxFB*yRPtk#!#XV7k56B;?)~|s0^ePgN3KKn&T`#Rq_TyM8SSZTr->nt z;#~;gL1VL>o52pHg_@;=k(nMxj>rX4z+38+#rI&5a0XSG%S-XcO338sn0TNHPbzpf z(4{h^SSqOtyCiC`;+uj}CtyIhh(G%wwelvXy?We%5LN^&N8?Mj5323_6AQH1mQ2YT z;nXs_tMF1Z!_=s_Rt}H1;Wg$!yz6ykE8>2w)%5E#N z*>lKC<3?*IjK{`3IOy_o48G;!HFe|bH2asuA04T*VJ!4y;k+=?y1?k zS0d-DZI46B*|Tm1W}B;AYc)Z+LpE{cYd4yYuf*IP$fh%EwuxJj2yK3R@z_M%g0>w8 zUJcx!KAk11DD$fZu z=B1y7ZJ!2TkpL@D52)CJehULmFtvy*NPXLc6$!n92Vh!@I=coE<&1?)hfG*Z2#IS2 zy`KoG!5_Jdtpi}hzmFJjIy~*^~UxVFFThZu2y_sLJqtPET)~e(Omseybazyvg z`gn!v^0%}A+*N6>gg^V4?<;eAP2sr0OZ?Em6S@V+90!D>47g#4c(A?}ye>-QA#&)e zb&NyBj^>^ml;%xF-9WH;dDJ~lS(ZG-gI zAm=WL`{f!)nxfQBY$i|s6hDJmW> z(<}-pM~QLPpp?j?2!%k5T1Kk1RVuop)jQc*XHx>-Ct4i@kvKHsgiin1%jOU<)od}nF=}99(VdlU9M@nKP zJ)J945rvx{5L;wngZwzm5m#?PY;Dpo6~d9cHv)8}a_oI6bJIRwdc4cVLf-^Lzf-Jm zL^*SKMYJ9b7P6I_ruP1*-AgSZiH;nq5?OwH^gU6_;O=#ax>t0l``rdVPCe{it^kF! zUC((89!7Qd<7Ad}l;M$0?L@skjewj5RPVFXVEM|`xrmcZOXmAYpSuBK`Ry_Fj!51GoD$0uYzLUuA| zJ*Yc4E8j0Z30LXiyXD;=WDQIfLjvojsLoacq$dUELo2G`itVavRSpU?6idXRpp$d}((!70ALld=Op6DxY{tD%S;*=R0U3uOEUvnobKL zpruDPO5b8$$xaz{-$DxEL{P|}G>aBO0Hp7kCoG#eM8H<-J>F%(Yw9R!$i1zQrjgi# z-#*eo_Daw985d~S$(OvJ%%NSztZH)3Z8oXxb9sMe0=K%Ni~ZR+(Itch?z#xYDj&Dej#MXu^PK{|Kt8=X?e!iE1 zOb1DXm9c*D#O^`aiK+;x)|n!bc^LvTIb`a?Op2dP zvAygpV6ouSuR1&ho#W?ds_hQ)G$x<6Nh?BD3Iw;D@i$7G#mf0?Afs|CP~L<|ofF9| zRtyMg>8i_V>A36V%Rl0p>uf{WhO0mkF$42)`T=HvemNvZHFDzzGih8BYCQ`UgKJ_I zBBf)xo8&4I?L=LI5e?r@qajv!t&--2o1HP>YHef8q6!;FugYQ&mx$pun_QG~m_VNP zPgzK={KRXGx^hm>T5Ug$myLpyw#&a|ra)Zd4?P@09g8?Vkm5?Ad7Nd2s?N61XzC#Yool>d}Whe=w!U(=MP1*%4 z%}q_AX9iGFn!p{YNq@efUI6D4k@&V0CW;+5#uIB4=~iUImJ7r>gkJ=uveO(=R0r=< zZpAUD6>a!J=a(HYV$Jq^ZAHAAUqR!6LT%l{QW3wMEQbzKp_qJ!zp3A=imRP2y4#YI zzpp<~)VtQCB_@zc6p+vq#DP`{r%Q}3z;3rvdAaf8?mGcY^207ha+7T%$tTknO+xcZ zcis_AfeCJh+Px)HYHE)oG6bb86xwDR92{x=;&ezCr^2_D`HLa~l?dM<=lIoFDnDS; z*>>Fy8`5E|t8HAC#aUPg8$(g*-*9j^pesO-Zw2%y74T7PP9AZlQ`Gxd4$pFuFK%Sg z_C)bnGj&(8@9I_X9p?m$-w(tohfMOHPcSIhejeKd|>f)*B8|%0FbtRL;ZCI`{a7~qdIOC+utG=sOd${k5orQ zZQwGqtHwJI+7$L|LBhR~lwZlxd#W*4!AnvmI z_RZR!kH9swd&|mMU}Z=e&q-jsrae}q${e@v9<5Sn4tt_^dEE5|9}~E9f=uJTo?2Ar ziUOfzyTQV`4+fdxxG}I*7^|u^k@p{v4h@nlqTPBa38w_8X6bwRZ6Sn~)c8^-Cr?^{ z$?~AI#W~gBH!BT5$zrBk>9J`oL0*16_Glkl-fU<$Yfk-y4@IZ!`;q&z==5TbD;9M+ zMIWmPMMBC(4wIC|ah;z^y>GtD9IrZX#?I+^RodZLufZU{61=P@H9}wjF%^vs#Bz`_ z^rws&_?NZ|@>GJ}yh}(ZIK~ZQSn;g>N`n#u7DL-p$W6OSmmPGgz43h)LlMLIZ4oY# zez)3AuiEn7`g&5(USo4;JNJZR#G9*N|HEJqhq+&uign8n6X$g5QHrLE=k9uID|&_XN){`r?!NydtHYrqNt5@^E8NRIg6n)j zV@b?`53A=I$O=Nt6*Q_^7ki%TT0#=gDOfzfU%@*(!oO|HtV1ath)d;u1rOC@bZMAl zTs1}*`;b2kASnv!{oX%=kKIY)bG3axcDU-W(bJVtQILG`+^BfJV!OeLd+z!g|1D+y zZb@*y{P&N|=OxIHo}YrLu@+d2Ij@>Bd+ac-y9@6N+yJpI3B3V^u?+F6)p$rZYmuTh~j7Lg4C zHWdTLLg0n1J8Rv!fkxngCI2gqWsJJGebUH@fe~stm6aj$@`1J29S=6=)sE1L%LI~9 zpMe5#RaE$V*jtQ-kd`uuml95m-Hyts3XMAYAY+%UJrh9CmskQ-4oNEQtsto{liz@+G0%MXneC;_ zTZ$Oe>{B`X*;!y&1MK$EuW5le5Y?cJ#UU)((+QETOHab@DQ;4X;byQhdt zLlr&2L92bU?sw3kMsz*F)%@Yh191Kcf&#}eeY|_P?Y_bm1Q9fdA0wE1&lM=pDtzKZ zp!F`744}=jbsI8ptdrX}*h;a|nyd5!gQ8tKNEhQ2xI)~%_I1#SjQRTHqcHfEJk6+{ z%x>yZ{{5F`NK29XCY`Q2tN@I5rG0PocZ&Ht9H^D@*L_rdEOPDU z@oM^Tkh16Vf!%!tP=~S>3=^!f`K`WPkN;D{1yVy{Yv`p%?jfRq$%lsG*5+6;_`O?5 zZx?<>5$k<#zPjBZ6YCPn4U!i24LV(~))RAAs;~l*c1Lu*&=e2M$KMhajTsIJ9Wi2t zgs77Eydxqtfcn&ae0ks0G=_xlW-`dN>VvWOANg)e*-^SQ+u}Z}L}w-n$xvt9De>;c zq9(CwXja6vm3|g|U{DnwNtM%rt;;IN*vqGVK%?cf^)-LbR&E$m(JM{;<$aUs2rO|i z{RnUBtX-}`{y-Y}ouJN{L)nie(ZUmXbRmf?kb8!|K1Uoz|K~C0_Fd}?>gtgpfKHhu zNL%h6h5^(ROuAQpY#{a7E#(`S?^dVaTRQ)kYT+)5Kr<)u*0*xHguVFOwR)b2u`OVf zA@m-R9H*l#zNsCaS!QTAdqEOX=y4&{wS#ei%Tz)mrJD|$I2WMm=ZS`-MJjun!X9I| z+~|IhivH?$(DQd+j`^#2dVf>C)gk&1B`o}+%d-zW7-C#r>oS)`w62vyM4JLlsAdD^ zAN1GRmR7MH>>sbOYC=b9xC-}uio-?_J65GtjuEon>u3%i7VpHA>y)W1)#}XYZZyBW zIf0;iu~S4AyRGa=oed_%%cV^tNtp4xR0l^tr+j+vaLC3YNAJ#;km0O#qy={0m6o;EfYI60%Z5G(t= z0TSxLb&ir>n|H{;u5>?Y1HGZsYNpr*5ON9}cgMlC0!Wa7Mtl{m|v=&-_lWfE!8sN!3SvzNe(Q7 zb=~}(jfi6!i}`_BNR*@mh)9gUxzM3|8|Y@Lw2Zz_GR94HKaz_<$X8sruj2SC4g6aZ zm6d?t3vJyVJV?-qkzt{q>SvXpS8xQ!C_Y~(&tN1&QxYDEau24s1xxV`ozkiBeDexT zUyd(DF{E6kW4iBrbd#d473{v;V1c{J*)r*qtQAkR5X9e^K^JU z((9h^`=Y5@V*zxU8^{Di+G82tEsDaQHpeq$F|ifRqa&qV@{LtlPkfMC!=rdR(qe**325 z<_(UV=c#APWUXHTpXStRbfQul5uQlG!2@|#C`d*%3D3}iZLGkwgL1ReTfW%dU$llx z4k`!t6L*yQfqO8jR`Xda`2uZsQ|}f&1N#S=K*I}FoLjzkz}3s zBKcruN({rQ_8Tvn*6K2@d70bQp{Ebdnh5+J4RYT(cV%Id_tnnD1ECjNT@b+^>^29*1{y+hkaT47G7S#3E-V^p^^>3g&$L^i#Kp_;@Vg%(XZ zKV^3(8H8cskz0G^QuO1^;edlvJl|+7`LO4#vJl0&@=7~6Cw8p~>E-u=NoEP%2v{Y- z?(s|7-@_H^W|N$0;NJxxv*z3jdXAaV%M@IVLAS1;1o^NAB8H1Opv~~bL?+FrgpL_BT<};Upr1$($Ez$ zViH#+i9+dX2*cHiz2vA7?p5VvW{c#Iz!vVpJZQGYAJv#t?iE$8M14N>*O=2iH7z+S zb|?k5l2zxrYny8&F<|+=wqta2BkU4k;QU(S_{06N9da)_m#{OrY5N?5b%B^*8hI$g zgkVAD3DpmA`|gkb;u0JA+CxiT!B6&HJ!%w=opjA%7Ntkondel3@ zLWkInT?b5yw2RNId11ggy6mMeWA=1S<2l(DTimX|RH^x_U{_w+iLR5hcb=akgh12T zh;|j-PbzJ7uDF5UGK^*L{4y7;ec2j}T74Mpl!vt)5U2*#{ZNutY>Nwv`!Dfiw1LPq zU}b!7{V3^^qACL`dz1A@-Hcw1@QVDla-Z=0MkKFh5N= zGwSTZxlqdDsDMUAe%mX_pY?Y3r@G4boJJ11Uz*ZVFbh5GF#<8j{GSb4TU@V>$okA8 z&kw-S7db-m1gUNQNoTezZAL6JRhwGoK%`#FQf7gP&_l&E!nIDjw>WFw2P=IvWVQFr z8JdBrY2e|dqH$Ou(}?YCNXNNXKWPx6+G6Id7Y^20~SQWEeep`Wwg0 zT}=yyqbDBJN;xK{2$Nhx%6z$RH7=P|K`o+#FsX+ zk~HdkQhMgX?-eXG^!Mf&D+{#YG7drW8Be}F0}-uE1QPU*)&nj&aX?yav;a6-583a^ zEF3XMV`bH?QWzoIw%csRk~FKLj?ReX$4atkcq&~P@J+ZNulE511LE9`1RuB+J7xeZ zJDS_gzmu{_P~MAs#Za9SU={2T*G-4U;ODFuGfY+nJMlNA_HqWXK5gdwAgqQ!X7$kE zc}CZ$cUbgMSgjqk!SZy)?{cTDCkPK!K}cfiC`_qGsh&Y47ZTzzMv9C(tJBIcvI~!G z4qhy=4Gvcgie}1QM0E~A<)hp&sjO^y}E6r&nOF11$)4LcJI<&cH^6Ta>H1?t5E&9 z7>f|uHK5H?>&dO5bG?7idf8Cy&i8RdOE~1st7YlAVczRA-;?Wr6F$u=uR|5q;;s?m=%gR^K`C@$G30 z(f6Ue%sU+{E|xd*Z^E@t^i|twa(rn^Fqg*F#$Ap!WHmfzF`1XC#}4oxw=A=vGr?mX z>6&?q!H(RWetjAX?c*Z;))zOrtrc?KXf8<}Nu81Utseyn337X`JYIdqyJfbffZiP` z4^_Or;;?m03ZW$3g0S;5+!2Jyxd{K z0swd~S0iax7cj^LY^LMq2J$rF@O5^|O_WmW)iiku(D?P~>GsG4$0jcPaG1Dtx5gnEIBeKg1-z0}MzGV4MgN4_4#x(`vS9)$L zCRu&IkpB4&lRhFdTQSY(o){0G{-=oY-z~Gt#=N4k+e{b+-`~w)PX^}S%g_*&l`*s9 zZmH{jn#NGag!QQGs@X6b3`gmGCN%sa?(2j2_ZaBBby&4{@t+YM0MLAift!VuqlGPq z(-Y+3ZEpqgPWs^F##h0h5S50bUz_yqr;oj6zT^WFDzU94B+ck0%ghKNQ-p=UD8UK zJS`~1MOKQ?P{lOT&h@o`(E?#l6~Ox+e2q0M#mt&k5sbGDmb!1q>tIawpR*I_kajBd zk!HEjoic1zm#no?C8(&nq6kIA^}Zpwz@Ic=l88r$(N%n)ZT6zT64(C$Sv*73E`GCQ zv6+Nq$_V=YL|skY4De*B36rL*GFq?1bTKM@EBSpYcGGb-n(Q`CO-^2Ee;3F96Z;fe z>2Jv{j!%?Ma3gR?&encYf1XvMpt*Op`e_4ig1bi_v?jI6QJlkrdEHMeH0&xl(*o$mPMQ0DrNa zatGm_n=!+>{bVPWLFqX;l1^M}Z!XbO1!ua}Gxaq58q_=esh{+q)%-erZL+oK3;Ig+ z<3&zxV~iinC_m^+c`%V_B>Ngs2ywscP${tVS8R&_7djlE0 zQ*%veIuS2NX`^S3sj&p>R@E1;V5$)X5hz%X%gXi`j$JIJ|8S zcVnUJ0Zv011{NRi->jaLq4z_90RS#uK4>pJ`tOIC2gu2jljA?#mmzTWc8;oebH*%ukJL-uP(!3Y_5Z-H|7j_ZPV>S?M)^a(M~d=)^nCvw zhoFO&Ww>4#z{Zz9`PHK6f9n5%zs0~Ca>n_>Xa1AF`GoO*_5XwaBq3E(LofjLt3UYw zPMkmW|G-xtP6?V-e(4W!2mtKA#UJJt_bzt#Wl`MDoGm=;T{!I3wf~14 zoUuWOPKks806~A|Al5SVzuEbR_WZfF_-{8@v84T{mB#;*#D7f8|242-Mf?AMn$}Q8 VK>QElKO?Ce0sv5JL;G^~zW@<^=a#-oijFiMqg6-Tlgpdmec7PB_0wjcV=t+RJ zBH?f?1SfZsY@Ar42sj646 zUcGu%_3G8x54iYNFYr9Cz~5i~;(2%A>fg!sd+$Fxh+Z-Iffe4n%U?X`j=pogc+i6$ zdu4m-+BA7g`pCymUG~Upu1T(&dejwD>Gju4U3tya>E}Ig>ha0tSIiC$Mu%pk&p*TS z&gl!hTR-)kt$A+W^ZbJw)?^Y3J;Yc{>&>I6jb>cO+o`pJHHr}iW> z@A;A||HPZ`^?M^12Ht1hRPg!?>Ul?=;d?(A$U_xgM(%ELVLyobsY}3f z&?+HF@+2p7j-DFAm|rjYS}WN7F`1KkRu{+*m9EWe37Kl60s&&}d#0Iq!I>7h@3M-4AHGVspH`c2Rp^ydx&93&SgwLf<-f#eW= zX0n)(JciniviSAprM{#1Vv;3?;cE;-SNe<2RBh7;q9_dJ562A)^9?!SoSc~WrUQ)3 zHwE_-YCf8uF`T{OEN=UJ$hz1$;bcru7FP!4bzkzLBUY^pg@RYe%dmbfAhbTJZ=07V ztQ|>FgwQEUKLLNv=hyN72$fwlFN7w2wc7sdpcjgNC4+w@fPXph!^D~aM&?B#^j$XL z-tcpza;#f~<**Oyw;8)3>2h}GiUj;QfqJ;{yx}8#?`Zfbh@a0xxl;7!g;fmZm84j- zl#U+*>zhk}fm>=I#V}JeEArGS!rdxi*LqX)|aYUaRyc-{nZKLr;JR`uuTq|w}cEZrviHNa-P-KMrU8ina|$tu2sWMNz@ zcwx)mJHF`Az&z2{zc}_rq1h+;Um%QftG4Oe(O@~4KMuECm_J@lc}|XNm-6}T6ZnnF zVL}g&=1=0M+&)=e*o@Mjs*Dz81uf4BVP>#ACz@Gpm&<#@Qwh4pa2mcaIi26(LUVSg z5TAj!(ms>lfl_(?EZkCYp7tD-_J;SvX`jtcOn;B2!KSlDGoM{tF;v)FLlsRVR8e$S z!^!cf-foBD&J(S0PSjh~wAqIsEYQ9u^1|(nXZi{KHoE?8RB+4p8-Du<*8b8?`%`;+ zCOni?*J=*Yj6c$FzWT-0$1 z574n$e(2RGD41qll3}5fVV>X0l}q!hC_lOz`q!UFSw-aca2(|qH7@q|uAZiT80YBt zvI4GhY|Jq#xnaXRjMwXOfO+1!(u=PIb!DG9@ug5}jR1U%1IjUAqt^Jqa=7(naBF+} z8g=SGvcmLH1yqCE#b4wwhKa^(JS^+$H6h+A+gWgDz z_eM4d_hS_!)R+`Wl6(zcmNJ`;u{PYlpt@W?JTTO6!%kW4la604loFakw6r@D z>ZfxLxS=Ti2WSn4)vy)UhKm`Y!J(oNs)ii`MUo6=N!lv)bZxklp|2P!8G0$c+T~UP zc}0eNy^x!=;c|w&a;R*`@#DemkS~*BrAx86dN`_EBdbQe!_+A+q;1pQzrr8-!Mlq; z+P?i0{Db^4`g%X(uNPjRei;J1wYa_TjfCsK&)x@qDd9E1Z|H#&^oIC*GO(NYTa7(?4qgI0g7@mS)V8IC2WnE|Vh zk-dGcmroqo?_uLjV3os4Pi*ftD7_ZwG@cN~IEhClg}Lg zd`p;jdg-^&Lo;|QDZ5LyHcRG89fh@ECwgXLcNpIYRmopzW|yRy&eDvUq8 zl2~amqI&W>B1=1Vz_g?NJ7KZIL0*P^N}H8zNohw+_&s7$UHF}Z&&tGP&?O0dOV}0D zQaM>VUoQWNdU>Dif_ z47wztZwU`1CrgK%EZyHICrg8zEY063CrgW*EbZSTCnf00$rU#%+LGdqEU2sY$jO48 z_Hf}$0lzSR7$%q>+>G(+YXzs^_s_?2YFf9E)5KwoaZZu9T-jg_-_NLQ>)F-X zfWLmYFyxzMl0gjY8vtaUo-}rD|}z8ONIJY$D*%gqfWjLH-=q87xP?|Ex1v?q!cbGEy;T0n2=+93H!>$ z6}cyNaIqpAvEVGeayBpbz2E%St1tv38{gZFTjhW3TZB{0Y+EOsD4Z$Bm_E(naB(3k zY;B-l%1`FHY z0JyzKz2tM%DDn;t3FdQb7LPv<4qfw0atiSt94*ab{JP1gc>o-l1I(kf43>w?zM04^ znv`+)+TCH@kG}|&-Qj3T!v`?t$6q$Uc=|2_XpX4$O5Zyk8pA4&B?*$xfOq@zV30}) z7qC_f4VSnls#46O77$0FaY=2bQtS|R-FXd88JT}ZT1S^z9BECypvh?F!$yv@>YNGS zJ6Xw($_r|q4SxJ>B5bbIIMxM%FG}u0ZidGc*|tj*5BV=<R&lMxPw%^;0 zt{5@7Tj>k&Z-`^v>KGFF{cYxik*4WU{9D1}U-O$VxnoJ=mMd#VO@*~x33K*nPp!}M zHF1qJosXEm)aQ>DiTFR2VjdWJLy%UXSl?Qy4b%q1;Sv+L=2W#*E$`C2GFed4uw36d z*es~ORPhd%tL19xmMb@Wt616)7RmOgcDZ)csV1oO=ZIk3n%!_zjcUQ}YE&=nd|R$4Wm*ORYjy70d1=mlO5!}yBbn#(4e^C&W1l? zRMZ#gXs$1s2f*eWU>^0OC(w_WM^@d!9U5E}nJvj#w{(8DqK9%j%rQ_(ZY1a4rM$-y zo=yh}-nA7|T|JC$_v`;`=k$ct7VjX5^nfv-lj@ay(8UfXJfnxka`Dep{5s!Og>c>GX;(k}1yQIqY{@I%JQt@! z)RiCaCDv+3v)ia~m4ozXO;|JCsLj$$`k&$+7rn zCQ?iZR^<(HBoIwUBd1Ilh}BnB_eO6i6%Es7$Dx0;##C)To0L&=8fBqulAFY{BRorZ za@EGevfyTdnb(+D*^9Pf<40U@az(;26^JK`+sp6<$#bAt35sF+SG1qO#p4G`>ACRl zjADEI0W@1a7^|SOQP=fR${Kh*WP-=53AlzQ20M5>Mh`07S?|9i6>M#Gmg4($0 z1_@!4oVt$VtvevvSTEXS`G9!i zOYout;!QZbu(8*bFs&i|{ce5R)d`m5{`3TF`-;h!pWct&aEBhczYeN~ z&QZDS?_>kr8iEXT>*VyuQx0kFR4IJM{(18--l6Cnz&rpbtpk`xZRmcKev)7FfQe}@}jJOfNHpc`P#l1Wh3He=j1);2}P4SbPH;R2PAy@5&M;zRhcvl1U9 z&05mL&!bmID?K&_4<)WpDV~Aqwe5{z+)Mdm&TmIfG<-J`4E^N!r0JLhJ%D9kzOx&; zNHTNwh55_C3Jxi4QE7#p4Ap*$y>+cwDD4-(z;@bH!GnEooyvZGs}P*eR+)c(@&;JpGIV#V-b@{dL+f6C67m@g(L-viE{LOnv)$W;^4)f4)=g3=Ppv z#a>X4?!F)R!5$4F%i_LNxQZ37_K|`;uRIVgXwgo^3Rh}9*t6k4xVwa_SmA!kaBn*h z?#qR%SmBZhbTzv5@LTVc?G?gREVzr;279Qk8GWGEYc zZ1$qc@HonFkou45hbZjy{t^)*{H@?`ia(4nuX$*CGIDODXWH*M_ItklKFEGAwqJEw zM{n7FI~#LaC){z0^y4*|H66@9K(emKM-b)5GO#qOI5*d!<^gbC4loaZ^K*cC+5nL)wq1G`H4(crT%6_{Zt zCH+zZurSpz7k7u_>FW%NrdFoA!!_w!3}DMu*?NF0myLyoba*tgYqpZU6Z9O<_;z9l z8{1t*tQ6zdBePZsy?GMRjpF2C#24ceT;LJ2rDFVs9OFa> zoS*G4PHyRv@i~+BMsVVzh$rn9oPiR@9q=EQ`-_uP8_p_D?SSppuF2y^9PEMJB=I@f$Dq9hto7 zlP7Lm<4+E_?9xX=#IfwK>Wy&n1R-Snq-y+25&X4TTJ;f&sy70tp0*^TO3~4YGGuk7 zedw&qqSWIuI_&a`e@s~IO~d~|8&6+CHpFeN`Oc{oF#wL{>k6oll+8zib18Dlq*?sDWH9e zk;nZgCtbHg5Ylfyp?=W^)ipPtfC*tk`g7%*j3)=%r_*R|REY82K@Xo?(F+}Q(AmkA zz0ffSZB4G~g^oMuL6g;9=!ApLOpf$IBWu_( z`>UZ*c!Jm*EDi;87tj}QF2uPlU-hf@v+Va(DRs38hDaH0Re#K6X3KgNj{3Zr?lPTK zTJxyz&Q*Pwg{tT~T~t749(Q$)Z-TzPB#DbzAFbZ_Nwh*Gy{A)ae$m$RtXeW2w&gsG z-wO|igm+FpVs<6JGqdIJ&iF0T9AitF>gM{DeX_B#J~+>3^j`9rR9OR4T{Hc`ozkCb;vi#1MU&Y&t} z0ZCP;3CCJUcHHiXd`v-2JnoO9vG7`9YsO(708hvP=AqBN6*`zS=Vl4gJl;H%LH$9- zJoAO>!aT8&P9R6osgTqUO0XmjU3I>gynxG(eqDo{&x%hWck||UeWwN zIPiPr$J!S9`{bW9lsoWJxH%C`-cJC(h~|C~&HW;p`$aYPi)!u{Rp+0-4sW1k=ar@M zu82d9m&2tkGi%G?=Z#Ai+F;B?@m0Wg$Zr7Z&;qK<1%OtU<^do!6(JVoioIS}EGjIP zyaHC(0}Q-pQ7?2+SO2Y6&_0Kl$XbIRCLcgh zVe&zKIU#&uiG@0M)T>B?XrwRg0u7+m&Baqx7kip}!wcO-mKnI$GrR3vyFj^i1YRP5)^Tnvd@%JqI?EG-k8#~?Q zuf6b>kylG?cO?D<={N5roc;)g{N!H<$11#^4wYF7`6S^e9Em@L+j>Zt{Hxs4(}Rh# z=}9;;l6)H2boxXREp^*fVtJuff5JjM0|J2)=L*B(lE+sG}5Qy?MX}hWoxCU zc@vkoGj$V~jK=_<5#Qaas4xrYRt0tYL?lsklK6>T1SsZ`a5R0kjn_4DSp;?tZ9keL zOK5VumD7khRjQZe_6}98>5Ar5%h5#LO;OCosebwyO697U>AwKq*%!bTd=JL4{v5|q z3qkxD5umK9s}_oRmNM^QBI7m_lg|OlL!a9AlOkHcwyQ^#XV zp*F#z+K?^uL^DI_q2wmRG%OBR?*2MuZ7qkZEy#N>8Vrv34C+}f|840~_<09|QKjC}`*iZSJ!2eoW zm?CqyPh!EDWwLkC?>&duBbK(!Zz8QIjbW#f9?kDSSe!_n4sftsJ4tI3wtHF%%SD^A zZcV;Lob8iDdzg=9E&SV(Ij2W7YNQuJh9&c>a6-dOzC&~td8>=uwQS@kT;#8pM((-0 z(~~Tpem5GWC$1!){`5gOSw7#jd^A+0&vKDmGgv0_k1ld_)pC&!0}9!NWg|c2BEPe2 z>(lPg^PLHG> zZO}i_4f=)ndmt>f(Bgk2kDfiR(CKly1{MpekNIVjMXzHcd?>$f64C#?7Uq`ibzwbv zM=75@Cy=qNe$|rilg)J}5@v&QLnyOjx>SCR5GsCQsBdpg-sBf#Wt)XT`~wnna{3yk zfK#|=&mR&~i+{wg?7D*HMcxMTYyTLKF8T?GyR2;3u+Cn%lrqS3kv7E zk$7Nnh`~G;s89wLy^@{T(yHEY><#6zq+A*gIqNj!#lI5Ca$)c4Q^^#v{+wzz*@~tL zlk@q#T@g3x$K7Wsc#k0cv03`$*I;Y)Z;vpnUYwCKJJi|A{0%6TpcMz{MF1y~XDG`R zL3(*7)EX$JR}->osubJ*3C4Epd7YBcIir#Jo9Ri7-JDXBXZ=iN+O^I9BHrR$1jFrr zD}}S?aWqCFKP76h4I`IAC%*%UMa%v|ctKrvPU7DK7${MX3xB{D-$J*R^%K_#A@cbNLp8P<1A-+u{33A@609Sd? zju&@>c8azew8NrVkTt^>L8HaUEjRfiJY%Y<06NPUcxNM%O~@oZf`wogV|3Z0Pd*a|kH2)$CPZ8y}3jpHR zOMFz@OGHIAZ5{x^eg)GV`yaJ&-8!iyER3SV61C$W6efYr*^(s^`PAll9r)GydB4&t|nX}c4B2DJ4r zm|2y+6U6i$VGjzsuq18zpG44yU?Fnm{1DkVEkv7n>5@(Av6#;?k*KDClq9pnfb zXVY>2ncT0(PMNq}KdRq;J7bAXtFl$7Xig&5)5dTXe7e!Gfr zu^+zZ}M56(JurU{rDo7h#$;Pa@W2YMLwP08c~o` zDcrO>cl>2&FuGM$!CR42R>ARyE&WINWzxbTXEeC!IiL;&+FeJ}raL-9wMD%m8*<6Z zKxdtcdr@JK?(QP!+!hG^hOl@h=TyGcjl_0UWN5>6_nbRT}}9 zD^=KB33C$k04qZ8XG9=qLcYiG+7)u|Fx6Z1VzbH>Rn@yIx)CY50{;Xe#ohw5!ges2 z@hJS;h@37Wd4KMOlq}(BMih?`lZ6iz%~Ep}S6bPbcBhN)%Yqx>X~HuK^*wxKpUu}#6W=ZxO3f%}6{$A)!g!rSH9L@TMR#DULBfV}RB28X z6OPrWeZPh*m=`n%;WTlQ7C+g-7{*`k5>{sW6}{F*XZy{z|CRJRWT-UGcBV+d3=-|V za!KETv^(p3$s-X=XUfC^{}G^JKYUh_FT|f$d9j#YE_$-O%md&RIlw%7eK)c`1o_st z-uyiD+59WP$Sn9a!inOqi=;E?zG_}|==e_MaEl**L7*UJT>~RPy?8|-VH1|ato^YD z?8dHTaQZV8%iW<}wG5i0q;kAEXWKjgcIN=|0C-IfFb@D$Qe4r^1K>6RWSe}8I>feP z9yc$TiwkGdDveVGP-kFrKy^&%>W<({bM{S~s=+?yD_^$Fz=HCM5JA-b_FL&UAg{_K}};w zzrD?JmUyRwGoP{PPkICDz@JkM_;V`o&I?gYI^xWOAL-kPbhiL%m1f2x1zeM*{fwy+ zE9zEACihV)E3hjLTP$29_)3R}YsfmshwZSgoNUH3&_k$W+(d}(Fw6|>wSpzI&`TH(ph4G0{Te89ZCAR6e%Gxi} z2wtfLDM=vVAd0SHS%4Yb$xDN$DCp*Mhrs*Usw1rloeErQI_ZB={XOT=+ux%%Z10k@ z^k@6+)4-ose%X2&0~JF~ci$G;vN;%nwO+`$`X6+tAU>TG*obG~Ow-l&0$kKpg)o~a zxVARvty=5a8r!%^h?W*=25`qMt-@r~ism|K(#??nZ^RsP_H$rr#%C;Wr!5~qFvC3t+;b0ryBkZZ z#mdm$)sLZKi@mAa=QzQUln7|PkP)3Ou8`5T@i~*U~k4%yHZlIcX(eHQwWI9F&8bZ$4}ypJwaTwMCj}jM_(u?}uxd*fouKkC%6X_A82)-K`GM%$u>gC#cDuwA5#qm3X+E^ z;$i$Wk51pK-qr)}#Y`R!PJ9VJbSbs$FnI)lAi0#^nU@C1BXOshVJoNj*HS*oqZD;< zlVi!3;hS8!ktdzZJ3d=>p0SN%{`&a84O^Vp=0N;A!p(7qQQwFzQ!5YJzvNfjt7LkG zD8E5n)drziw_4xltJ|7h(wZSAS+#v7$8Vzct4LZ&pEQPD7Ph}cV4#?2l3%ig#$x;g z20iTzXxTXq92uiC4IO6eRih9Yg}^rotf7lS(I|vVDfAl!)fe+Ok6CoJ{Z8@0wBxzl zK}z03fWgr+%F8frm*;e3C4P(y(z0l#40a-ENID<{P+pye`FFr4yWOpCD0h@DaHzwYL-&f`r}pd zb2N;Jm=)2&yR!xReG9dsV5Kr_6^AM}S)7f_asWIpD+{CS=q{_d>ZY;yf`lovjnb9{n0ej<1~1TuJh5Iik>B*!>W z7@V1kb_itf7_HWn&C3c?p9_xIC~7` zo!x((+~OwgOx5+mWIhc?UcyzoVhyR3IZ0 z!*cO@mbn><1NDo34=H;Wiw72>%$zI7BgijsR=LxwQK7Y#BbgGeAJP@pgOGj$!tSg~ zv+Rc>4(iv<05lR<^aq3J$A|E{_)tu%Zd~{5OEF~yt9Q|!lP`t#4=51p*^lZ*X}O-L ze%p!YpNaBywi3%}6vf&dj`zq%dJhc=O21x1_@R_7Fv}*!{Lm`cp*XE=@zrE8$Wq>R zTGC9>7VDZEA&%z=w}#^za6&UK*^YKr^l*VwJUo%U<)!c3t{*O6VYV63SmccMv$d(IQ9XlAZip z+=r>|@1f4Q=s%1=2k3>ydL_MV4K@Bo7(tOLN~Ky5d5$6XM7xvm7@?lL3$1(x-27`XPunkX7=Jq?uX4z4BkcDC3nH zB0`dk9*K+|uDTwz`)NEOmwscN-AzfqXKwOmrLk$5O?HxJL2P}cHCs&o3_|>Dqg_l# zC-Xo>CjDBx2We+qsnXuXCSi1$BTJk^8!I*SYz&9Gt?^WU_P^jcVG~MJ+;$D}K?cGs7 zNWaxd81J?O(Uf;>zfnS247p0<-5^R8+L+|mebK;{BDo*F9O2|H!r4Oj zBjl6&_aI!|ML4HJ;Q{!9^rb}EJB>!xUPlemPY8IuilTDHPgG5%zZ39D0$S0YY{1$< z0OvZGH{i>;I+v)7?emrCQmG^tD0`c3Ssho33m?zB$SH`ReKXa%Lm-34G})#hvR|ae zz-5NjY_6y^4Ep7Q9jT0G)gm~%r52%)mffLlizvEu#ZAL~?E4lisTP0sZQjGB&EKQ3 z>>XY>n9ex!$hGZTpts&yO-*Ms@LxmO>Y0B5|7hlaKK`-HzZ?H}=6^T-iOl~o{AF3}hFMWh`5s3u1<@s0s|kG-D|p5||WzGR&Zm~6YtajnmjYQH{zD6rjmpV$5WW%~T8o<1KR4(oZB z*M8N~F7NE_P2SpUuTuHn0&|y2$2mOe&>n z#WJam!Rc6atU3y(cQ(`7@IZIBVR$gh{uj!Ag=3Thy+*_K4u%IZjJ?8GnPaT%!5FL# z46kYqm#VAWuEuvMd36=JuBxu84j%Q>9!)b`tyY~X7;j!QH171kP<3cOJuuO_Pjw<) zbqGSYfo>I{sZMCHIp&wDLvcgBX@y@MDkWbbQ`bbtoep|6O?14sAMtGQD(V4c=Gy9N z|FS3h)?L(ApF&kUlD1mN+NxeWNoUD%H~mzjk6WJV9TPFGj%C~121U1i%8pbKmb4DR zZ2bA;hJGy8;$r{?$=86ElNSIbmFdZk!y}vJy?x#BHshUkt?SCN70!aUM|Jy=M(h*C zS>AiqiIP7+osG!!d}1sRA4jeXldmCy4X1vM11%GP%KHoS#bu)D>dBmg?!% z&XaZ09fVxljz%i&7ea$Z@mt86G&ne5gF<-|2AYQ+l|VYmUFXVE9@NeHY&;25bhQ2+ zn`SuL%#ym4{vk`0{)?4urnujWKUexc!=EetKj6=mespM8>5t>jmHsCD9i^`p^8+jN`o3YAUl7JF5l2HOg0l*0>gdXz({s^bzbLJZC1 zUeL0}!a^3ucaj%NYDK@w`-P==1}TNDGJ0T2@+uawcdEr=yxBtOE0k?9ZZdKJHglce zTOfq^)v~r+?*@|clE$SqON|$r%hEW#yZP%KFNTO@%*ZOtH6qm)50;PgbHFlr38Y(P zKPZkEhr#u%iueP;^{im|gP5FkYw0~b#hQV&j+L8UuGX>AwGL(<*5!x8(q;@Tgc+|T zqt+P+v(uVQ8cs9QI+6Crtk~&2`$#)^1V%b4RSJ94G2{ZZHKKMI)YSC4B^l=RFzcZv z^s*B=%5(ExnDDDnwZGp=R*g)kt(Cx>cq0>U$>kNfygo~!@)G_}Si(PbR&o4ubtUJY zNzPLK%hds!95?54z8|+g-#qo*<$KWajh=4Z&#$iNFukI~wDY0I)h5cxp$Mo|N&WSl z$+O|BTwUSvq%!G?8<7@OV=ZT!YdI^Iv>eVBWo?J`KTmcD%Y94Qj%*U<7@e_xWp!mO zJ(Uc1S660gWGkWljEvz`n{H6USe5C~^ir_g_|83Y=G4~^w)FvyT<@bt2FtDUom|Rw zI|^UYVqLg+oSI$twn`yQMS~TgFnt}qvXNufuG1}=X1K#=2!gqJF}qYc}@NRbIJY8(*W?$YXd&oVDl-07!UqiQ@f)A?E z_QiHFZB6F_7_L++tw*LO0-zyTu9f(u(i7Q0Q^g=xu8YSH4^{`eSq|=-WyNJV=(5xR zpJlm%A|rdN`6s)YU$vy>^ZPZ|Qm)nfJ%hjF_|uvNj=h_|0k=Tt_#XI$gx3>(QV(3Z zN4VJW-pBdt>Yje@OTZu9Z9m#KyN+`2E@zGB=>)PdF0_%2)s7NF8rNP6tx~~N5eF$= zCKa_hy#@55yWCgoj}N7NHxCb;p}9*K+_&I#Eo&~a#_up>RZ1HrMJ=2~yZZ&ep0k-; zJad;o@`aqe<3W1pVfnzw-rrDqB0*QV*~zKQ){xbH`7^zADq1|c4HWG! z7PL02`3ZaSh4^UDb!-Liv0d+dGB4L2An)ptZT?>=FPCq88k@C?Bh%@9$tsJ9XUK5x zcy>2r)?0m=H*y3+j><)uyerAmp>o%S3jk+8LMOJ0@tODrO76l*>(pW}lKd0gUiV%q zV$f%t-2y*S7Bi(%tc%PX^I>M^3M*f{2?WkRBy2!L(>my(axRePRhFlW{CF1bSSEQj zC>)nKmvf@5F+`Q@LV~{9#OM+Y_P17)OoL_1x9fuv&tJ$$>n-`p>GXw^yo?QCg@zgi zTr~4WOhvvrG~c_((uYpg$v@7Iu9Q6V<(7vgUAyrVVjtI$4X^ugR6??8v4tKctgl5T z0QBq{zm%7{3Z(cWj|&zrRderIe|ie|SA zl$d7z43WE$k<~3{+%(5aHg0y29(#C>@#$hwFBqhcUk+lq;-Z`(cM;f z5ltdnNIgQ`3DF?qz}}ctAKFu*LhVRSL0fZnQz6)Q07PNvqfM^EvYi>ShOGvbyq*-U zPtrHM1bP7i&`dyYfj2qs@dhwxt;f>7SVD`mJln)&NIfJ>AJJg0=i8CW^a}iD+m@3* zX}j-rFdmWWO<>Px0z<3Z(P@>of92*dHSe_SJT~WGrbxx%@Y7)qoiX^&S z01iH%=VKlKU&sOG0r15fU>?=YQOJ@-M))`%vhG1x#ConVrI(=n_(J@lT>`D~Y2L7e4e(n@IBe=$*G!$Z0^hf=5cLpBl)CO zo=cX`M=we|%yN1u0)-ZeI?JqJY@OR9AF;uk_@|LyJGn~S=a59ZKj){UO#w^ zHnguK*2c8JyA+yj<9`bFbn8UxSnk#dy;$GK!Roz|2Ap3tn*TaH`R!F^I24jGT-wu% zA(kr0yTb%ihV2SM+A8Jk?f~ z=hHpE?f6ulmUe7KH}|XdFIyoi(5^hHq4HU=3rSZ5{TbR#s$0zqvwAc{yY+|hz!Zo5 zd!Iq4RcRX-7b^ z4=1RPxbcTObL&iO|Ig@fuh%httRIWh}qZWlcS68P^J5P zv2eg{B$VBE9!kCZ9TljgN3N z_FH)TIsGPg5K%h{yS~i?E1LhNP&f;yI2U-UKPR9A#g~FK!yRi!K@s-wl{?PPHwfPk zxyFXt&8K4A?D&8J$ND#X2ekNu1f~(JSRYjwQ}O~P*Wt`Pi#1eF)=GL)ldqG>D(|!hI+@V1rXZ{i zX0G^pQ_j~7Eml13qp(|E227kafXwkad0`(OyAiIO8MjN(`9=#VlaImezLb)`RwTXF zlNZTlb~v=M&+q2t8uD(qCGQ7;tuL_0S#AG}>E=L*?--M!%*J<+duJ>N`DffLE4g^^v`V`n) zO4iM!XkL)4UUNG-nE#A0&h+QxCZFY}{W(D(V35x%5Y=S37$)94>I;g>Q+`n?za)s+ zX6tAlH&|O%s^E6Dd^FdW32-EQ=LrNk^!6x6)I}F=7gPsFqGcoQR79TlR}^4W>{3s@ zDp1Z&KqGFmOA_(LeMJMTk1O9IByA?l`i z-~yMc=l$w~AH8Jk<`03me$Sz_x_FV89g9?aW7@9;F=I;;A4@44Rzs0LrKO$}VDcE<@xa7x#-CZZypErtrYqkf?47cl9OPjb| zKdSBRB+=pz-Z`bVw>1OrQKWyW@#nr#%`+O;Yt3Y2uV%(0jN>zF!kMCd`mEV+r=?i; zN>?_S{gMuioSnH^d#@+4c$4F){`DWFKzfMSzy4z#-^VkbdZkm-*5|Zl`ZVK<5;haI z@)6!h{8L=+iAiralY3N-^aNOO4~L~Ui>sYT*R5ITT-+VdVUmXYr-0Kdz9+pAB>zs@ zc)jj=j`4x0Z!6*3D2{KH;Uf6_R`N5@lAjCrFvI03oO)|1u0^n2ZK%Hhl?5KR={(f~ zbo$#|4=R{VflY0{|x?yTgw{sR!n$fY7g3d8$QeV zXLSTSYI9!0rqDlB$I!JH^PuB?lmpBI;Kw<@JOF-@1Iz>9r#ZkpAMxkD4`61}pOe`1 z@`{OXZ+IW_Y_rN2CI86}9fqzK%J7Jf!t*yIV}(nq#p?QS+-IncEH^#a7`O);2Wh(l z{te=R7aNbE&h=vBzujB9cTmgM9Vi{;`N8t#Ikr=t|8nIyIxo*LR-V6_jFrD-%A;ia zmq*ZhFHbjJZ+Q-sZW#GJ)8yyUp<|eA{mwYj+Cn#8k~AIEiPtxDPbIzn`RzZDX8s&G>uAT>?84#_jSy!^-sH#B};iXl45;Y`N8V ze4{^qJ0+vG__&IkI}8M@!-Zc{emg1uV8sT2cL-$gh2P|n7j+^9 zGWbZm2?@#UDUc{W5sXGwQ~dz=6a?zcwGPF(C_g>{zm}J?FXe4gGSg)bMjkhbPplF_ zgC(pUoHe)s7Nk|cSS^kh6FBM~&HooXacU<%U$EL$7WP>jzL4Wj z3fej+eKXaUF}<16ICxTq=;C@tw@(x8nwY*_Z8fmFXs;61vsSTK;%P1sb7xf7kO5y{ z8eH$Kmu=(YKl&UqZ@g<9aa)g3f+R8liDy-z=+OZb;Yx6lRs2Z#{f}{nYBLXjKjr}Q0Qgf5Fi&^E9o^3OhY{4r_$Mgi z#TKe|zwvM1bT(exOFFfm!}~n%X7U?hrmAw^a%Fv+u5Lcs1xveT3Z+W(vOJWSq8pE^ z6tZ<<4jnAjj+$YkwTbo-5e{``Zhae{k}L2jIh_?d^7{^4EAK8xye6y{%V{{m5;RW`xJZQXMdoPz-VSIT3a!A6tQ}w-*ndJV^Lvtiu%>nQn2Rz`2;Pl|*X~(yU&mc}oU^kiR4-?_$FThc_@Mk!&LE#^W zZF3za+98m^7ydVo+}?>4$lwcXOuLkGok)QU9v_zt7^@}!V?yIxyV)8*O0m`4ptjo; zPBdtQ$w?xkk!`sD?mOUZadxnrzP#Jw)H*|xR{lsAgMx$?Karok<4{v>GxLSkb~mEf z2{If0t{m#C78d@Jb9{rcvH?&agD)^`aK)MLL<(eZHvsa*-=Z4<#iiL~c?o2hIhD@C zvi;Jpt}oQQ+urTXYJ8ARX#;=Wa&^(VPiWOyS)Aqc$p3cBEbWk&*&QKSzRc?itqE6V zPE=Zn2g){h=1gV$4147@OZj>JKK#(8CqnV_0L0+<*>*&y*Z&Rt)Kmw{@nZwH8{Il< z16_X9zv0Duf$Jkr$@_>6qOQ9v=_wcI2$gW4S#yC*Y0~p{?Ovip>)STm?NHpWl=;YR zrs%JsXbx1{HIk`;r9JSZHnv~mb?N)TWVO-S+YpVL6B+)ThP~CRlR8D74xG8Hxr9u^ z7fP-p^U|IUkD;&zKuN+p4R3~#v@zSh3}Ns1JyC9{#!RJ<*9B+Is&bXs>p!@5m6IeW z?OT<&kG5)K{y!4xjQP_tu^u9b)_q#=^&;`*>?Pg-%*+T|HqTz7*vF)B>%}FnGVIn> z#g*2&)W#2BYqIpvwNmwRg7l3x8UA{@x5KI{?Q-c}EZ)sDTVgN{INQ((MCsIqiwI_y z1mov|d0wwz%vO~4vj#7FM<*VnZj@Dqwkxv6X#f z-OA_djTu{eX4Q61mB0~gE8z@lX%Z!132t)@rnT?HYmO2iwnkh2pI(VV{=#k1?~P^xdZxLC7#87waxqeA?jsbbxbh6@Xa5a}>07+VSn zHJn*hv_oOpTM6)|V}WXKtY>OK{vq{N)$Lbl(bwI!R{VtZdfP-@=KOWvYwdM zM3JwK=6A*u?ySOfiSV|`N4(OF`>wTos@OV=8BNjFtDBr5QyN-uG+1mOMylZg$1~km zB(n1{fxesJ-3CviCK67jSczU4)~)QX44K=|@wk*1wGZcKhnREyC(s-J9&@`kr2$@Vr-%HsD>7>zP3J%~a!SIfO(Cc0=C4 z>AO{Z*ziUxmmPYByhi)enIkbycJ3jSeHPO$y%orvs4JI^V) z4D|1i+K)CQ%(L``IgV$}3EjQix2thW@3VgNqb0GJuljrnt39)7T)5mW)qC>nJ7fSZ zkUGGI48YwD2jIlDCE=j9190xz035n@01h)7fLlZk!0~72;n1kX9G?SDkY{^d;P@Am z)PKq_<*>sKF<*hUl8@viHxHs<*mI&V4@2vJ36laO|DAh&Cr`RBHFRx1FIfIwkt}4# zf5ek5WRspF#TPKs?Rw1i`w0E*wd!vPZ)|XMl^2s(rttE=W<5wwA|gJSpCCDf-}b5e z@NSQRPs5*_&QHWrww_8j%+ArHJs}enW`n}aO3q_+(hV$Lxa4U4ovx?Zl1myKrK>J{ zS<-0Z8%@_c&{$#TnQBc{zAMRjAz``iNOI&g+FrsI4;!}ytwa2U8p5-A{GTYiogvsE zkip|$OEPK+Ka(e45VSKWvVl>F*mZ2B(bCRRnU>54<~9)FWVkri^VtR8B8n#5>|F}% zOP?EX{z^AjfV6kmVcwXV{}#MU3BRrdC=To+gkYVASHS3T2N#Z{VT_ePIebcIiDDY{7X%ev7+ z!DQXy2TCr!MEo1O@g=CQB^l87^+HE;=%>5TvS=A{`c0r|bpzWZ7&y`P*>(XMJL>Az zd7JC#LEg7NPr@2?v2*5fxql10P{?vN!p=swI1gbJXCu@MP8rjnp{CEYh^MD3t8(6PlxuKyYkX3m=oZUUKf@q_LmU{%DSiA;#Cx( z#o};>3Ew~)c(Twy4~GWkDld(3D33B^NBwZ^%>srl!0Rr_%!6kMRCk^;7ZJYk~7fjq)|C+Cp+E zyj_1Vl@Jw@N8)E9myXdtTxjRFWr%DeL0js4euDB8tZcSxGN-W9u6l+#JFMxu;&tlw zVVC6P3%tAG<*nj{t4QmI`?+Xg+_=`#fA`0U=Ji9Uwl+609y&s0lTe&qCr&v`DCsiw z=w#nhBQu}v4cvzZ`=G`-=V4?iFLRroWNMsT3RyvmuV0%rF zdoV6Op0(cgqgCGaWB9H3_O9`W-Zkc10X4pO4MOjG#6RZ2Vn8Z~bmBYvJn!Am)#?1e zu5a-i@`LGUc0a409M4EeRDX~>7V_MB#K$3h)|0zml&KWCVd+h<9#BlKB2JUMur-!G z99Ac%3ikQy(7r?!#I)gN7@vhylgEKNT-ii7=YfLcYC>H3eJ%MVkH^2I4|o>-9>6WX zfnyimqxq-t7vDg;-||hx?0L{qrnh`t(Coh6V0kl@XA$6BMS4^B%$bg~mKxmT`u@;k&4S5-MQ8sQ}(w;nlGI z_+*OOJh6QJO6AG5>DFP@^7TvwC)UplPIHU;6yjsrO>;QnDt5`Z9dIF>SCq{xj2O)0*NoHQ}zj>I^XDP~X#<2o+n6uOl|Oo}VZj zpDl$`JBZLaP&j5QJ@t+LSR-WlY`ihS*2P8|;SOWV=(sy@H%Tt;=-**W*V#wiwt+kJ zkuB-pE^Am@pz+(}n{A&6&3H3E9I{`p67wXZ|pUH)k%_ zFHTkbTr6lO#CE^aztRJY?brxHm^nEk^kh-{2T>Dvag=4f)o|3(!J_mvNY25zM{DWg z?Lsx8(33u+uXy!I_q`dd^}m}o^FH!P-$!D<=U!(aK7tlvPm`YkqcaDkzXT&lgN;k@ zV!CV8X16Tb9_~3M@0vB!C#}=n1JdppG$m&%p9i$7{iEsOkij$7lO@6Nbfbg2C!`%& z(-j=Unxic1XZ-0BvxT9){`hRMb%y-)`2O;5mOs9qytC##N8Urs`v7@I&3mrAgWR0H z46frFpjrw2qPr=4H}f%X&|L>}lj4^fLt))1Hk%ZG(}BkPd>UL%=Aq)gG$O5&{t%3w zPc`Lfi*=H?(>y(oJ7l@p>oqR7QYW|4XzFq+DL1#=mA(3~Jv(oDn)lg(z7rOyUXPo% zpS@q-Rk8`S4z`)H+@Ut4_vO!1sn;y2#22aj_fmiAce?BR1YGnXYq#tsM#1FjWP#%9 zi0@NyvoHG91{WGMN!fd>^nmBED+VnN`N3y(Mj_%+z(7dE%;}S#SL-uXLq3cNgn&w;1tBI%3FEap@#4G4e zFuz+M`5tSh+p{<5clEwOPvM+>QT48xb9#38$fCVD`XTX{z8or(qa*d3OJK6E)*TIZ z(^#KDp;QCU#H9w@*C|03gFK87@UYUSse}u3UtMp%UO?IP&+lH!wn24f$ls%Vp6)Q) zsuY6$_W!UfOJaY|;kiHz-6CUl0~BewLQ`$+_qZQ6*=i8azL(j*855E$p9)i!fzu0{ z+1&AJS4F(3#xk{y)Ale}!95JtU*mMpx%wKzF18x%o#V-E$v;w1J%jKp6}XnZ3+V*u zXZn{MA`iLm|7_x2&%O!YrQJcC?;&n@Qz6{>L$c(4eg{no-~yIH&)3a93Cs_&>;}vC zo?W5rvXhV{ig1nKe*q5)V>q@O+)0-N7V&`)l~OS|5-gwo7VxCaZZhjz2CP7B{0?oqq!W;t_M zxMyl9WOcZwz67%QRLkgjWK`QVz)K%p8qKJi%^(NRc+*Zr(pzu#z2zu*KB?^enit4} zu{CpO`g7_w)1JH@!<7o{t?jN>G;~zlhXsSl*5qN64~t)qGLglWo^}kqWh8l_sGv!+ zj&W#uf8ZG{eS15nH6U68juzJ5*T{hHNY_84Tu|lhtn74}zAIfgpYKY$kFMvRk$&mY&q!l>b}G{8giU={zqZdzJgpPb z1-*}|UgH;0JSwwe7bh1*lTo8aT)@Zp{Tf2qpAGYF8h zslj0Lp=Hy)mEv;xoLT)!t}maB$|)uH)rnWgYwD@))Kf8iBkjw5`#Ya3 zNY8w~jbh`oKglbVqR1SixrSHKO1q>|Aj@5}QaO1Qo+=xKYOqy(aO190a+}MI31)t8 z38cuo<|lNUNBhY?5zQWO@+!GSKY2ASyO_E8&75*0tG-muZX!k~r*!iv^v{2xEPFIK zSl>>+Dz;w(PPB(zTX*>?{c#Sgv|mfqfS)k4a39b)n>yb45+%Q#nD}-44EJmDnQR9| z{Wf_$FrIs3lTeX7kH;Rt8|5uhxa3XvdZ(vv^OJui<;)5eOWsVJp*H(QBn$53yhRC_ zOC|q|XU{KlzMVQfx&3R_w0T*oJbLpzL=CH(@wm~7I$xh$5uavLt!jm5&)!Drc}b*N z*&F^w3*ir@*)^)=t|%Oj=!T4z9{qyWO3_*wpDtRwOO?DGN{t2o2Ig5@E_)qKF5g&c zzeAZc)o|AN?T3o~HGVKB!2Aq9!H7k&d^sze7qi2G%X2m6ChsIQI|_gtz)>QnBLVGQ z{f3^LY_yy|LR84<5qVAm%pb)MImu5>8-#NeyBN3})0k7(g*wSEQ}XS;eJ5*vqvCHk zn%}*v-_*&`%Au(FWB7r(p#}5D5>hz?RXOCwuY#UGrzi(7Wbye}WyI3>eTcFn`pWfP zl9?d>4V(DgyPEaTOrn;nqUJaAL#~Dv=vzmH##j6~L0g=gms`6kdAG?g3%thy!gTSL zw$WMapJ${haO&)8vBcurX#{QY%{%}U-?+_>A7_P8$ae6L7;;fA!cG7*R%`#HU~hr> z(i8ioS(~Lw|>LZtVyBL)3pioh^$N+-gPV{I$;svJ>v_mMJub z{egTxMZP0Zt->2fs}Ggd`4IH9jB{)_@NuFuNV=R`h-C;t4B&=(ZChC^9GV!`x_a)S1kaOS_PIL&(yxVzVzp#=_2 zN8qpsCisv_2c5RrXXigrvh;tEYjJB{Zn8)8c(eycN7L?9oP7XJ^>jXYFmc#7%~zI5 zGhM&=RI=5PKO?47YF`CUZ{dH3Nx*9rTWrK<(q!S^(f-W-w7<4IZ5F7Or~O^gRxGs7 z5^di1qP&6Lqw_x7r9bG(8zf&}CIc4#P1MG@4&;e*l|Y;a$u|hKMqRm79>roF73{)w zqy0^S+h@~Lj%AP07AZ{L3_RZFy7_1FZhs5pedRskNaq>1zb%~hcldSa8~pgY1a`6w zFoE*y36O`%dN%IoyLolWde<_U9rD-9iVcx{=_zxRhvqXq^5meg+7HIX-OFTh+F#G4 zHHlhQv)fOiH>x_BQ0`qV&vLx50Nl$+IhLQ20@LcuGrImf7K)JYI%qHCr#KR3g!myA>92j2y4|8tF(*7Nis`%CJUJm$Z(nN$qHdYSi%lr z-xGF_UF1R!pbtZjaYIo+5Jg2?o~XDXBJPT~zHW~`54fU2#N9`I6!$&8-`}aa-M44b zO?ckV|KmR}ee0fEbB(};oe{gfy-8`mc}M4ZBOG%$VAO>T_Bun@grJRtkVgKPveltcO23kR1KExX!1 z(;V|eSmJ1yeU(j)ekS%7O#HVVN&nXMXHO!(UxC&XlU^K%D(1}ZKvx+5oVeX#o}&uC zAT*M<2+@(~h)Q?$WE!jONW)v^za?Sz^H~QX6TMD-0ya^WqPrE6ZKv}mpPrn3SkYB| zhuZpY$t&F6<|4aDd zJ=vqm9!Q)L=R0gu9m?MBNnp($61F$P>HCL?pDC>v42Q?!cj?o-%w~=xu@&=;Vv};R zCvxESZ9k&;W5sZIrHejVDrUO!!^N|-i?Nt5?fpAG<>Ft7_0ZhSbeESD1~+pMe(Gp? z7@6VXIZxaX|C;Xv&zd`n16k}oT=^Jv5F)|ukh=o&rHQ}Lq1WLojwxho`|v|}Uxhi0s4xeiv$gdKi-X@1+u4aHHD3V@hnBlh zvt+1)zxjMPioY-MH~wYCnpZP&lfrJR1^a$L;8KkvP&i>bnHs5aV2Dm-jnhNf@niIr zzOF!%f>>{_#$jpQ_-BtvakqU|je}vt5uOTdL2s1hOtLny!(eYmsqACW6irn~XEviv`CR`awO|jHCE)Gk2FF9&-QF*EDCHSBf z1=C~cGO_OQ;AWTCHHSEt3@-jqbNuqgo#T#krYbkCPwIP53F0S{yt+w5zff7B*i)NqAN3ibr^CDN1$mJN5 z=#i~S&`h>M^L_cXhWv6Q-{cn&OXOEUC%?01JNf10d$x82KgcX+-Lo~$?KzqKtC!hq z(22l0nN@mZR`RO9zw*ayckm4UzQ^DA_a%b!YDQ*KSe@KTrjZqn@FjA4tb(N)=l8PX z=j&@|(ZfkWoZKF#DB+|%CdCyZ#PNK=6v-vqlsc=#e>2x}pVmWG%@CKorfta>19?<2(v4$X@z#+O-`7F#R)S$3Badc z6J`Y*TML?Ln=p&1CSf)}LzqnjoG?ocu|YZ=9t4t4WZ8>fP2z_vOY+!hhuu>@R{#86 zgL|W_yQ*KT_jNNJyzaeE()G=DtYK9+8@=7xBbJumq0j_E$w3s+JRV%kuqHbFGzdwj zpUTtgbOl|T==5!36Oh{J{Lm)OPujzE*qJ88cs`gPs zvfsqt2wz{o-#z?oAoBRZN-?iyq)WB4N#*tVxe5-}IMA%-aSo4h=C;&4#7{UWh-)6_ z>ph&b$D|mf4RG?k0TZLZI94Z^5;`P}CUc>|L~9*$7;2$LH$j?4Fexz7(KJER#f9Jwy(-;&})+Yo_jrwBf1#cfU1%6-!EvBWnri!#(4Wt>SEUAwDN8SmR6OXGi&tWK&1Wl2>^ zm6NBHfv?~+qnuiw&Zt0+(fQN3c#V;mQQFTlu$96kO{H+jOymMNytI~32937 z5rsFUPd+H>6FS{~!) zO9h3KVlkW)#Hp2k(|b5+k4f>23b{TF6Ysz#(=g=$*bNRQWDapd)zl0oHrCyuhE#Ga zC4`;|>7-Dvdxc57P)Yq*){N0aX*l&G@~9u4)z3_l zvn`^^$25@;IZZT0$YH2!B7tg`2|j2QWtzxpY|^rnXd;U;)Es5}iz+l%kK?aZcv2OB zBYNYh(P%pWudSxGpR~y z!b_#cWuv}{`$q#DD4H~rldqLMj<_&j4yHDJn4Qs@<;zBq;G;^^1n zDBzf1)XbSFM6ukY5Dm~!h$eDQAxe{>5Ty@CC_L#n^r2T_HK{Q4p|ltJP>L(pQIpO> zEn1oqX}&2vW%9>JeO0Gh0^R_#?=+2xRc+Xkw85ex)zvhL$r;t8n~2e!B9xRbie9 zk%>Q(s3y+jefck92ihuEJ-;o!ulYT?nk{pGx_Eo;V`8g^7z5eeK*zr)KN0^kG;wxyo_ZDJIVHaTzlM><7*cp3DBsVs_|UwrqA~7o5wk&hG5ua~E%))sr0_ zJa?F{{n>&3jsY&j!U^T+kj4q+CLXo`KK?5yB$iPYL#e+r!`iORXZ3atpTC-w-r?&H z_#80^9AvL&93V@}>q>iFcfi|u?W`;WvSiIXuBiAhI!c4MuZd?7?k|@5yUNG2y}9f5ezqKs^-brH`OM*E4IaCf zJPDO^7d#`C$?irb*`KpXw>|Y1SHCOS)eu_mDvxh7ZmGY7?E@H$vTRpf>T&toPp zJC@BYIc@1yco^&l4yL8i$AX#{Z&p0Zi`X|K3~XZ+2F_9!T){fm0uIG@bJlSI&n#9?osWPp z`ZSc#S)WMSW*Btx?R%nu2L6l#n_f5-;e0}HPED0gseXowBt~)1m4VX~l(}jf z6*H}E*TMGk+>^g!`P-X6Ee{{WAI#gfPxV4Rz~86%`#yiDonV~$3&OYFjxLR|;2sU% z`k=xcF8n8jb1uy6^{goG!mn1i;KFZExYLFItZ>nV|Dtf03;$4Iu7ef+*Au1;dU%sZ z*=JC+(QJLnMRQyX<}}$P8O^mAc^9KspYl;lXIYy=dqY&9m?|w4+(0 z{#xeipwhjqV`QLvTTu6L&*Z_Z*~iW5ptC>g`OILeTC(=rVZXE8OI#AZQnAf+B%SrP05&cYY@kl4AY}KIu>COI2*0J1 zIgjEsdS%x@sXBX|T}_X!Y+Q;%ewD`dRO#Gu{7tC)bIXSNFmUf7+>;kTxR_faYOCC% zm@^sg(p5)aC0*Y1vWvNjwHSM?DP7(P_foR=FcCG}dPL7V!|01VX;iF?6JP{SY>ws( z))WZiuPfGd4qO@F{sN0t@?XE9ud<67)*#52@wo#GA%}{;MqKTgudbySY}Zy}`#eX7 zo$ciylefJ()odO}9i!FP`acaS~SYEe{9x$zM~9pj80=iTzob^tQK+sd1H-iZ8-USbXz7~B&cL#33zBt zy%T*lFwWHUJ;cv@KkpN}5G{I4NELShaeqWyHXm%tp?DmfvqUGS>)Wl~Kv<+kqQ^-U zR=YV69z9{fs><~T!iAJxOzmmOr)B{F7YXo#O!Zb`#dl%8$GWO_5q8UJ+z_6E=k`tD zAh3k4j?o0ckKr#HS6D+^hY|`fCE4gl5RDg;74{Ba%3hCQf?aI$NB@0KpKMu;PAHwR zZ}F}pl1qqEFi#e`=wjFU8>bed?-R%P?6k|Gj5TQ9L&p0%xMk7dgASd+;@HdC1jD`$ zUg=%fs7WL%?C;BOr@UZL3GE;k|M80}4xsU!^UnsUK zl5(^F8P?h)auF<5Jw-nwTJ#HkxHvAHRQh-qI^ecj&%ZC?Jz7czlhsAxaQ7G)4x{I; zbgLAqS3$g39tx{3B~XXnY0wZgBA%X=@MHnwDWf}1f}a>qzZ6gEIN}O|qq6;BB*?_> zun;Zdr^wl`5k0GK0d0OPU;Pr#^4#jrc(}-R+oSn@?`E6(9zO&I;2->A%wHe8u(j(*N_HW>X) zQ3j)b>QRbj(F}R}hkNUAZ+RZ#dm>@e0syW_02TmnZ33_Wfa?-~1pqud0ayUQa}t0B z0Q_45umI(mg?t64I)mtpZ1Cn;LGUwclZ%n)vCKeuh?y*c*?1AZOw$v6Q#`5)&#eO~ z?Xk=YuAKi$t|}MgZ3}4qlEcHp=OK7Je0X-J-Z%7W2GBL+rhZ*PHNB-<+HA3b)UHmxB^3!XStol_%U^) zaF$UW5)x^v%AvfSkmGGkao6&8jNa^9)Y~zaduqLv~~v0ST|s0IzF&r`3hHpZJJvFAq_@ zA)#sk0IbWn24(>OQwhKV(oY*zTc%Gq=APrwdZcI8Tn2F_Uj(8)expHtie0h=q{K>hoEg8DN*2XCo+Y7(NUeeZguR~_Fb;}m9a2cOGsDq1Ye-)f38KV!!` z)|_6o{2QztcYEHKPpl#479nFM;fCk&+&=H4*st)0=QqOMdhScDMY~vDtXsQ~pbG2- zN-gVY0RUSBFui>!{9{9~(KP|xr)XCaGVcB>tTXQ33l5kRG5=2!d-GBg8%+T5B1$jR zQmuH0^dVpvn+tb1kUp{N?g4pV3mW@7{&qy&Fz9 zZ=vxOBdXmSBdWI}!j-wz%PEJv8?>*G@37R+>T7;~-)q3bR&Y)mSV^6yg#C25_ko9o zE8g;~5~_AD51*5X#`(+!CqnB8T@mfeZ?vAD%A5?b_9Nt))aV?%$f-oL(Iw#S%2jrs zo%IOV6V-$uZ-x3i)oNXXQn`6ZS zRwo(jNBl}^hcf~Dv{JtkN*#(b5+W!v*d z0+=|6_xNCba)W|l3evD4!H#W)%@^$GX4nG3j%tQ26l`NNY>{BcHN$GRs{AO&oAo@2 z7OVinsN;zj9m0=3D%J)Jp;Y@j%gg&ZBbL~3ljm(- zIH??W#)s)UhCiQ+4<{H#`;w}g*hla-_C+pq?c82^2*R#Ep0ne*?%>W)C>I`FV~vgW zV1LZNqrzFiFgk!wtG|=G_8;hV?H)IW0&FWkQZ#vwk0P*6!w{Y7ne+gx@}Tu z&LdZ2Com`1U7eCxy_#N6c|(J`J1&&)KzDnm`0^8LF0szlh@1Fmepd7(+#h%;+t5); z>LL5qkl3hlu>NA3TC(x-)nwu~)Cpsx4Jvl)S6D?*q=y1oHkKbrRY^~oQ;Jq2v^f{s z)d=3k;DDRWvZ?wg64&bEKd6sPx;`+&-e&F@th=DW&&j}lD}J)^G0K+lv+a;#^#>H- z!(Ud{ZBltsXAsBGilU&6Y`QYlmHQ=~r9>m665d0x%PW{0+jIZtoPdTA%(^if9|r>8 z@9Tr4UejfEWi~z@km+N_k?zfx=f1qAiuX8P>+JX_b=a%Y)j+v-=&rrsch(kugsQGw zowYlo%q2x>)iYcLc-Xs%!03U(Ew3oB3Pejuiat|4jtt{iOGxtW`p*+!m>S!Ux-0ra z$6wsmTd-?D@qm-VDK{w02e0*6#)9>ix_dy?kC!~KLee{NB4~F-5U^}M9i+dYg#MpOkDTW%W0!JJ#sSNa5LE%pF*JARlSfz1-li#?pQ--<-X|W zN!*?Ce}KL_CwQuu$W`A-s#1I!FS+VR2@m@4X9*Aa@S}w1`|!^RFYw_%6JF@Uv-c0K zTI9l8#9@8@B03%1(Ww-fw-a~jD{AaDda7S!0RSxeI)DY7UOSaC`y)Iz`CW=m0-Nin zYJaK_Mw_6*>=hF@r}MG)YG7fmrcY_NGju@o#mf-5lfLEp{oQ(vsn14dsgyF&89Y=%jC@>ySOCE55`YC>8b)Ulvoaq>6~OvxrY}AdM&nBn#1Wl& zvPq;;be_j~cY?wK*5B2hgFlmB?!bu7C0cg@^JPN=?Y#~b^T(W8urGf{@>f2w6rBZ$ zn>EW^EFUtMe%regovm-EW4`S%n0}i-lz!`q&Z$Ri-2s|>OTw=OtPisgCa!|tFuDM4 z?V45QW_<3W*J~g$z2{UtkBW*e^=0tZ1g8b841|-}anACd3sD%wumFH}BmfJ*Qz#$J+J4#_v5!R~ zdsf`2-3xf>%CFnPixaOfx*D>TRhh(!N6+NFJ0CxTn3dU?>V@Rpm}B%s!sr?>>~vojh2Sn?mx3Q6 zecBKt)tWpL@y#YR}$+aN;sP zp|zqH5;4A<7aWQ`Q;+Ixs+lVktUaJ?IGcKG&~rvG`z^F5viH6udlmrj{sdqF03S#I z7695oTHZbEJGxF%X9xXj0UGKm*Pw*im7t^6FXtfY`urXzL5l}7z}6-<0BjJhfsV^Tqt zwyu-jPBvZ$Z{3A;)CRu5%EaP65giln&wA87BOJwsRg zi-B~y90}m1V`aYj!V!8THsR(Av_i~+O>Onh?wdWmFg?4^S9x5Nw|cLxC56>}HXeZI z{yBYfQpr>%KB6%!A!%lKFkh{}1q^>tLUAQOj+Yd%b?>7XJR02zZ}bd}Uj>okbpvI$ z1TwdLN$*@+0>K+khb?s2GP2ISy8i4DfVJY`zzl0DdwT-sBpGsbR@IgDq;e&B!fw3e zQw&08H&`CKjTMl&tbojQ9ZXlVzN(DndZXb2b(P<>(Z`V-=Xj&Hd_r$;{0;DE-ZOeo zBBfPtbEXDgCd0;89ZTNvRY>#IndYn4@%1+N>V>af$5$BL0rB`ca$Z_>jemPKZ~c9E zoau|7qaf|NHN|55U^ncgilZ1m1jP0B(j4?T4&DI=eQ?m{OQtpM>ZKHY3Ue6U2(u}a zZTPBQKP~N~)Ok9s$&;^__}|E9Zt6awxc>e1ypQCj?r#P#(r65Frum3Fh)FCunE~gd zgKKy)57^|B4lNa&4g5c+!T-SfnZQqAEYrfOq*Izu=A6We2(^tMPos=t&3Tc~&-QEmp|7G-sZDbymXvx#Sos@h1Q zvXIGmP*05lEMWaR^}pen{@rUN%4?mjA6_1>Mh`MYv|=`PMe5(1b^peoJ$@8snxXzJ z=`ld@;|WCzKudGsAL6MwUuPyzns4fi23z*FyAT^d`WWpsj z;_CJ6#;fz6bToO?zcAyHHbo)Dg=bEOfHI9H%nUXIsKEN7;6q8VT0r~g_JI}y3F=W> z48lmAqUg;O)wbQ}?TkuzK1__p9s$==a#8AY3b~-CKiEyBej=f50gbgA zV}!Sn!gStKjS<|OxNx%^~;(gFZJl>jX8M}$tc-toeoOOjRg@J4?aM(?XLN=$VH zQf-}0Dt>jsCPzO+)No$(0rz+x4>9oRgq{Ted?o={0KjJxfCZc!Pg3Sgts%!c0~>t@ zUC;g~&dM_P_W+pZEvGsZ02Dos3h8F=RP=uP(htmqlaHI-ykQRqSaD*pBw72*;Ii|s zB769wQ ztaBL@MxO`G%|E1hx~|j<$Z+k8VBoYpzXQ<=0aO-NFQDBxQ1v-#LN8WPF|Aj;o(SbPH=cfKh z5*opGRFG4DO1+#m@m*kB^xcK@k+$XZKeCv09g-u*W%M7&kdc?QE_G(=0*I)RS#Qkr@ zMZ^D?r=0(>T%cAH*w%ce=!4OGPkD(;+i4p``m-5qM5FuJIk>r}v#{c^Q6`(q*Snak z;Al@tf6ndm`US{cov;zBEP=BTBZC`1IGoG2Y}--dVm0p&NpATkv<^RKeE9LI|kYrWvQ?I0iRqU@)N#Ds&^lE;_7B>J?M)k?M%6bi7*$i?@U5x8; zK*bc3im?EIt^{BK)p=;L_B!b%sCH5yZ2i$y+HNBMEhV0%aRrd~VXll@_e8M#>O za%D#tJ)}3Ydz8(9y;x*@&&02VJ9(bU$a}4qF-_tdJ%?jeoo*kyF_=WR%|Bi|!zd>@ z+T*FfG@(saEe4~xd_*PA=AjnWon+Gj065m;B-8><*0tu4BQMciFv;BZi+HzkWS(k{ zsO}#|J$iQL;@1(StIXCd1%}VEVIV$uSEEG)!Na4C`?|{OlekRuDlrcC>xr1dVUnw~ zdai?%I&C{!SD7_#!=J2aDhC{SbPQX-+U6kqNhfdqGq3jpApxdT|>;$#T55Cj|)T9c>OHb+tTqJA6q zSMr6kLya%ROj75Y6W*iwM5-JWM!V=a+dUo6xQ3*ACzQY^=kmD{*!yO&N$i&ySjCC>B(}V|dP5SX znp8bnB#U@bO=Z1O`U{|GR^0;9scXpF`AK?a%FRE|@M^Lo$3?MSJtqQJSGl zp0=Qj<)XW3UX~*}M&onzy-`H#jEtM#mX{%u0c*UJohwqRz_K*FBs$QuwQItK1z>Aw z0MChCE8vEIzGvD}E!#J=sPEHK@uXKB?uT7yFDHQ_gYJ$WdW z2R!g14}F86E*=i{R%G%Qp?Ee3PbFukh4QO*V`~P0!8N@o*NdpZ{ASZL_@R;;s<#4h zo3(L$;cCkQ@V!R@umFH40ayUQo(aGL07esl1pt&2fCVh?Cz5xj@9Xm^_~2kSW^@FP zv3xH2cV%fY**I3&$mR#nBYeEVz12$*`kejRd>uO%^LFH=woGKeE1A%|TM_)|`=dz~ zMn~~GaT-5R5yZ`H&krY+D#HPX(-mQ>gyhZqjQS5QVf+?>xZdxrdg{ImCg*}K@jr17 zpkjx8>FS8z##=Xjx_D&bckmm(lb`5VmYSz3P_lEYr;60OfNv4V;1L6kG7A^)2FkI7 zgRuwqDag*H%HG^~raGgOEA*Q;b?cfDvEm`|dkBvtz-)ZKUco>otT^_8<^u=$!lwQX zHZLK&JYN>pwHlh%>u_|q8p?+qs@GdZJJqaP_{_=E9zH3{fu2H`)-xJ zm5S{NV+`c1S1vl2X#Q}VmxVofqFp)bHcPs0Fx2@JDTU~KQTnyigWEzXCB6EI(Z#Hs zix}zDXRD6|Ic_>T96oks=kRgi@Ijk5Ju(_{AQjNF09{GgfsPaC3_u5k!^b($l>%K4 z==^Z_N&_it(t9b5eUV-%mQ_iySm1$7rQoy`?1#~XL}Hg^Cc1=xgO^t6Jk+I1ZEb6< z&#(K6PquQOSMSlgkq8bHnxD26KlkYeH?Kh7)ANwmFfuJ0G3IelUd@Sn(gxwjIzyhp zhn|VfG*$jA7($glQ+$!D)k&@_0ANi5umJR$b@}C_lPpaDeVl#@4P32qcwm#;mY6|r zJqX+%UQ3L~B;F~Ulv^Oj#1$Tp)L%%Px2am6&3khHbX_!HZ#+qC0RZa~fCWrORc;5u zGyOXB=?!423=Z114}~-F7wDcw4^U*flE;yT;*{diZ_;xH<+{x~A$k$tRe$>?ge@SN zFNfxAwZrIz#3`-Brn{gonVcZ5klb(XOl#p*Y-jjVD|MF-$Q3rZ2ndsXENm|3Gu$C8 zyX4z-5@khq-XXDJXMw2#T8HXk^+$ZcH>BVu&-(g=bqgHMDl#8j7vyD%VzQUfU0ORh zk2_9pJE$MY9bUTpyu$E^yLnX|se||{4DYwurYX=ewyj88jmn4Ts#jvF9RGTIPUCGn zSABltZItt4jkiU)>fMbuoSwVmz-}=lbq4srOXNb>scY)z0A-Trh9t8VK+D{wEHa8X zjWJbpyI#&C$rV6@4CKkkS!Jlw7R&kr@PPjTI@q}!sXJ>%d*&B7?(F@p{ zZDn5X8~XB+CDd42O5$~{0#yFbh2P#r`Cmt@TlvbtSgXasnrOM*eR9IQH6INjqVet+ zyzcUzOhqpv#L5MGh>8!Nfxz4LS%24CC;oqwzT8Q~5h9NLrz=IO(C?dea^m*RhIsm1 zd$}u1FHd$B*BHVbCYZwb_2OOsN$ENW8ECAq;1YiLG$0Ps?05~=QSOCCr3BUqa%J+cW&m3Sw>@69(QfaCzt>1>$KPSt` z*@wi{#78KN=%We_Mi1&yiXPHqDEg!xZn6E-3gXYj9ur^U5wXdOCHz zpT80QHt;8-aV&o{vY>n+E?dZX{4xDJ$WQHfh?S2GZQHba*$`HB*u=f839GLeN?u07 z>N~L%?#q0))6czhQ%s+M2YVy@DZNox2-v_WW{6j;oye`U6^Gv?S?;{vS9|3DF{y1!N{;7wV6ybJyDj&a_k4_RejQI&(G?pz)1Q6SZ4N7{+#5Qb8KCMu~`X`$rx-Ze;pQL7@ zM@3*TdQ6W}v`vqRPwB%GN(sqx6OtAHa9#qi0D$uofCT_tkN_+I;28$#;1}(!%K51UPa2ep*hsqxw+2Tb6Dbw)ggb5SWtF{gnQ{#<6IcLz=GO|>^AS^ z%V)DpHB4;I9NON!dUwI?ilfOnl6&LZ0Ax%Ue3sZ_BShbo09*U+V-l{h*{_E?D|9x) z@dR?4L%54MgghJ5@-gkU_?UbsfK2Vi*_}AJ{M&Ax;Lc=7x)3?_rT1A^dKa-B(aAaq z)yMh@=?Ceyun?%u8|VKyjJarbqu9UX5-BHyu+IOc;qFcG{~<#o zv$Mk$zi-IVF9PxVmIy6%-)1A2rYh2)VZV{dGoDJAtt?JQ^e!D5pwZdf8*cb)rh-Lj z6^?Yu;4JcpTugip=8CpkxGNLu&X}I@`^kT{a%5rntTpR0aSUuE6JNQjQBmd`@9_-{liNUSW9mH77Vc!;@y^ z^)e@JVBIVJJly2HtHVt6ODfYYR{IqJ?q%wTo-~Ngy(wn7Ghgtu9pYu(^EMoerg=)_ zE~~7%M!yDQM@Dx(T}2L0%*9^-vD@FU7v-=Aa^Om*ydXzzmgLCS!h9~-1Ln#gwBlJ- zoVVt?ez2#$BWpmxklJ3CVdyU3kQ?5Ac~KZTz_limuRJG5sjLhg7D~uVh@qpDjxG#O zI*`U!K3aKiFsxzjadTIWDjG~uyJu1ta|^9_+;ANwFn^jcXCusV17eWbgf20DD|%KiD>V*DoHZ7TYe zn-A;a+t2xXHIU?w4K)^~0~9bE2(I#)p?llLp6Ckp`t|qq^+nffw3&}C=e?Zg zeUf+GVBA^#I#$77o!H;oU*Zb3emk*d^KPc)@WnOpB{249P5a_c!-}am{z_yd6a6=o z?XJy!`l(X8!~1Vw3Ikhfg<0q?a1m5rK01s~W2cAlxv&VJGyV^7Ru0EbcJ>wHFY`i| z!GEySckm%E&J{2fBGC$eV)`6e`j zm}ce*aOq?zX1f&S>m3LEb95-u>3s#_gbFCaI8yYvjvVmW$`D;si=aR~t z40v?q-dsPJ=GrcrUM2|*-Mngakj_nLo+17WKX%B|R}4Ek3uwX(=gHMQS9nGLLl(PJ z{?uj%b9Ms0;WGNf}Ck3r}?(>;e`Y*!Q{Em!wRnLQzyTIO<$TzO6j*e&O zk%`RS6*6Y-=FZ9w-tr03xhruk*Wtup;lR4E`Q&<&6|d7`wB}rN26hqjofMKR+**iE z(6q|K@X%9UPbcdULdmoWs@XeQyMc_4E%LK18@t%tT6AvF7U(r!;!3Ts35K-Vb~SYw`{z2=PSz!m8JP*v5u1! z?AHc;u@0VD+^>SYUNH77mPt)-))>>bZ1-t2ZN=Hgt8og~1$n zv%M@9ub9lCFm0=C=T zDVM#^gq$sX&H=A;*(=bLexjqP1mlF|#H7A-p79#^8g}xG-xE>K8Ao003bL8HhpDJ- z`*lYzr2~bLco~n%u7&CY6mI<>vv2fLH5_TiUgiq*BhA}b5tmoaM&4Jyn$r>zF|{vD zVlaC+*iZWA;xPIra7x?AqlGUQci4)l2yf_}u>gz~}1_oP@{XLdWBj=aCVV zG3iGn8s7F$c)F}|3B?db@8znP_Uk+z-MUQ1zrPLkFF0RAljSOCEF z3BUpXCKG@K$fw4uk@AaBgpm&HG|up>##Ra4|6;-%X>(skpF%fuH<+d^Tp=gwB$YklzV>d8GnlwTiPCSg!OU<;jrYy zqX27)=0NP?nY>1*dTG>}Oqlq#A_(L@jGi|2c3w;`+RsF<7+;RiX9p(w6khG5!o67e zdJO%Vt!^wOZIDAw9b0qtRAA_sFu{_TAy@;^-a<$rnUrPSM=eoZOk;KWF%vMj zmX7RQd`lL=2WNHd!T6QHpN^IF*4$9_90SY`BORXInp;r4$^Z+)NQYat<`z|NG{7$S z1_NM6p10I-ksbK*M`)<8suxjcfCNc)y@ zt*t0D`R@`b?M+)o$l2^g!Qy@09KHGw+FP(|gGNVI`y1Y9c?T4uYdKCs=c^qop>hb#46%D;?pjm&q49kNKJD!Zw2+S&t#gfTe$DsV zrF-vAq+^aFz}EIo-RQ}&K%!(lBKKSYp~l8oqxOW`%dvwrMyf@ct>MHHmDm)>Sn*}l zRNJE9#EmNM7Z_9#G(~(UAjJN79yItG-bBE^GgWas$pT}33)aNP|m;2(`kI=II9Ji-BxwjbH z;Hen>9glyPB6Kff2Zhmtu-W)O-dx-yp~y#@A}J)EVZZYlu!uK^3WAl|1KF5j%~$4g|0H%zxdd;U3)sKOAkr(oA%?E zEa6rTB;SU}Z}TixXrtmg{y2lJ=wzWOupp}}J(lDMjwk^ROk=yd+rlkziNJb{PC1==*(8APMpNg5T$6bt^2rauZLMbmeQtm8rbg zx*`=z=HU4x@({fVhQsJ=n9IcgYz*=4=jlKBO40x4KRILluM466ec8ez32Ag7<^HIGp$e4bRPO4#NZURK0_xi6_w0 z3?~}LP2Bi*GbvqLU;b2aA4ZB78hg>1q;WFBVB>M}Vo1(v8P z2CBg8*c)(10^6Kzz-<5HCD7ZGd^uUr9j|ps#~&q?6u%I(6W>>!bMX&&aCa!X2Yx7H zm1q6q<$QLDqRR=!@8^f_KjQn?x7_Z6C&->_a!LJ`gRxC+yvvyJ2B<{mkc^I&b!>6i zJNW{+v&K)QJoaCpZ}6$QK7!{c{0?+Y4B*L{O+z)sDTFnp$dC0Dw&&)_#q~KTJ?1Md$d}$6WU#&AImi%}i2*$=7PZY~V zzIZOyQ+nYbXzsXeEt`Bk1vim{co}(%o6>gvpXKFUZM$Of=WI8d8rdB36N+4II~UOWgE78m zCw>YH5oDqWBQcJx2$+SV320kJ`~-!&?vubu?(Xjdr z(K$fk?-9LnWjqQh70p5KQTn_v$M|%=2?Zg9Sc5PP~h8YCr2% zg}W*}`enxIy@1Lc9fjWPRv`S6hI!HA*k_Ra!uArv;ANj9A*>soD)Qp$fX%Eb;6XqB zDwwUu99;&-bO^Z z$NTo02o8F`YiF97_~{>$Ii{TKcCegsZ6q4pbPE#>A#TwU7Coe^335B~*`4K{^ym`U zt<0rKXi_tmqimG{%|PYWeSjjb9!zt{FmMdYrJnISfY^eG7RBt0K=nGlce)DMhdhtu zI`1Nfo0HEk~FU6BZ0&<@qKSLZ!t9DBw-|8aQKiR0Dp5lI097QztW~z+o zHO^4MW#{0gp3X+*4mg`K&t)s@(*AccgiqOtZ_tNwV~A^DUu_)ku81&q>7 z2JFRJbV4xO^%s@~2b|~n6bEF`*;7AbM`5#QD>Cl4#gL-k=% zd=n+$ax-?UXZEnV+FCzRLW#1&Y=VIeo@POn%WuyOO0%9oLepk>BVqbG{skP2xQte} zC+IbHeW8krZ0Q+u)}}ZbT`fkh4DGhin&6ovLMHwn#ZYHoaN|1+)Q><9BzK9v1ZH#( z;EQ?sdjJ)5_W%yVp`Cz;h6uUw3uYrg>8kFC*Ofm^J*^J@WK1sOPZMogH~S-hll=Xf zzwzJj!`*&LVqW_z``g2O$X8Z5PyY5|ea7euDyJL82ZF(4u=qHAtOP@ONodhrjG-jP zYZ@^O`8u>4HeHtl#0!wU+D$?@so!;hKDlsp{4gr;R}_`QH$TC5WCNd%c_=ZRxAJ|H z!~!`#==Z?$bX*G(T=K)@^Y1xYD2`rg9O<`mH5e7Jj(d#(eKuTZsmq7*Meo*+uf0rP zCiPn>^Fe{>Wwt1xN>45DSUd`PGsUs@&@-Su!-ofxK99L*sNHO+^&9`1;uzyLZF_k> zFK)xc7!>OumsvEFFSuPi*=>D3r={XHCM9=))ML5PgXrfnOJV=^K!)^}_wV#`RoTgf zZ`LZ@~M0FR83bk_4@WnY4gbN(X1mDH33q5mW)K0id&Nl<~nL2`tp}q=ush=U58<=%sXWS@4eY{Nk0wj*UK_S;) zczm4bnfL}E?hN%ht)@Caqstk68oKKqtbegSaJP#Uos7Dzl&hy9Xa&2@0X6%8)Q#)% zQ|0PENhqvCptsgrMm6VR^ROqN6XI1gag}i&xX^9CutG!VoIPH zvIK}-kMj>u&YXtvebH=y4H**u_k=pV(u8!^8AykLcwP>Mmo?%u{ zi0FF2M;zHOf&&9vG>Kx978Qi>2>7=)LwnS}{(i@c%91|vfM6OMB>AqsR>xGd}#S1m$=9*!k|o z@UpjL(tT$0{O|e1aqt+gUPWuDqXX)7yhs^y^`LzSYwKy^KN4}`PyEm)5{>xJgyX;P z(^Fo|`siN?b>$oQn6k+;NAowpeEmC*v2VN8(;tH04J1X%WHStw2IXU2zjk9d@eg9x zM8v64O^+>6A!lm0s$ST>sAp`$C=H7fBjhkrPK{~|mHQ+LNv;ctDCIAb(6v^0x?yYoH zk4D@lPC#I;XY%j^WWuk)oPp-k%zJbPKTPUnq6b_Koi|Gd=AcP7dY|CB@62LymSi9s zFbWA$**_5<$i}z9QgoltvARr(*DH8hl7f8_T40FYy#sod zD9r<@-#a}Xu={t2@g6~u1D699YTOE0^ftk%yL_+=Idf|vF3v*5arTA9i`m(m(F+S% zeK6jL+s~L)sv@0cK56PnI+7H|rO{Y1E&ejm7)lmM>NEytcig;tnwn^hO-s8QY3oT7 zT7%&5DIHbunKwO?=5vMU&Tm6^Xm;*q3S@eI_nF26C$h42G&6Y^A|D=$<0iAR)8-pM z!;Gu79w(6)w@C9#wC3A+#3%71LC``|^mcw6JUR&RK_LjwDk0(Dj`6s0_70O@>27x$ z(@Enxu~_S!=CeTdMROI{K=wTSleWK2lYr4_$a`ZRi6dkM4xyr&WY2qv&zO~Uw7y{b zJP8Vpz|}s03*R75I$PkQo5|8ocY-k6wJl)r$E^!Y^2Gy z(T7^*HCn~@nFXbLGU)sT6UvJ(VOE6|85Nx_|Cx!Eb|Y!mS-z6QCezXCgj&&6`n6&j z?;m+~glWOJ33pT7eX!|Mz1lmXH3`aeO`{l6bwuN~#&>6e!)Y&RG|Fqbl)RHe`do0} za_KdiMa|BLYG;ODOkVXb%xv$k-G(k@LU1dO_}g?{0Nw6DZ%%<;;XrRmf$ngix28a^ zbf9}upjSE2+ftxA1)7?}x?KE0GQ|4k_Wnt+k%=F*PL||Ma(QFQzBD>noQ)v9cyuAL z=0f7gg~W&piM|Votaj&o2%43i&~iMGaf*Bz7&~D4{T?5CNv2u7`?M()KZ1IQKC9fE z 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 z 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ú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 + + + NLog + + + +

+ Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + +
+ Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format.s + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Should we capture the last write time of a file? + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Interface for the wrapper around System.Configuration.ConfigurationManager. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Supports mocking of SMTP Client code. + + + + + Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. + + + System.Net.Mail.MailMessage + MailMessage + A MailMessage that contains the message to send. + + + + Specifies how outgoing email messages will be handled. + + + + + Gets or sets the name or IP address of the host used for SMTP transactions. + + + + + Gets or sets the port used for SMTP transactions. + + + + + Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. + + + + + Gets or sets the credentials used to authenticate the sender. + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Supports mocking of SMTP Client code. + + + Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, + we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendToAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Sends messages over the network as UDP datagrams. + + + + + Initializes a new instance of the class. + + URL. Must start with udp://. + The address family. + + + + Creates the socket. + + The address family. + Type of the socket. + Type of the protocol. + Implementation of to use. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Sends the specified text as a UDP datagram. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Portable implementation of . + + + + + Returns details about current process and thread in a portable manner. + + + + + Initializes static members of the ThreadIDHelper class. + + + + + Gets the singleton instance of PortableThreadIDHelper or + Win32ThreadIDHelper depending on runtime environment. + + The instance. + + + + Gets current process ID. + + + + + Gets current process name. + + + + + Gets current process name (excluding filename extension, if any). + + + + + Initializes a new instance of the class. + + + + + Gets the name of the process. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Used to render the application domain name. + + + + + Create a new renderer + + + + + Create a new renderer + + + + + Render the layout + + + + + + + Convert the formatting string + + + + + + + Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" + The first parameter is the , the second the second the + This string is used in + + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + cached + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Use base dir of current process. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets or sets a value indicating whether to render the source file name and line number. + + + + + + Gets or sets a value indicating whether to include source file path. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The call site source line number. Full callsite + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The environment variable. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the environment variable. + + + + + + Gets or sets the default value to be used when the environment variable is not set. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Thread identity information (name and authentication information). + + + + + Initializes a new instance of the class. + + + + + Renders the specified identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the separator to be used when concatenating + parts of identity information. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The machine name that the process is running on. + + + + + Initializes the layout renderer. + + + + + Renders the machine name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The directory where NLog.dll is located. + + + + + Initializes static members of the NLogDirLayoutRenderer class. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current process. + + + + + Renders the current process ID. + + The to append the rendered data to. + Logging event. + + + + The information about the running process. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) + + + + + + Property of System.Diagnostics.Process to retrieve. + + + + + Base Priority. + + + + + Exit Code. + + + + + Exit Time. + + + + + Process Handle. + + + + + Handle Count. + + + + + Whether process has exited. + + + + + Process ID. + + + + + Machine name. + + + + + Handle of the main window. + + + + + Title of the main window. + + + + + Maximum Working Set. + + + + + Minimum Working Set. + + + + + Non-paged System Memory Size. + + + + + Non-paged System Memory Size (64-bit). + + + + + Paged Memory Size. + + + + + Paged Memory Size (64-bit).. + + + + + Paged System Memory Size. + + + + + Paged System Memory Size (64-bit). + + + + + Peak Paged Memory Size. + + + + + Peak Paged Memory Size (64-bit). + + + + + Peak Virtual Memory Size. + + + + + Peak Virtual Memory Size (64-bit).. + + + + + Peak Working Set Size. + + + + + Peak Working Set Size (64-bit). + + + + + Whether priority boost is enabled. + + + + + Priority Class. + + + + + Private Memory Size. + + + + + Private Memory Size (64-bit). + + + + + Privileged Processor Time. + + + + + Process Name. + + + + + Whether process is responding. + + + + + Session ID. + + + + + Process Start Time. + + + + + Total Processor Time. + + + + + User Processor Time. + + + + + Virtual Memory Size. + + + + + Virtual Memory Size (64-bit). + + + + + Working Set Size. + + + + + Working Set Size (64-bit). + + + + + The name of the current process. + + + + + Renders the current process name (optionally with a full path). + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to write the full path to the process executable. + + + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + A renderer that puts into log a System.Diagnostics trace correlation id. + + + + + Renders the current trace activity ID. + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Thread Windows identity information (username). + + + + + Initializes a new instance of the class. + + + + + Renders the current thread windows identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether domain name should be included. + + + + + + Gets or sets a value indicating whether username should be included. + + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time + will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Colored console output color. + + + Note that this enumeration is defined to be binary compatible with + .NET 2.0 System.ConsoleColor + some additions + + + + + Black Color (#000000). + + + + + Dark blue Color (#000080). + + + + + Dark green Color (#008000). + + + + + Dark Cyan Color (#008080). + + + + + Dark Red Color (#800000). + + + + + Dark Magenta Color (#800080). + + + + + Dark Yellow Color (#808000). + + + + + Gray Color (#C0C0C0). + + + + + Dark Gray Color (#808080). + + + + + Blue Color (#0000FF). + + + + + Green Color (#00FF00). + + + + + Cyan Color (#00FFFF). + + + + + Red Color (#FF0000). + + + + + Magenta Color (#FF00FF). + + + + + Yellow Color (#FFFF00). + + + + + White Color (#FFFFFF). + + + + + Don't change the color. + + + + + The row-highlighting condition. + + + + + Initializes static members of the ConsoleRowHighlightingRule class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The condition. + Color of the foreground. + Color of the background. + + + + Checks whether the specified log event matches the condition (if any). + + + Log event. + + + A value of if the condition is not defined or + if it matches, otherwise. + + + + + Gets the default highlighting rule. Doesn't change the color. + + + + + Gets or sets the condition that must be met in order to set the specified foreground and background color. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Highlighting rule for Win32 colorful console. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text to be matched.. + Color of the foreground. + Color of the background. + + + + Get regex options. + + Default option to start with. + + + + + Get Expression for a . + + + + + + Replace regex result + + + + + + + Gets or sets the regular expression to be matched. You must specify either text or regex. + + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Gets or sets the text to be matched. You must specify either text or regex. + + + + + + Gets or sets a value indicating whether to match whole words only. + + + + + + Gets or sets a value indicating whether to ignore case when comparing texts. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. + + Access this property will compile the Regex. + + + + Represents a parameter to a Database target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the parameter. + The parameter layout. + + + + Gets or sets the database parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Gets or sets the database parameter size. + + + + + + Gets or sets the database parameter precision. + + + + + + Gets or sets the database parameter scale. + + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Action that should be taken if the message is greater than + the max message size allowed by the Event Log. + + + + + Truncate the message before writing to the Event Log. + + + + + Split the message and write multiple entries to the Event Log. + + + + + Discard of the message. It will not be written to the Event Log. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages by email using SMTP protocol. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ Mail target works best when used with BufferingWrapper target + which lets you send multiple log messages in single mail +

+

+ To set up the buffered mail target in the configuration file, + use the following syntax: +

+ +

+ To set up the buffered mail target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Renders an array logging events. + + Array of logging events. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Create mail and send with SMTP + + event printed in the body of the event + + + + Create buffer for body + + all events + first event for header + last event for footer + + + + + Set properties of + + last event for username/password + client to set properties on + Configure not at , as the properties could have layout renderers. + + + + Handle if it is a virtual directory. + + + + + + + Create key for grouping. Needed for multiple events in one mailmessage + + event for rendering layouts + string to group on + + + + Append rendered layout to the stringbuilder + + append to this + event for rendering + append if not null + + + + Create the mailmessage with the addresses, properties and body. + + + + + Render and add the addresses to + + Addresses appended to this list + layout with addresses, ; separated + event for rendering the + added a address? + + + + Gets or sets sender's email address (e.g. joe@domain.com). + + + + + + Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets a value indicating whether to add new lines between log entries. + + A value of true if new lines should be added; otherwise, false. + + + + + Gets or sets the mail subject. + + + + + + Gets or sets mail message body (repeated for each log message send in one mail). + + Alias for the Layout property. + + + + + Gets or sets encoding to be used for sending e-mail. + + + + + + Gets or sets a value indicating whether to send message as HTML instead of plain text. + + + + + + Gets or sets SMTP Server to be used for sending. + + + + + + Gets or sets SMTP Authentication mode. + + + + + + Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + . + + + + Gets or sets the port number that SMTP Server is listening on. + + + + + + Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. + + + + + + Specifies how outgoing email messages will be handled. + + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + + Gets or sets the priority used for sending mails. + + + + + Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. +
+ Only happens when is set to true. +
+ + + Gets or sets a value indicating the SMTP client timeout. + + Warning: zero is not infinit waiting + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + SMTP authentication modes. + + + + + No authentication. + + + + + Basic - username and password. + + + + + NTLM Authentication. + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Sends log messages through System.Diagnostics.Trace. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Writes the specified logging event to the facility. + If the log level is greater than or equal to it uses the + method, otherwise it uses + method. + + The logging event. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Logon provider. + + + + + Use the standard logon provider for the system. + + + The default security provider is negotiate, unless you pass NULL for the domain name and the user name + is not in UPN format. In this case, the default provider is NTLM. + NOTE: Windows 2000/NT: The default security provider is NTLM. + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Impersonation level. + + + + + Anonymous Level. + + + + + Identification Level. + + + + + Impersonation Level. + + + + + Delegation Level. + + + + + Logon type. + + + + + Interactive Logon. + + + This logon type is intended for users who will be interactively using the computer, such as a user being logged on + by a terminal server, remote shell, or similar process. + This logon type has the additional expense of caching logon information for disconnected operations; + therefore, it is inappropriate for some client/server applications, + such as a mail server. + + + + + Network Logon. + + + This logon type is intended for high performance servers to authenticate plaintext passwords. + The LogonUser function does not cache credentials for this logon type. + + + + + Batch Logon. + + + This logon type is intended for batch servers, where processes may be executing on behalf of a user without + their direct intervention. This type is also for higher performance servers that process many plaintext + authentication attempts at a time, such as mail or Web servers. + The LogonUser function does not cache credentials for this logon type. + + + + + Logon as a Service. + + + Indicates a service-type logon. The account provided must have the service privilege enabled. + + + + + Network Clear Text Logon. + + + This logon type preserves the name and password in the authentication package, which allows the server to make + connections to other network servers while impersonating the client. A server can accept plaintext credentials + from a client, call LogonUser, verify that the user can access the system across the network, and still + communicate with other servers. + NOTE: Windows NT: This value is not supported. + + + + + New Network Credentials. + + + This logon type allows the caller to clone its current token and specify new credentials for outbound connections. + The new logon session has the same local identifier but uses different credentials for other network connections. + NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. + NOTE: Windows NT: This value is not supported. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..2bc8d9f940fcb821618416e96b3e521198aa9a27 GIT binary patch literal 515072 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Πyzd z*>(Y`Vsao0+(BU6`FGqZh5sSz(0nM)zX*um{vcw_zgS*ZpEx)X&A-ILQ$+dg0)Y5U zQXj?kGEq@Un+Jd}xp+1wVhJZJqBiS@QC#GwF&+;x{3+SX^JL}$@QNH@9-FJHO>VKe zDsC7AHOuTF9Iphj@KVLC!WUQhNi3fF{@!Q3;-HE3tt3_lIl{(S zG~9nA_ZzWOCf=YQm2bbDv7}F{vQ?;PP9oOR#&AABa6hJhcd`8~m`8|0xS|lhOCnt2 z$8W@4QQ&G=`z!d8RUJMGnv1BPtg;xeJk0_$zvgI$96=LBtplwg9iv0FztH{~Fm6OA z-^X=%Wm#w(ko{uxok;uh9CUaN8P!DI^s_#rUkEb#@#!!TpT`H$;P_*f{uBH%Xi76|=@uy_XNRKDAd#CBC=Xv1~)oJx=~G+*xydCQU&PO)C%CwV3G z7sU!&+tHS5*b?G;Z?Ly^0kt5XP4!9n?D!t?IFE%_ug_;k;`UG4Zi?9y|F7jf1Fm|k zjb6F2H<9~sU4;GReq%TCfO6mS|DW8xm!g%EDDQO5>dYi(cj1#TPBE`mF*i4&*qX{X zy$qCMJWTT}CVN;iS{$Y1o~U&1#M~)$3;`<(cJHH^&$xnkaHk;BH|N=?54SRz^-9OO zyX8J7rB2?Kmx=Fv7~W2XH@gJH8ejU~dE#_aE$6n|4_f~O+ng8B-R5B~dyg64XMtRd z={=f&I0m9M54->UkS<>rb_iO_k5_{|P)gXq=Nu`t`r|ct2UF21$2HOF*BJmutAB6p zqAsn=b6S~J3LPCq)miBJ?3f1cIjIpF3W=O70z|dPOfbt6Wi4xjWH~NYM%WQ-~CM1!jfqU@+rR z__q-`T}1Q#+>4Pc;b=w_j}eoF4;9T)a}`%w*_n2yi;ri)jqo(#nV&(uw72%qPCaP! z#ae3__tqSn>*L|xy1Cr{QE%<{y1Hqj8?{3}W=0#b@w%i9p4w@HeL!ak2kDsD6rJN3()p%lYAd+(l>USBy%5YhYhd1(VKRC<7)4`D;;l4EY$V0 zwrN_4$5BW;;mUjX$Ud8|pC-OtG?bcA&?-`F@`dp_hiY~pdz4 zfwVj8e90qGOlQi(0{;=9VL#j{%@^V?NnR|bSBjo2FY^F+RSq!EUf+$Z_ea0=t+%{@ z{%ro$U}P428|6gtw?xtzbl)(q8gzV@a=6uxzbsG?v#x;=pjN!1kgy5MVb=aw19oHA zGC2JiiskOmu3ZMrQIZ_5&Dk~&fZaL3JOEyo1Iz<}l@uqsc>vrlfNYcRQij-e%;V+- zb1{<*J9^37QZPar5TX*+j#%lB&c8-z!TcSfz#hgqe*9fTtA)1tKj1 zwkGdDveW2;y)%%py%8}YGoliea-})$!ux3yR(iq8g?91V_cLlnEU;i&J0I+GVQ zo)~m*dTT%35(h@B{wmpQ?oABe+Jth5nyc8q5ZzdoA!=dTZum$2?7pbgpr$dT-`-|< zfOw~YGoP{PPkIyGfj_4b@aH7(&I{?7bi|nlKhk#*>23kkD$R^X1YDD){epERChAs5 zCihb+6WEEv77JGizTP3?DzeV;VLPlVC!6sM^w26<%XDP29f-SocOb&_*Bx5fO&vGa zd#2ZTr)%#^)T%=mJ$k(jMQE;Y4f;4!_0$CJIY(0^fGZ==Qc7+S|5;tN|9X{CyX)!uUj}E!p7yD%Ud&{wl3udzYN0Kg(~Q z2L8PA%huBvs2Fm(`?k=Q&A||?^+LwgU(%q0_;gZWBiKou8MW$o}=lJ=I6wfa@<`U zPmec%J8o$OCZkp~*FlqJhW>ve=9sge4O25dV}Uzuc@Du0_ZV=`Jpk@Yv9wyO4DDV0 zXbQI2o4S3jBVqYr6&9%IE48^$I?=ytwZ{^Hqo?xRSR{*e=& zt$_4&$yctYFUJky^T=>_c{F{ML31^fvty@ar-t)E+HUjy`;q7Q)5>U<08Jqe%?*i$_l5;vZfcOA^ zObfh+;}$25V~yC`w34vD+EI4o=2Rz>hrq);Z+vmM&mx-}eE%ke!1Qtk#ALQUNx?9bzU2+wD;C%32t?SL!VhaF_pErRbyp^ToG}u2%Ux% zXXRpXvR|t3q`E!1H?O)`tp%?2x1Zu3Onji#eFmkhA4s+lN-j|aqWM_YV4xs*m?AFa zr+IYxezmq9crRx1aB$+w_@POuW{1fm2n5OH{LZ{QNFIqh%?w*P#lKePlRQdMmozz+ zdXx6RP_xWnJ)-P$z5RSwu8wJ+TMWJXE!le}Yje^RH`J2Zqn)Kp>X~#TwkdoIC zU~sgIav8?$@|=#W#23jREsF*l7qvoMk#~#sFf7J`(A65o7F;*p-b3|iUyWYoKS1gD zu|($S1197g85n>9M|GfZ5WXcNFm-;F>iMBwD{~(|Kza<~~h7Y54GegY7+V6+`ITeczU_=Wa!Dov* z$D@Gu;{fdt$l&p$&EU02=`6Q#Q@FQDvaHnk^uWBJ>i%VCgp@1kgr` zAG7j+S=s4#)V*b8J?b62#jQ6S%)55ilc*uj6XanJfxKl;>z|{%@X?&(6U1=}-VT8b z9v=ix3m?ldP83F47y=nQrblYZUi~1Dc1fi^YbBaos%!Wg%03G>&Vj$fPw(u6XTbeIHw13~cuoi03w^s~WRp@m5>JK4 zj&QaV9dCAbb#jZFbTiG?>yY^r8hr^@^_TftwLQu}LOV}}adEUylYE~a-}%!SvbJ8% zpy^2jL&I|MdQ!O=iUYNaeh(dbtSeQ07Lm*pE5{?~k4Y^Wo_2j=RA{Z`IHi>9hct!t zAf%szusf&HEc@YzgZgzd-i!p+_`x9h@ge*!J`A&{8`nLzQcOoDmMpk)YNgQLgFviB zU)YV(Qae%owu{g|6Xk1UC6>Yv#p)f7_sBO5|IH4JaY$ZDjc(}lcoMydR;J*5Ry<1d@7npo< zb$zRDIaYb>Wy6m&W=v_M<+8YzfaI!>8ejD1#u&G=C99_>+jZ$3Na!GTipgI;Hx3T( ztH_aDvT=Wh`!JRLw<&Wj=?|mO0a~H4UP&Lkh7x}Zj5J)7q}nd>mGrwkQLl%YDBZf2 zACIo5cn@%mcwf1raQ=%#OPF`nP3#7{t|AHTY^6U=r>Aq7DKMkc=HFTLK`#uIkOYeRa08Il0P|?9@tVO_rsSX z9N9(KB!oXfKH1!ZaA_A|ONYX7_=5D=MA;jQM%G?74bt}rc%wv-obeM?Qt3|xe3F1B z+LH|!9t3c%gLxCaoU0Rw%Gf?pnJ(2za+0#Qsgjj(rMU3PyosEG3fj-1Sa%3y@R%yw zG(`4#R2jI4u$qk#)rLX8T(IMi@vLeDXO2`OG}5xO)2$Ijm#(;Jm}v<6BTA};n|-VI zaB1@osVsYk7ba+oGml)`X74syZ?&ctKhOM^AzMB3Ux$A*^FIy$Smu8r{_)KJdi)ca z|6Takn1Ao^4rP($R4wuL=T6ACuB?{tuZa%xESp#jag{ zdfI$^IIQPQUVBYTo4m7`H+gHbeMaSfE6hDYeVprQhKH-eHG3vtcXc>x(K?l3lL)KW zQIJl-R^6&TFEdrrBMI8U=|=m@G>3s8eKL>{!yYWp3)6jG?t^t-6{q^c|%j{WS5eYf8QYtswagzxGf92d>YCRIA46SM^E5 zrBbzI2QN1Lm;%Z$ze@TX^HMO^p=}*A$ONfZ>n2Fu3Bsw@;nCXg7!PQVR>yYfsH>Zz zRPk6Ql~T20nN-K%bgVj79fi}onrUr#pu1BrJeXyFkFsCk809do(Xe&@;eia}m%>`usoT|}K#X9}XpF_dbiuL>bcnA5T%iZs9)9u15R5r2G>s57<>r6<~IXnZWr*kM( zb=2Vn=&7092U=EHScKx}P4Ys}dD5%O+k>Te1}%lHGX21m^i?ck?^KJ$c(aAloyxWt zHyJqqo4HQ#?GQr!Hjv!t29olU%BA&2jTf5BlAU)if4$?y5Rq3%LMt#=iBw)ZHa^nN z;mG7g@YpK*L2<-53~s!dBj^LcjVyKfgP5FktLZ&0#m0E69V<7zQnh2Hs~yZftjQ0D zrOm7epv-tJ8MW?@GCQ@|wBdSYYA4!$mx-NzcOPvh=U}AMrK-c;#J;Dftr4{=pr)$V zm1LNgzpRCt(#uZibe@~{!h~Oqs{Q>YSv4}HwpIdj>WxgjC6`y^^172mXp5q;nzPN-oRv#z4(Echy2IL?Cp(0tx+Qf-HVO7d zXRKdYU0F*vtXKcJGV4apB($HAF}!NiO{y5HvVJr@A1v2ba0i?@^<{)@eSqWA`}8A& z<<|L5FXg%&V=pBvgN2L7soHgKniSGUi3ZC7Vfs>hG!e#eX6-teqG^UZIEEsan-|kB zcNj2(;5r`Ivl~Xk#q_5{(a^9Dn>gQw%5cdspsPVwk@vmqs(HGU(#^iSPxg?r{L3zX z4c&HvJ*Y<87u&^j&2+AS;YzjAdSp5afQn?fR&*FU8qNlqDh9c7T|9nxusYbya&X@) zD=y1Hm!$^yEXx%-nX}53{F7bDuUb;_`Q4c7k!v-7>_+Phtlf>lu{ZBG;1(#v<9py2 z5@wd}u{_a%tM3smL!kF5{BwREz{tMcP&!M{6>fIwDYG?XwO{!x?*VR| zC-AODR{p9%RES?LZjNx13HCb&(n}#yu*H>zJ)nwh0rc%%Xptit1-mLXP;yH=BeukY zso^ADvcB^Zc#sXjo}>5Zu6|`h{0W*J8=})svL9(Z4SN;Lg zB{Yli9ds&MJlX|{vnjTc$HC;mNDvp@KFu3xGUQ0E$B-v~*<^})DjeS53<;gK;wcGy10{D^ zq;+aB7|~hX=!Sp71|0MmXSa}}I*XZ7Db^)qj_5G6bHd6OZvug{3(2cUHmyS%vYi&l z^BT)jMt(dCcPx{<8WfH?oXZ){+woSi%LMx35~E8r*xy=FvK}m3uw5UNc)CJHTCe0Q zr_*O3c^MnPgofH{pf>XsOhvvJG~c_((np`HQ+u5KTq%9%t1Aynx_09!#9rIc4KMR? z%t5+ovHcw;?1x0A0Q%WAekqr_1f9njosJQiEi(;pywP_f0ak_^mwaa{Ys$&${r>_PFJV$adGmE9bMp5<|I?LLD z^Y6Q?{V$|-hFa0xGkW9dJWCbg+F|REFg>rq zT+g@Tkm*JE&9*Hk|E4L#8(};m)f>T{(FBHCxua7nZC~5XVQSuK*;#7NuuPGPgWadY z9DT;zrx-A7J1F-gXJj$|oX40)I&o*z5@hh>2Y{8mXSVQZFvH|&5Z0GYPE-0?V?*|S zry|ukohmTLU)*!WIRFm6nCD|20AI=h<^k~K9AF-m%~9x*aS%SvhpcMU>@p@qzN$YWX~Usqj77d@ZMH z9p8$YP%jtghFE+Ju{0LZx*VFR@jnH7x-p`4EO%psR(uBL9air)DsX;HX#Sh< zl;ZR75tb3oBLH1+;{(=kvTAg|8% z2eNddD|$0ko*NIC);*o=_*9;jc5FpA_iOi;t&j<{D~}qLd?t1w>8hYVLwl~uR`bHF z91YQK>|s2-nU2V}aas098(j+fv7J&667~q91bdSs-;>3pfQKU+Di`92P`>2nSJyCwPfpi+;>}-pK}PT&HUfe;ZCk&{8&F0<3Y@;#TlO(8`!I< z)+&zALCn4`pBy`6g;|4m6b{&Jg0lNYL#dbFL)Pc~`o=FCJ{`FSdgV@-fkzb+JNs^@ z*$-~q^}UJg?5NJ`iT;xhM8{9wxg4RKPFH`9p9AYJc^7o1|9Uz2wuf>+I?1~svy@8C z%lI0no7whzz}ca?(D*pVTEBzGpVM#hULtBoVb`~rTt)Lt&w2aX#ks&c{5b&~D83w| z8SY0r3W~5ttK3m^z90BL$Tc?9ZaEd>X2<&#IM%=Ed!WT1ATW($rQd7O?^DpPKXN$|l&V3N@@Tx%8R~~Xjhd@@WCst2r#_-ErsM@ouEUw1FV^UKvRcxc zntYv3R(YpA*y)6ZH3eZcFmuJ%TXVi{TF;87eb9BwD}af!Lx9X3q#yCz<*^&#za#1IeCbFv#Z>h-xxi z3==Q3E$R!3%2VE{lwTCY?5TCs5B8I(%R&v_pqfw5^(6uv=iYe&!Nv$*@9c>#yg|_9 z%c8Md#8(uN=lxX$7!|wJldlPsvlCE>+bkqTeC@aw=`KLioP_;4?sh8qH-yqv2Ky@R z`!C1B|4qifK*_iG(RHqG(E4K-K&ar-j8yY28`SxYNmPM0_FOvk9^{?v0FX_()vAXsd4e$KzH0rp*N=eS`ag? zH1V;FvOzxEyJ1gNYY^2vkaJfqm_FY_x|v#fGj@-AaU^DWKXR{1_^};d*NYcQqK7mX zgBOXno9Z_USg$M&Oy>v{7DDqkNw#?P3%r344y7NK)NGB%4jf^H=$$FquIjXMSlf)Yz_sXv)c&*>!wW}YJHhmxLyD41qBf{>E zl5Ec%qTibBK{KQ6M%J_@-k=|qk{vK&Spx5ql-l0J47AVX-E921Z%gz1#f@4o8QH5@ zF~`8enKj`|(LPz$?6;Frta+t>ftUDc)*EN%t=8V>DJUmFtmFH5 z=2MGwU9`0~t(QU{y&+*U`LQW)B>op%?suurZYDpG9O+Dx^Bnd%LCSZndiR=iCXSVD z@99Qo3av9J{y=?3ko+rYW4f_$af}Z;-Km7{L>%7=!$t7ftmLPlB|j7HVTQ{SHpSLb zT#I0<+E9NEDvLXA!+EL)==Q2vx}7}k)#ZBfZ{Rii?L~p?~|A9AF**Kgj{+0r0Omz&rqc zngh)9aewZI0A?ob5g22XzabgRn(9`ptYybO zLuF*S>7m8IJ+wGT-5v065)ZtzcnoE(mll6;U+LaWDc^9Qbjb6g<>fiHBhRm$JV)p9 z9AonQ)nu%8E+dbU?Jtj@_bpF1U9UU`N;i!Do@x4X>F8saX#LhW(po?_UYfK%s1vVm z-=0c({qx(uC(ZoNKypoy3%6%T{2)GFj?Ugk@u~7I{6XH+RkOcC7T*OT+``0*d5l19+ttnFEfxsYe0adlwMM7uyhO~E9X8&BXs-*KlOx<9bw zsr*D~LKoo2$KelR2G(Y+vgyszUl2bS*l^+A_Y<1Vk~|I2jK6o>C9nfw+zRJN0+WJ? z>Gbo^%Jx#&ZmaQVMt}b1Nk(n)u{o)mA=O&N1<#E14#FEndQN3#r{Z`9p?`+;RF_*h zW{7Qud~2{A|A`zKx^x}3C;3Sa;7N}3@g!-V55o2;CslQ?MYp}m5A`NKYkkh4-ii(0 zgL412dGA4=1FkzHr-1nnrk{tvOfVDFn|))99Hy{zpi9tU%1<( zWY(8mgg%}lKCwy!4VJKaa8}_4Sd5l{v1%MI9TcE6|2uf%#7=y^V6|&4?6WX@A>sMo z5~+SqW18|_gw10_l+66+1zf9+N$tid^_n{ezOqSiK1xe=djKMHa?enZN}!9k(DRXOG+L&L9) zjKo(81m^)ddVoaWU)GTY@neakKf6XwfBa}Ueta#?El&Y!{`b)J{k`E;K-y)pA6dP+ z9pTRZmvXeStwZm*ruRPrqaPihBdmavaAihQ%(?$I?&#Xg1K|JU0P_I&Qw}gscl>)^ z58clAhY{4r_@~?$FSby$`;CA5rnB+lKGLcF9Ny=7JIQZ^S*ql|^_u!NUAes41xveT z3Z+W(iaeB9N5}J32-!L@hYpr%N6oOw+NAdp5e{@_Zhae{fGh9`IGqza@<$F_EAK8x zyaKEbD>%rl*KBxxxaBqIH2oD7G;ll8@na|e-V3`LC%K#-&LA4y;w~;O`>GQfZPPH>MZRL+^F(^oR@e}#kI}SDF zHZxynZFeJzogTB{@0y{$YGHwGbSLXg%E|^nfegOzmppR56Dg3v-2lj!dW&uZ6qja` z8Sh<^A}8+mHpMr;su&1FeTxg2cq0kjhRXzuL91R zRpkn?*MD&BTBk`++P5h&vtBpm{{x}Um_IEO>!E_^+(`?*UM#+xy~O){nHgbA=GhAp z`hTWQ~xY9a~>i7X{O_mBOd$+fyF zPp;Q}bctQK1g+ODRR3@>{5YF6L)+hIRYccl{aL4F-lx&3L^4|4I?0$fIGx+9W8Tr{ zIGgprcBv~jmiWAvO8-s-R?D28nF$yqSxrrLMKIfby%g`0t68D1>{Wc)F*e@>7-RD- za{A-9Ii$IQrNTNi55{1B4loaZFb9}tynQS)C%4Y`D0qAsJO+MJgBz{r+4yrF9uI(K zFm>Fij~01IdviQX%9#y?47UI?&9Py`A-fS$V#Bs|0Uk} z0Wb=!Dpr$x@kdaa!Lqcgsj43qOq96b=!m<>`o>j$d^8)&$(S%IV8|L58*0n4)$YQ5 zg_W_Wb1KGip@5B7P6`z^zX22%PPW6)%n;8EDVAk^Y*Ws3sXhq6MfT+BVEA(@MC)Sb z+On?OY1?=j&ov$Fz{O-7?G<<%5NEbbH>pJ2YI25{0+w>ao{Su<3D{s^Wh*K+bW*JZ zmd7|Q+{e*PK3{Lc*xECzwsR^3j%S;MGpwaam4KzV(TygBy!DN2@JUrdmFv!lvThyP zxkWs5u_N&ZN$uu8SCYq5r9(R2_lag`>zqz8mMH~o>Sed7CpU=`X7dN~k|Zhsx!jG8 z-w!F)l%0g3$y>C3c$oZlDZi}N=-i^K1dbo<4eynTx4MLVTJn=$P%d<2R;8$2X|ZOv zoe~bc>n6%oXmp@d-*8E>X5}(iUf^(jG+Qb!aH}ZV=#MtaeDj7i>eA?jsbbxbh6@WE z^^Y881!GGgp@uW7igqB(yD^`Q|f}I6^m3VX83%UiqP(Mw70ig`eC+K$T6J0Lj@+>Ylto#eq4@;!JkFks`8P6Q?VG8_mvI1z z6zqn)nX`GT`mo`RR<64{EU(f2lmm=>)AB2%vd>xCg|`B^6SZyGD3;Q7-Yg2&+C3Wj z#lzre=9mflk|>9J`!S%>w~%&sX*Aqj8cV-s{&ANJ9~HSCq3jZNpkiWwd z-SL5V+Ba%{p1Ah-xA7!W%kmW1y{z3!dBWs95KsF?b$CKU++Y0LxDka!=T_He7s_VSx@ zwNlH)QUlE7fY}UiL=IrkGK`~gz=jOK%??L{^Vo*LF>VLoRJQYQCfi~->g)hqGK%z( zK__thA4uvybqG1^;6u#Un@#fJTypcEijf>(9){H43ljm7|H?gokSE=j8hvd)FHina zkt}4#f5MY3WRsrb#1}Br?Ru=8v!&*}PVFt>3^&JCdFhB{3akY8*Q{gf6A>TJ4-e7t z+dh#W-rF(oN%)hK`H5J{)-wr**%^9z&r<*vW`n}aO3q?*(hV$Lxa3&FT2lG*;MohH6ul??G}_NLcRskDN=5wwJKQ!^Z7F>kxloHOjMj{GSot z&JXMm$l&p>r5V+Pf0rj;5VZ3rvVmW(_Axij?s1TuCYhGZ2jxl4j`e&l!MBK_ zDK~qQVvUqH==m$%TmjPFVTXBRZvI>FE+T5{`^i93c(H#1LF0?FKhMayLXxg`dZ4wNfX!~rt z0F50rHS4_2b^1ZxrGJo=Rd=y-=5n$@ZgMs;oR+dckest5bncSSc?#vpXuMJ5TEBfh z!1+-KWi_7ecBQ1Dk6EYeXbJP?0Wg^Z%ri|-(hh~I^@t}^MsHRmC*OaHx}BHA~qt<6o0hmKO&BowDNh*J&{ zO1n%wI@$M>$jqI+f&2M$su`Sd9!8h)GPmhTrpn2MkQGGA%WWmArN{SXy-zdfqa5~W z27I!MsSvj;SwfF`-i8Uhuk3N3(>l===nPYu%w+HrZX}ph@(8)SrDj7P9l@k32krh~ z7_yGQJkIt%2?f0a{pFni+iU9l>lEvk$h&nYi}jFOxSSuGce;mY*y2ixkgX?=BqD75 z*k9UHtRv2Piur@21=_e=>kvjKtH~76^HX9+?Q;qq-l;O|ZSO&R2uMp>VBY?QSLfxg zSNik%Epn>ga{q7Ycfq>`n(x}Dez&Dmw|cm5`(6*9J$+y%s(MI&&X`GjFsy_v7%PDt zXwK@l=3%*PdEM5U%BjHL4IjOYYNV1itBC`*Do|9PLwirw>_BRZvhLItxAyTs=)VX0 z=@{*^doV6Op0(cgqa<(p3VtiTy+=Hv_lSApzs8rULFj!)_+NQw7?9*ppU7!reG{5_ zT_3h1tFI_-&qXved+NBJ9M4EeRDY0M33+Zj;=2mpbkO}0Or^M!<+lme1B%Jj#A%Wj zw#L$PV0Ch;V4tlH?F&*tOdW1=i3_bJj|O$PvWWqO#|e_h5aPP;9psmA10dSM!l;*p z?*X{wH*oC2do=$v{^FZpc*}PbvxiA^FVkB-C1`e6Z?L=><$2{B5w%a-F0IGZcoL$J zTuV;thX?q^fVv_8j|I?v96#>S=5fsCFnPSfG;!V{_>j<;r^_SaDL~Wi}zHz1US$_=eE5Tus8I;Rpzt6->WjW zua{PutK8=;c`uTeuas+cOXTMV_%6VjLtLBAjize@jrF!rvC77Mw`ie9?Q)dyg+tVX zoNLb5Y}wp#=7aUdbs4PcU|F2L=w5G38?281jPxngrWn~HcimOzf009NPirFYL!S70 zVv{HE6NTfmrEqEo5n2Zd$84pizR@3Rge;$pHzwG+*hnSZVQd*4cmM4<(u+I#ci7T( z_EEQO;0}FcOZsn+HLNYr_?_}WN9*M8Mc?m-PWmEP_IvI_7GjoQn)V#G-Qhhby%UTe z{lQYan5rJN*`bNHhkH)Rt98xVV(WDGXtH}gOv%{>=h5hD|7hC3(L!TASppwVS30ayTH#ao?uPBX%p<%(ca6$TD4%2ug>}~{*o5+*9B9nXr;z332B^5NYpBJh zp8%uh^F(>tVx1)JBuvkv2w86S>Wj;*)XA+hn!4Od%FQhmWv?Y{&(3O|=G{5acf#E? zT#p;8cRsN1TG>-tL)wfiAE0cl5KoiTYnBw^OCT`q1)ya)k zZ%5)M;$~m5s|_w3O0$uz#OX}%9CpQ^#UVd=61X$N#rSj>8F0{2@??M|7V(~fJ6u?- zl)Ki6PKF`KD)kSO-sxAkbNOmR2Lq>XtNPsv7jK8a4XS@OJSAtc$VX+L_9sV@Iij!! z0-dYVcZ4!Ix*hvK^Rkll=?o_i-M0#dzPqT-)qfs9FTj!BLs)$@)wi4%6VHF2WB>|@ zm%q<3zgt|e7pk&%*LU^4yN+;9wyJmSoa>{8k1X0-ogWd8>64%`IXY6mr35B>Qr(ec zHIKNIe}4BevkgcyL;fD^k#vWs zR;3X1w|~ZxCW-w$hvy10bc>8xNK>Tc3Qg6uKjMDWbgKa{`$lB{X3QP3d>Twy2CiS& z%p$v2yEfu2GL~s=jI#%|3hqIz{u(E1&eazPcCk#KJQ{kF+mZzY)$;*QmB6+1`Dll? z1pAj9zz(@5zk_(!vTw$Bd3ONh8-N?$S_pUkfGqv^X&p3m02i=~cz*nJ`H(rtvKuVl zcXoxc%T7v`j#I?aKY!1;xxh|oLxD-Ls*l%>pOIyh-oIlxBv)JyUp(o86#-Zt9 zz%yF<-gHiDK(q!NEi9#Pk^$dRenkE)<#MT7=CN8ERgRS3jVkNSYop4zd2J|JS*Y?v zL}xI$pvs$5*~u<_OSy19-%@rT8qYtS{PLxrPR4BO6r}4DHuXL3^?ha@X^o90=&{Di z-p)?MqcA%*WpWDu+9VgJZ^hT4qOm>D`w-qINSE0Nqg3qWyKdJVujj6oyCG-2v(F<_ zuFvL)ZPe^~avG%i>|)kubCF8cWcMPKEk2$LAD@H|_o0mEO9qY}K+??W z!REut*85h9%k}5Xh*xs$_bj@cVsaa4n}c{Xbh%)0&;9crDziEU+>Vip&OR&i>Ls6* z>GZvI@6ijc@11SG0NOh=gxTD24xT?{ZRv%;8JezRX8$62t$V7w?x~nQllo;hIXZ^6 z`k5cK>Dc(xP4Z%;C}O`i*YKKHX_vZ`PZQNDmdeQ;c&co&slrzEk%@as$xB>rOwRH< zKOjZkbw8%rTC7S)yF&_2nOcP#RD zo4!+Q?*b>2UgmzBx=AW6q+CcfL%?Uqwv(YJP_MHE~O}gQ9ku z+zyOq(!%65isV^2*4OWlw}^1bYw`6??cV7ppCjeW3Kkl66KAN+z7gqy`z)_hLgpdK z>+$UQx14X+ou1rYWIdP{naZQL{Di1sH8UOsT2beVi!0*OY?@N7@Lbp%Nj)!(R4aSK zAJ`%?)vi%3cU9qdq;JS*>9H(mtrV@5@#&()drrxlpww9KZ|OnOs$9M)(|)ru zS+9z-&TpS5`q%lvoB;EO@e_<#Bujs>a9+yNJ1)<>n47$X)GXTrasWq(oEm`ku6|=r zPBvQ3A1*57^x!-v0p^?hkdyr6#7wHd>g}AM9C4Ua*o8XDAFAZrAwwz5&nW(;S$_Af zW|cOR&E!zj{1N;>-Oz%0jx3oRf=Uj#@r$A7&ne0Q3|V|$s*G4xK8h$i-mYBVDxC@9 z-?V|>y{q54G*?B!bQs%QwuEpX%a+La@y?(%Ei{rzi}H??kboKHN9@?-u==1RRO!>^PLo3XHp{ zyEw`XvG1teVxTYipgHN)7wg~HnER%t`eN(=@1LR9eg~?;M#l=FcWWNW`oKGZ@Gw#G zE?m}QFk0S?Z)Sxp*$jqsSnnZRcIzhKAENgA`D{s%q9y3QrQ*hb72XLCa#MVbVgF6O zpCR9os8-?apw)+}*ZC*tX$@!-RynWOLG!&pjDg|);!ISpRQm@u(d{sGc?@H6fAT)! zx5$ofzaO6-j{5-aa9A5IHdj|ey})QBw6w#6ty^`}x?0%quOVY{@zyfA0yN#`R$M6 zwm+c&mFtso^$Cqn;fX)JB=pY;UB`hYA+gx_8971wvpDmgQ=H~KDBRtL&Cs}eEHoV- z!y=dnd(f$yeRg*8v#L9D!fSEcTyFAt(evj-R>!)&pg8;Jnab&W@}OhhH_e^Pq?xYY zaw^&CxSSEw39m1Lr#IxkjnV#k#TFa!8B|&LceI(5>`VJg%hP6YXL;J+5pBgn`vIcO zyI9B@=uI{63tjqyPTnB-@-i8)aBiwL&UKhgoJ#_69wc8O)EaeiNgl;w9&y%y=tldi z1h>zoYma4r&K4<5-wZt7o!$I1eYd{`^1k{WaisH%+k1r5zKdUnzQK>bPGBd?*AsM} zJpuBNtY_hVv71*%)^9A6*&%;jR&0pu>qeQQJT#x_(IB#%7WmviBzF1k=XGQEv`0)7Kq(1;tV5+o}?K87?{gTxML0c_`Q zLD^|sU+4&NgVE)oPT%x$I6N>dq-`4y)P3VYV+46fLY-Fg>+2&ES0_)FVqTzzm5FKR zD}EsM#@j!XliRn>p1qK~zD!;V_j1bn)@!2B?(A3mNuloT@r?PE|csrxcQHXYiL|BN*of zR&`ZwQeXc)#kn?9T*Ixbmk&li6_Jq?R@N9OlseN~SMCmzalV4{pkiZ1S8??(td69= zzb<^yAp1MnKZrBmT!(E)L)qK?0tN5##M)Kq{}1WY#Z`mB@OboYsE;m4Z{s)*+ZbOb zHnAr5B)!}7{E*U*7lPr{F8NroknYM27tYoWz(THgz#oXpMn4nlfw^hvE{)^|w{eJk z`e;TN>EXgTkG?MYIq?L~o?A~*RaOKKFK16M{;%PY0@#JcyQqZUjFR2vt3(5ix^v1Fat z(0Fj0E9=@L1KX$R(hoJKFKym4?l_;RdgBTkJse_Jp+@VlyZEx?nGWwlYHA!4Cz*bk zhq!=aU|}-@=6*#biPf$R{|#_SebjBO?Jmia=t*9*@|@CMZry3;MXn~1%cg6Rwrr** zK{MG3%wOa;8}iE`ER$c3WX1BUpp)O(w~_;U$KED z52gfha(j%D1XK2y5?6@Ou@0t0E`yf=qBy4qOeD(F!ITm*;B+)6e+QqzlxQ{!w1c^A z=bJ6R(s=pv{8~20MqR9xw#ETI38u6L^a=bTSf4nFr`PEU zx<2tI-zQE5Qagno`UDORGBr-5D}08+rzBARMPNkI$gNvA32Dsf7Fm{KGNeF zA(dirKXosE8%aEQgmNsX8R=qe3%Pv1*s9=QZJQp&+B11fvht(uA%21>L0tDZQ}4l) zJ*LDUec-GlOpF3M+rgC4A!&4(XBkYi)~$0r)ab@YlL)4SW}TC6Wh--*!gw_XocvAp zi_;axBT{D+Tk!4K76qNkaG3PwG2J6}W)YxbR8^BNwOAFl{5+~axn1Wvhmd=(cP@cy zCkj4j)ooqX>V3+}G2%O!B^hc?GHD+cTx(4B?Utp4*8;Hg&g#Zb%=sahy2a!kV}BnF6IZl@oa@Jb>YhuzRZQ6tMGFamOlBfx<0|Odwn9j z34QWWWbg<4F*{2gg$lWpzd0nHOe@ENnz2!=J&#;opF|1{)~?i}SbM&ET)|`Ve5s&d zN-PFbf;hEO(R(muk16qt3aKVx;vLvkNtnt2>}m%SGKaXKYOXPu*jRUqI#SWG6cc(X zq*Fq@?zJZILM8QMMKeZYrQy_%$fJIYix%bc#S>MjABRbA9@9a>G`gdB!?2N$S@PY<<+8p<@0wb+yuDb_@mWT-jGJ7%VHHH*oqcQ$rHX(r=p+(Jv0@oO^LbS$M z+?>P|qC{B=ab}IqD7Mu>qB9)!^8Yb~sBBIlUTe&$1x(pV3cW&9j8lj%jeaeS0*?75 z&77G+6w6Ht(EtsFXd>qnqBI!_QRAdhDo;8NedtwKO)3n1DD8zll;X;E)TFaeigq!)9=G(42Z*w1ss=o%=c7Y5Y9#0DLzeD+p*`bvz(JCChlb^0!c1@6D zF{JuiGS$SHJQhDLcA%|#)$@De`>My$)tn&x9g*yG=nGE(vF!!z(v4g|bLM~%cR}F@ z6JqM;c<{+b&-=v|ld!@-W;y8i_xQhtPw-y-BR@6f{qCFbBr&Yn@h#|mz-QKfzbt z;cGWMKnenf+v}MdWNCR_ZLjM#+{bHYc`=ZYwF|h`fnAG*!EM7OTc?_Q1+m$3nMSR= zhVp>@7Wgh6QURVTZ>Zdv08Xr$JWF8GzCQsz1lb{NU*$VVAYUF?ty{38ooN2xO-;yr85ET2(U1l>g^cM``uLX z>ek!&7IxC)m)g2ye>VIR^$vItw=dCusSOIn{;tx=YzyvsO+Q<8$NOe-$Xe#`iUyC} zBXpnCxr;7L6tcTfNcQGz)eT9#g^72^I~oETeH_-oG}q(`AK;+)A-oP2P!-wX!Sh(j z%Zz8TOU^5#%bD!b^VslDlHIN^9-caax#>}ZsL~U-YzWXq|xp{BdA3DZ+%3=;3No+aD@@F2p2I0f%Dq2ou@504M z+Qh@UlRHQq0uGj>(Z_!eSL-6$UW;>I~ zIZLHq5#dtZA}AGR#?uoJ)~cR4(jvDJF!k;KHj34~AXtMN^-UyILv8 zRrI4dWBw}RYoOA-vtx9iduOWd7oNp~Ide~%)4^bW&Wl*VRH zMGLtdeAiOrSLu}<1I5Z?lX6FlI?6UKlA*lHWBaLe-Z%O()ctv1!+kWk_Z9A`vmso_ zj)>YC_b6md#=CSq&;#V-+dF#MrCh^z7<;WLU(N|PY=@sGp{843(DU{n{3K6075@7P zFdZf}M_LAJ3Iq`wJhNlhIB2yc71V z^EZ zVjn$p9-rsxGNMDC_8Fy1`k_UqO!}4Po6px(;LYI{Hp4}fGs~C4K1mAoIYKicKT}ia zHm*VvRI&j$^%L+^(JH8tbWQOAzR~CKUL7D=_>hn)?IP0tJ89W?a6*>Ujt=c7mys{y zQKxfF5PpMPL8Y66)Zw=+c#`V%yTXN(o=5AMlv)75xdQwoUAdf8(d~%Icvs~b!tRq= zy7J8g{3mrdVs05-8>0zQKZQT0%6vathZ0I*N;2X1AQ~;8DC`@4Hv2q^1iRSckN*3X zqMk|Bj4}viF!mMRb+mAhBzf}yq01qL>TjI(3%^4e=gr+yAmOZI_#C!ZWR_%XIBxiG1aV zgQ>?y6hpOL64#>zD6qauN?9*cJB1IEEc_8aT>Hf=hs4od48U!to_}A$d$^DS#$OhN z!`=O3IESxB&qvA;eM_edy z#I&EUZ$PSCE?)?j@KfMS)n0m5wu3e|o~zu;voyc*c^)pY-H>QL)4SQ?zLdmlSdNBy zMkD&!3ii^Rd{4U57Yg~8Jc_%^W9}>v*YqzGds1A}&TY@Lm69CKiE~&0z;k1O1zde? zp?p7A`KFYO3CT~vs1vrA@w#Gs>1Yt{E!LLlXE{IScy~p2P4Rj3?_$*IW8~p;D8FHe zA8ocW*&KVob2b?MR!IiKKj={m|LER+=idJ8-u}Wvd_ON{(*gjlhyfM=5XArs0Jt&+ zSOCEDV}Jz!FlKfg*8%{lF~9=U=YK)Ij5C@+bVeri_BpB4FRV{?BhlmOfznVWQZN%0 z_zl7*Nxn7OhZ-ql*S(O`*=PkXxIq4m5M7Y7?Vt6F0XMO*51dN?%_fx?D}9dE=FZh8 zlzgww%J&eHMbV7_wezYtQRrkVx$U5<%R`B~$sZ+|tKA^{Jz3Y?P78XXM4!X;p)Q&W zbVp&R{5-d-82_J+6iy~8PY8*$Rrx61PRa7NuhJgK8!FPrg}oiahuEBhQ80VOhBw%Y zox;m98_2p1ehK9v2LC(3pw;O)*(e0LcEFZTOIO~`5H2pjf2-_WX=YF+FQvHz!-uE> z_nxlwt&bCPgVKIriN^RDO;^}r=dnm+u8JGe0)-*>P5dBg=9lf-a2Mp`He@%p5s>g2 z4e+|ox1}z`Ijjdl+`&UsuZgKz0Kf}kfCT^`7f$LdApNvit!4To4;Bu4hk9nr)lLv* zL?F!a8+P$iDBgZ+}ryz|R z^=xKq!BS!V%2a1=)^2yKIiqU%1vqfh?RQ^U9Vg{>A!8-sx+$K!7W^~zE4c2uM%Y`= zBCQtoT3KvZJCC3$tft%=<5>W}wE~#lJ_`OHQ@x~X0=lSh0U4QhKMCv1yH~;iiz4D)$0B-FgQ62qCG%$v9!E9EOWA_<4H2t;@Pb?p^rZyWw=}7Mfo%quQr2qq+|fF3+!Qq8@T?(!NSQw-QsUZ~47_Zv+oRS56vO zO`WHV{S3I*z(d1@ZD~#sRlC23&r63BM6l#*gU+i zsYWy5rQq($miL*P@d(%t)r25tm3o6(wXVUb%k6PpS^&TeF~9=Oc3(s}ob4V|HJ*i2 zJk@X?R+>qU%qFX7A#Psc*YU~Vy6aV&V>B*TvWoYVz^e1>cLb6 z>#MN11biK{!Fw#1FDp|2KMFJIC!HK3mG!E}%2@x#&m&>og6~ ziJmDBz$)`GP{=wQweUQ;@%SmM$#qxGlvuriQBP@OgSsc`d0@D`M|}B(HJ4duYQ#-+ zG(W3)V(t%nHe1k9N*W>i-VocUQfmDrwzOpP<>ym~$7vJhNc*eWZCqguL6uGdSuvg) zO*BbQsm!iWwFrIArFJcnvlihtuuP&o3Z%96_zLZjPPPYT*xStgQtK{g@be7dzY{;1 zXp@R%{OmlkQ27)U_|TU%bemF{G#JcA$0&({HnZtUSGo_0hdHrEMkTO$IxBBlZf?(g zoAXlij?|o&WTIn1;KzM^kko6k&aTKr#{n{Z%skS)`T9JV*F^Q6#A}@$pQH}EE!hmz zdq?V8%E>NLbnc_5>hkm5(_A?e*Ieitz{Bn*0RwjoSZP(B4_1k)Pglk$Fb=7NBxU)BJS7+imCfiw`pt>>3cxwH#-QAfQ$4egm0AJPPK~r#=(YUdB z@8B(39JBFu{2Zo)%8{9(ciefR;wi+uRogctkp zV}zHu@OE*?ijo_Fg{Oi$JdP^!cH-5FMUA~yPmPN#0N`~ozyeOMok5-b5uTg;6@{C? z=EkYopDKjmX;5MHiUpkGiLAW_SdgtLD(S9;0f=I}41qfyTdqIUeXo)HoB;euXwq+w z1y}VMR#VaGJi2%8Z~kc*HWwb|SkM!c+MPq?#Cm#1XZT_IL$1E)<+QGrH)9`fokd3n z5~-1q)R_88JgCov%zjvJ3Qyvp8hSmfS`AqMz-=+W0N{e-Ensyy4r^|Vx!9H`o(+aQ9_!W@ z@TB0g3pBUeQ@k-UzO6>H@)$qzt1X;3v!mS>} z`9bSV7CcjuGo@hlJW3wEOu_Jcg0*);Z0Fojuh;A?6;v-E3bhozkc82Nyx?i;B0VZE zQPp3pVC_BP6WY#hu1xi;PtAP?uN2|EaS<#4;C(T`0s!7011tdG12Mn?06rK4ECAp` zF~9-<{xJqv0KkW1fCbJB!fE)|B2*AwXQ4s%9FXoKaXJfdnj>TD{#Kva)Uu9L>Mzu% zoq3gVRzbr{C^OoU+b6HAypf;jcLI$r1)8gH%GvUYRzd5_vJQK~Q z{lkwNfHR2rp)-LvLR%X&MU9x~6ny*#K;x#*{at-sHgBH3SNNU{6+Ak1hnEq!+)be_ zC+PEio_yhRc#oc|ggt#dF3Iy6NsMjHXpHSlv`}3AGhAgN4Ys)y#g*)vamgIq1lQ8x z3PUxx!l(OroGu7&1Rj1-Y8Yrg#$I(x=uzknWz)q zy7TM)2PwKEi9h2;f3ErmfONVN3E-t; zb*^&ND5DNrRPzzUrUbH+N=bdUmf-eO#QgcCVDlVQtR=S9tE9*EcVbO?BcE z8p9HjW`+lIl_hWi!w*U*uHeVL$bPGspbWrM>g* zGY8&wI_zUcs87W@*XqWs#{kw>4F_iGQa->FI6W?qYcspbom{RaH!g?OT!KN!EQjUs zSM!x)K3_TJyFsLDS>IH~a=p_8;da&E)#1C59Oqc0w{%KxZ}c7TXl*lmmqg0gm7_8E zG8s0$>R57)uY8iP&Lm&Gj<0vZS1)|^I=+JNr4WxIN?u%Zm4CaExBfmn%JfCgSCD?) znqnb(S2ye>s-qCS2Z$TdB{}GG9NZ5FeQ?m{Yo;~s$~jbh0&@^v3$qE7ZTPBOIV10s zG{`DE~Kk|MS@Kcztbo10d;nDZZ4Eh(ZmGwcUeCFu8k^YT*C`aUA^(r{sF5Osp ztxBu`&&_BF=i76;o;6ly*{h)>ii=e zPZ{+uNV}{}Nyu^0Su-J^OriMachngrrG^5DzRpGzH>7k6 zpzkJWupqqOJ>JPf416M{X8{18i~$w^@TnMJ0Vl^()H(eXIo281@Jr}=_CRqKmi4`R z!MtE4&7lCG@LHs)oBdJYeHPOX%!T8~ZC$3ndN`nplZuh}dv6+dmUqM@e;0XsSdXy# z|8lE-ICfy#YH~&^!I$=99KrLi@b}P?*y))WX4aIZB=EKX&$s3;(~qm0)ZxBLsKk|O zie{71*LV#-0!dZTzs40{0RW$l0Tx&^{TaP44Yu3U`uPa-mq9=LFgSwnL-zXte(j4e zA~J*RcowlF{AW+}3o#7~K=gqaU;*$a^{SVBxk+_yy@K%LAiDWcx}h5~T}Q!cp94oQ zrC&T}0Vpr7Y^8rVP~{4Bm6xhYSh^})%jRySjHXp%$I`WGpI3JK0ABkn!LgSFQ+jGk zs-DsHq-0B~!a-=ecGO4K!Rs#dPhBvdDX)%a+H4^*gq9ai?@-`tV-WrejAxSz{p6SK zEb;uC$(+7W@wvy1uyOtBM%cFV7u3OFm}OLmu1K%dg@ z5&-8*mGYuhYwFZvSYg#(GhxM5iBsU>QkiFbvPF7+N7bACvw+p-8tSFV7JZH?D=&y` z(e!W0f}nm$6*>KQ;$=(qL15bz??Q@1{+*6SE;HQn>;45(e;|%Uv8mtloX6Tb+_}pP z_X+%KO;Nm5J}ddVP(4rI=4#5xVwoO|-ZDar`s5QptvnV0@W&Wn0RT_N01Lp5WGLi$ zy<{=`GDQeq1~-}~f1Q^g{Hj3BJ2v7%)ivq&#N!W?d|~)qJqE*X^AJmai3wT&!2iSm z3jp|Q46p!zT`|A{I5?5Kp2O5BHAnkrk`sXR57>nV-6yq&gTqd${Ik2i*horBwYI`gX@9%IqBbgfIt zmlW;o=+CX?A|3EX_PN88R0m#TTEMsiz5I!16C4eJsY*~5&Q z=Q~S&)eSI_FP-R_$U7!FXEKql{Dfw4xwY%uII`8pbmj5EI0n2jFw9NztKO#uWAx`_ z$N~W7!~hFOUPh=e>GA2m(NaP9Bg!3wkMKJ~kFN}0K`m@os(MG*lx|Gw-QI*)nl}5G zSE}Yrk<>FmPjr{_oP!Kt)TQin5JO`!IrXp(a`Wt*@E^qdTR?bN&q)Q~sgE}wgZIXG zQ>xfBX0E&_*U*hD+|_kskJpXerW<=S7Pax^uR&B_kppPM%b7qMT^i7D;ZpY93@(2I zvZowe%HI8dIJTtToiC8I>V5haYFO2Nt7`gH{DiOOXMAY`Kx0&XURPPKA(l-Ur`N@} z-lQ~4I&K&X0La7u3#iQllQq^`ZO`|g)J*g2QUkZ3{xY@!I3sU+I1iv*Gw{i#C#4MC zvO8N&*_p*C=I!j_WK&)*)>QH7=(TVs?@wuYko7XA#dM?RaIDc@bEDhGt_T*hZ4-_c zPc}=5j`mtAFhgkLuLpzSE+SEh|HDH)tRpU_1ps7YfCZeaYwf>-vV^aLN!FNe;@#?z zwWPm_>Y+jS7d<<1v`CV!5?iPg7(UykYWTsOK#K^1mqnYKb(Pk~X<2YpW*o-XGqKLX z^+m;r`3_R-v~6WwCB8Kq{`lLXN|1{gwt)4`LHLtS;3mC{ZUjp+8b}lHm2zMZrg(GL zh1G?CD(X-Z4u*L>7KQ~LB2b74SO7p*46p!z?igT!OX6uxCkQyOvo^jSro{^!MQ0l@~4n%QD0B9O?#YzaELTzTg3{GtQYV*_&+ml?s>h)RC5< zbdJ8Df@Q-u^rJCE>&&!UgO;}+lL70zl6eK?T z1qlbR0DvVizybjFiUAg|e)w|Qfioe!=@sMIQKQLv%9x74lAxZ&H4Eqs3I$=A-{^MA zP$&&};Kd&L20>jqoZPKS=PpL^tQ4Md)=ur@)+}eP0bp=#FUs{|S}?cG^bEeBB*YZ*At*Jl4V;WjKJx zc#exURivd9W4(%z$qk-I_)vv=E9W5eS^Kp$HFgl@?C42tsmOp=GNH9Gmhkocc^%n; z@F0GxNAUv{LEQTDLav7*SDJ$cM=Qad5|TIbGv*^)#^@~qaXsB#dg{Ih7SK`!@n3x_ zphAbmbag~`^VZ!Fy^TjY+QD!1c7DPW`Q$sj0!nsY+mRym4&d7bGI+>@qr}IBdx3I1 z;0Wx&I~8OHQTYIF>{6RC2om~jTf22lhFI~C=sv=uF)$O|uU9ZI2rG<#q(ad)+k9rEz+th0wAVvhQYYWz&j$F;P^q6f9ffrqLGG(ZM=j(*SDrHHlmVv% zV}A{W9oy_Xxm(CNRv_eJKV{OIrUgz)hit2*d5$4EvZY}4LD?cD3g;-GamL=%eV6Lq zYNdLK32)%6S2jG6WNr~DmWBODk9OtE*&OM*!9eFkq!hxFMd{~K4{j@`l=Q@-V@uP9 zMfo*mtIq{F_Bl5gK5=#D@JYe&;oG);V=UlcD4^#7x`MC+og~nifDR9aPja9u1iBW` z`N8lN22#LzSNeL#Xm?;)_z1;!;@vKsg3j0D8^3d@K2+%g^LFQ=_N;l;fn>Lq#7@) z?&eAscAMRp8y`sP+=AU1-pTccZruQndywhMjiff#4{Ubz1(}>1V5eD{wE^}`5R1cZ zfUSHQVEY6%z!t0n=NAovKGs%;_GKkvlp%M}H01XC*G^8I@eViUmi~Jo<(X&YQN8Mn zUd*~(6uujtIbD?-&6z6b4p>+a!+C$w)L6xJr8{Zrn8X{gp`M!tUT1I2g~u*nkF?c! zeQfCKOO{Y`X(@@9y9QAGvnH6D->CmyrY zb?N1a1=In@5N;{K6hyBS@A^-AztuU?Tb0P4BV|=la`+zfn94o^qZ(GcN~Ns67ijoe zrKTqw3;`QfSU~dW&b;@Ut}=NJUqjmHedOvY_2;7Z6VNj1l%T3ze_Pkjn!Yx>eU5#p z;Wh5lFmuL%!SF^=HQObd*#`}5=AytTWTOv=1h-JQqYiGE;fQ~bn2GPX{xb*vq$qFW zFTq()%vq$C_B{P6$x{$oJ+jt@$_W^%EnMMv8w~~q!Z(UFChn>$1mX@}IfnXXL8+$o zaWz>0z#%cf0sxMV0TuwTDF#>oz%env0$9qofZVSfU_y+0vO_rn0k!v`Eg;k$YD4!L9#7V_GP7(99LTxjzK7mUXz6@!p9j7uU1YGw1 zi*P((@;&)JfVqoZXL$PZ-A8a{`S_HREZ>{R`Ttfj=B8?wnCHdm)+LL- zC{rIzxn`B@7?q3>kg3IV?bI2~$iaJosAZLV3?(rbe$oYH(JgpaP+bD3wuOXs-SMwL z&>f%Aqa*yBvd}Z0DfF7aSzrPOhX5j*u|Y{M>By#SanxSQSdX$LqW8r*{NuDt_<#ru zhF{jB7=Bfc>OU*u>&gkqtuaXp0N54-ECArl7+?VaXT<;u0604aSm2wIgKvP|jmO7X zD|wJNBrOQPNPv^y@1p0FIw~Ko56hBW!_G_m8i85hbU(HK1+rzMe}V6=oUew@Ff+ij z%4LWvt7p0BQzXenpXE273BRTEHU+h;(I?0`@v$KM3h;Hef;#P73B1^X+7awF*yT#k z;xko|)bfQs$g@6Na68xNa*pHyLHIS0v0(5?QjL$2T>I|We)nb;;TjwAdbl@2XCxd? zAh$JyJ6J==v3V>P(QgY6BM9FFnfi^hJ5lQL@4Iz^+v6$eV&v4<-aotAJA*BQPS(k& zG1k|}KZx1mL!bt4oWti(h0P%Z^2rYAQa}i8a6-m&r-)!U=Ph`xLmnIW>*9r~L*j(n+fa1MvCkc;ZS!d$_2^me5q-P_VL`2otGDIc33K6~xDbaWxG(R6eH4{6Hb+Dck$ z_~5l%re;yx58^j1m9EY4<>1}4#AqqXlkkQ4;e%IJeY*VcK5I{Lc!sCeZgSpDife|D zHjOf?SMo6-`ZV0+yvxCK_yZc#E;oCa0CyvGggXtQ^Jhv~>dfUmZHIV8_kxW_plO~G zxhpDPUBgGf*pb$~OBYeXQ?t=$K`y)HiyXMxDJ{xUnvpE!TAa(q`?Opg1XevO z3Jcc$&`cDz$^q`uc>7`jW>Wrq)4SrCQ}aIH<}$}h}PE2{&Cg&Oh_V(6%)^YpY_dB4$}R|g$FWA&l@?z)V>#M|oi zC?N$7UN5yl;EeTbElf@F1z&F$tRCU_?Daozk>|U4EC<^30V_56U6<;T^(?O``4!ua z?jr6n{@ws2{$mr1g)x>XrUR*~ecYKm$u;FB!;46D1CUibC$A&m3zdue+2o~3pl^W5 z(~`iNYn91ElfZpFFiZk{$DU+R)*$42$t1gX>cFDUtwO~d?d4(2H0!XX9`@M;Y`EJ4 z-w6(UXfKw#E@lErM<4Xl&Qh4~?T-9xfiD zce*I9Ja8&vxXVN4x9m9^UyiF?-+5q7{YU#_Pow3ET4p=N$y|3Hr*{0TTb(1ct-Cau zXQ^{ue)y8r1wz|~3tPKOeR)+1`z(QGppZsom{Y==`aSJP(?8Tb9>#nbNKDq3$zeiW<&Gv(7 zzU`vvWs%U(EvPI#TxT1!&fv~Q6qp3~hGExb9!xyH58;mM*Jn!U@X&D_nO zlN-F{ljL*P(pss5>M!BIhOoK#ijh@!>SMIlTyz$7G4!1jk}cSg4^IJc^dLO+l-4uI z`ZA$-S%o@xtzlI*zQnJ#Y>XSp-3vLMDR%8#OxCZEb^H_VVDi5~$&I}R$8zdRZrnAP zI`-Vgnib|fwFG`xe>j#e9IA+`In5As1&l2luid%wihOxlZbhVHU3vSpNnfM`V3zi) zWG!WEL^_B{QuR)}m({{>FAY64l(i1Vc-+<&8tX7ufg$_}b*7>Ev*Ka41rn1l##H1QOG-u^{py35bz!?)r>KDvvaumj-=uD?XB@KNdVH1FzynSl=059jD@18*J7x;p&3 zzKI5@BSo5jLAVRl^r)OLWx`%P@K`fo&yKLDCuh9uH5<<3IkzL+k4Kq$FY#0tx&j8Q z3t0dFy3PSC0N~0PU;!2ywRP0@#fp2gZf5Wxlus|)Ybor{kMmjpKqUrP06;YcSOCCP zF~9 z5PWb}%17Ye0lzj@*E_O9mD3Hd5Pw_X+mT&Vxx@gAaZ_Y~C6((8uvZZ3h@>5_-;oWk zREr_xVGlqgxQoY_+4oJ*9G1P9dX8$VFSt(6>bIz@fsg@nNzNKAF5%)@N$B$5CQ;I> zwTzIn*-KJO4|Z$x8bfGr!AOHfhuu|QN88Pg#?|oWs6^iZ>3B{_x^^ydFi3qDXqVB- zhZ7`zSOWw{YhG&Y5ssGntiEgOUr_D{ZoN!C(RnOf!@jMcctb0M>JuCmRo{ZYGoAKZg{ ztZ}4nM24rY_vBdrRkj|HyIw%3u`$-DJ?i#y>?V(qYLRD0P#sZ?y#Qofht902_74hH zuTphiXHX^367d8e#QsnobogtCTQS}}8ZO7H)QatT9lOS$;YCX5e=k(n#iHJBP$~_5 zECAp|F~9-ierV|Ns z^hstz;o)T1ndghCi24+>Jn7*Q8XIt2YBX}|ok8lwslMA#iTn$&#kbwtxKIA&z?M@^ z{I0ly$)l_5&Z270j(;F2zMFm$gvUca8*ws^R;ek0FRi}5ilx%1=a!Rp*#zT3xVf40 zbhi3Ml0;hsF67FLcuX%yew`1M<5Ej6jd>1I*ZI5UX)Xzi-78-rEgy%OOL*S9VpWuO z66J_e2FAx8yVE&AYUzm6IXcJI51zN0%{&Bd zRK0`6>i5x=4Cxz3KHMDi7;?J)w(_acKE#5!yN5nJj$HTXm5P-<8F{L_Y0H9zPd~&u zpetncxnK#;69X0Cb?gneBY}O)G+?#|@lxpROSzmZ=&sYcFb7lW>rn-?)gP$L+31Hn zxI>dK_z%lqaZN?j8!N=(%>^h2x0v#q>^!;&{+7*2gw@N~dJw z_mlkH1&vI2I@&h~ov3nrfsr!<55D9euccgiAY#4*HbqCaA@wnZ>^Y`qCy9^)%3teHoptjBGcBv6MZeHUhV5O?sF?wH^vkP zKNbG13H%yQ&P4CaA%CIcs~lctzv8C2i~r|%c~{>aGx>A&lZ}OJ(D)HmF8iNN(fv~; z;xpApfgyq{mf)Xm5~ZDDC5)vCZHKj&hHFSv9%`P^qIM-<#P1gkSQoo>UnB9I~I^RYVxP>~k!GZ+AzEytvx1jg@`8 z$w%J=vyEEAXTmXMVtJu(@CdPB$n7egQO8ikN)2%$><+Eumsu*ai(y7ND8_bNR=VoA z*ZjcyxvHiP|FG+4S{?YslkqxFRyHM7rd}JF2DjewQM6`Z7Nn~Q@*3o`JHvh9;Tf=7 zo==yE?xhG>>Q)5^Uxs+E`v_HD`7+%h%~q{csn|35Iw1DZLLa7VpMGT*@tv+g4x-GX z+0HvC;kG!s`zRcAup62hj((tOvqV642=ZgZp}1ywoVe%`*Q0D?UeECkH5^qm{&t#- zC9ZP-`|9Jt)OJLedt$Kh3OUO* z@&wfx{sflFo1HSmnfDKHjP4zPNcA-zOP+Q8OA9?WveLO zO*^^LjGyS4J-V*8)>ktqQFeJ%nOqcVLY2+!LQd%gr^MPUXCzF2M?ZywQCHB)OJekz zKh{)T6id(OXQUbn&lRIr1a@;~P4IM_ARYZ&DKy{~-1rXc%=1dg>NAiM28=MHJMp&j z^!I8i=bAowAq*`|_doFn{XhHO{NOy;MG}@_tG6biMdMFnA0W9$}0XV?Ins>Y`IHE5uxzK+Fs zhhiP%3X6vF6}OisyR*-?bg{6Lg~2XJJ)9jod>-9Tfej?^VkUj@9_&os%+jykb3ZWf_2UOIX{635sepY6{- zGD-4ubU6@rj(MHFXgWY+$QgbXy6ZkskFhauw@VcsgSsu3Do-M4dAr&GHTxl{8#m<1 zbymNPKEIZ8`sYKXt8|plH-v!6JY21jEf<%SE8jXgMqw5%frL*x%~*C$$}CoH-V`qy z>EL%UzoWNcpY-tiv;g!PZ^d+XW~|T9nI(&bsg?|_DH_hLp{4u@JItIF%y5#S4D*2iGbraUVca`LH&L-H+kQDcGmGzF*9i|UYn@~#voPg)37j)O{FMZS zgQ@OLou%-yRx;_L*}(p5qPUzY`VCL(sNBEE45g}qxpvTAfc@)vqTiCR`Zzz>ZqbN- zM>zUDKRut|c(08lHLVfO%=bY`;}-jNlMnHG4Y*7mEdb!PF~9<^Kr%L= zd&^ywUm@<*QxKSIS-^Wch45cO&P4NR^*g+Q9~Rcq;oYu;&g-KCbJ!yjzD;o5{beaR z&oPh*nXQzXVBC{#ush;(OEO%CG<+PyIUgnB19;bgrSQ!{#}{65yi&m}aSrw>Xpuj> zb2s!XQ<4XAzjbChV0Y~nO! zAPzrvEs&sOwG>p6?h?L1o(D?LM}G!i*Us)3VWw+miVrXvBkEsgXR2E`>6ziQO5G7| z*CP{Zv2E;AEz24X6F7#8E?xwc;r>3X|-f-_2WwNDF42d?Pb6e-TJ;vd*moysnHB(C7 z#X)(T{ku|njb=$Rvy$4m-IuBX_!p#i_19jGE@eURP9D+s8M**^g#*1g0eYnay(Iy< z*@5m#fNpW1wea{A2k~7KWO$qzb7-Vri zf%M|hg~XZ*i6a*hBQ7NRE+n$rA#)Ej%RPaWc!1-=65bhL?0|vq^{GeF&FbCfO{n-$ z)I<0omF66uXRf1w_Hj))g9MaK&CdXX<*mXp8*Ivc7V?46t9w_h1W|)u;+dIWX9i7U zhCsS2VegQ$9o9*hdSO1Zu2wv1 zhnXc9Z)0+NdymhVN`ib-JECHf)1+n`3otwAVM&W(nW& z?xD_a)Q`rwi88GAcP>d67{^yDnU_X(z@d zyOUAFgNz!UI+|HL>_$f4>19+FAt9qla6(26JWEDh-kCD`Z7-vi2N_kWq>Ls>BxE!R zPRQsCa4e(E$Qv@+3~$J&!I4qVOe-0+WXPyXwr4VGdGOwYK zPFl#Qe?9vw`Pi+DT3%$-(XI>EY}!vDqlO0=H9U1Rvv}BzjNa#ER6~@6j3&Ve z88z@M8FhJQ%IMF$j9MOKRH>3Onk12s(Ihw_qcgyGyMh!PI>iDS(*=#v!A)}Tb8MXZN?6c%!w=!yZkx@sxE?l!| zKZT4M9%R(;)X~i1VK*{*zn4*snG-Ua1Se$Fz_Vo3<((;`PkI@(Jjke0C1o^8A|azm za6(3BfMXeLM&6LoW_UwJ4UUX@W?IRpB|}DCvOSYg%d-bEYW3n#@2QL$Ze-N)Qx~$? za?(OZEk819`Rmzd$;WPG)bb*uj&@zRX48HO88tk}sNt!jnZ?6yWb|ELMm32`$Y>Ir zkWmBAl2Mm;ri|t~-HgfdAfrl^l+h%Kgp4M^2^pOMj%BnNc|%5<;SCuzI5O&)X(gkU z3>kIF_Dn`C&mPFA)r&{Hr!s1|kx|D_UC3t3NedaZ{K%-~uV%jLlfbXvZKcJ8bf1YZ=3eT4zS0C?f)bNKDjBDW|4fy*NRQ3-jVA(&|h`peW^FoE< z{1@rP)$YX#HrnNqWU@>3BHUATZm(+;p{8Jrak>G&zMgn{19(Fn_@V~z#dY9~4d6|6 z;7c07m)3zVYXDzf2fm^Kd}SSYa|3uw9e8U4_^LYa)eYcl>cH13#2SUxa+bww75-bn zP{0jt$@2*rJ_5KU5?dqL-8X>d3>;|i+NISugSuiNDNFcu0!kmw;Ad&mn!8Vr28lCi zPR!Ct(|3tk-!fjqdTpI6SMJ@FBcZ>2j>g*1Q_^4~@6)8=b36?i?B{u!G<=Q*jgc93 zRg~VU7u*`d775fA`bKK&SY9>;NLx=@ZvnSP^OW`ThNsQD&(YxhDQVpGv}yPpPlE=V zte<8Z_#97z#+#lt4WHv_&|u@n(=3P2(V+2nlchgAZQgy32JcTPOMiUYG<=SyLE}eH zn}*L3)5tb-pIh%<;?|m*HF7#umh@-o%h9-ByF7dO_37qJQp*}cH zgi0{mA{&!f2j6?vI=IWjNUp)4_-m~9+V=&<*KQrYp?hv_(&*x^MVabZGI17Hbyg31 zK&MHo?-`vYwZ5lxnl$^K(P>icMyGDeT^lW&U2n~8x_5K?4EgkpI%_n`o|dCY%kNn^ zn$-NB(rME4dq$^8)$b{tCT+iGbeh!tp3-U3_zR~&rft)p2 zfITZmlL^?<`f9QQdq$_p4D2bLCQGnqbec>7bdoySzUg2K^i8K(t+%!XmIqs4-+`Jl zwX_9EI(uphEDyF|#`mVDv;~$ATVVMT|2(27nw zThNkD8(YwdPCHv*d9VdD>#db7u=LmhOW&xombRc}IojBQR^@1C3tG}?V+&f*X=e*s z(rIH0TG44|3tG}?V+&f*X=e*s(rIH0TG44|3oOsyL(baRf>z~dXA4@^R~uWxDXi2AyEoeojoh@idr;ROWMW>xDXi2AyEoeojoh`6D ze-AlpV+&f9qn#~iSzm2zK`T1#Y(YypZEQg+I_+$M?NPuMXpcg(T5oL&EDyH8_BAwT zYH16SboSI1SRQP_jQtZ&X$veLw!rf3p)F`CQ$w${wFNEdw6O)P=(Mv1E$Ote1+D0` zvjvuiK034BTG;|ik1eqDjXG;-3tE<=jV)+Zj&`=7C7m|5pcS2VwxA`QHnyM@op!dM zC7m|5pcS2VwxA`QHnyM@op!ds^87vItc@*bRgQMHpk;lvu?4N@w6g^*>9ny0t?0C~ z1-2ImTcEu_&1${1EwDV;0^2{-oT;TPNYdF;TVQ#x1vB<3J*6$MeAoiZw}-Z%sZ0&M z*47rZq|?S0w4&3_7PO?(#ul`q)6N!H9{T9adTV71EIqcs(l_d?r7dV#jyATSRXN(( zf|hjJ*n(Dc+S!7ZblTX0R&?6gf|hjJ*n(Dc+S!7ZblTX0R&?6g0?YIFkh3E9*0#X%U<+)YUUR0FwjfDoPi=wa z!4}Ne5BQX}!17@WEZ-j5f~GPx^jce6(2`CYThNM5J6q6_P8(a$icULQV0q}HGwZFD zEwJ?10!!bhvzE4?WjWf|f>z~dXA4@=X=4jo(P?K3TGDA_3tG`>XA4@=X=4jo(P?K3 zTGDA_3tG`>XA3OP-$TyY*n(E&XlDyr)>j)_(27nwThNkD8(YwdPSO_O>SF}w8)KhJ zT*%hgUAS;jrIqNZXJ<7A6##w4w;Fgi%VNR zOWJa0I%lqY@Ha??p9j;gr_|w63RjjV?djW^UvF=E4KId{(urZU$?4EK)M&{SVmdsK z_(FDQWhT35?F#eFST0tcC-IEtBTnAc%N3NL1T+{F&Eq0o9rqzV`VaDF7rGevtiazz zY6JN3>08bR=7n*b+ibb?XAozw8EQgzDRb8+RL6V#O~dllIPoa1y>>3{>8yMO>gH*x zv+j{=h$wt~QU>SqVqR*$NxWt7`s71+;7oXY+pgMq=#|7Y-1}}<6+P59rwOKdl7pr< z>B$cEngsyd5d$pHaL}}#lHyY1P#$B8rfFuJyG_4ck9wNgJ-l+k#5)89m0n3Ci_Sxv z?*z5j_i>Hqd1~Ig_r)}p^vPr%K&d8Z(dizD({}kZ>WTH_Y7r%jlPhv3IlLR6BR9vM zbjaahr`BOjS%b01{#W_TUF-jjWafWKGEgbiM>$NA3gkl}aT97D7=9JZ@s}A@?@hw=84%bo!eQe^>QyL<6JqB6fCbp0`p&F zIH-%x0ZFHA{rUF@hrFgQDPrLhggY>w`k+gTm&55e|C_ z+tvFGJ9bGWvAA3Vd(MQ*L+jXcCT1R5$DVU2O_Ri9h(*))f^}@d9znDcOHA2tB6e@@a?DHQC7|a$9EaE6PEMdRAK#vv z(-ZJB65+EHmYqM1dOL!88{*0^^GM&*X(JR3d2EcL@rAkj<03h`xvWrHE*I1}^VC`3 z7FH@P>g1<#$O*BI8~+fERh37(?Gn)H2+g@&?V{Vc^b%CN$r0X0)5_GnTTwEu769;` z7+?Va?~MT#0PwyTU;zN{j{z2tOmLJibtGjochUZ4tss0oG|Pv%XVe21J*B-mqqzjS z@h|mEm>b1w;21-VQM=x{tJB@u@WY*j&T_Uh!ip3g&YJgUKh6lS9Qz&T8_EZ zpzCRIF|%k!^B_^;2Aq1y(;8eB#*a)7-lByFT44CPx8$Q+OdItS8G`TK*_*io5AVvK z3psdK2gA_5gS&28sq@y$xVoJR_&{6%7Jvuwau3g=jh9z|!<=N}^XV;wgYaf? z)dwmw1~K&2G1M;F(d}PvvedWoyLGVIPx}5$AGa!rkq(-eG24OZ=uV<@h7Iqn4!?07 z;VrdbaE7^yNuKZ2l?(nlM#~oAzOyj#36q2m#)Yr|rTS0|umFI6i~$w^@ZlI>0RSI~ z0Txg_I6q~ZtRCJ9qqkmm3&XrXcT5(uOpOG~-9Z<41@AX{Y=bs`j z?%(5|@6~fr_&)delzaTEkNk{#{hWJz!95;uk1x8%gL+Ja$}td^DM$@bremn<@YBGV z>MVz~;%d8WV;|#k`lG70=d0Ra=CeYg`HkGN;(59$Ul(e51(~wB>Q|I*=|K2-Jtsmj z6gZ;fQ~ow|M_uiRp=e))!Sf}<=bQ9EE{S-B=Bm~*ZVt2`c#ngh>Ht$h>_g2G2nW-| z1)3&?pb9ILBjkKziRw23`#ECP6e?+A;QujR8Tfx(&{vdjXD&b_?(ijNVO3Tzr39;g ztl9y)9GR!XsscJ*8;*&py>19_b*9&Jc$K2<&~77iwHMa5I9lY9M`N1{X3VGJX6riw z$}ig%G`(}X*>HOw`~7zvChMHur$hNVrW{ibsK`?B7698|{HGVDU+bw0V17fuUjQTiFM!?&&{OSQ zQm?&qh>gn5pTn&@aY_8GJmHVYKi(N%^RXX_<@Z2#q8RG4-E`L70g{?ASkb*YtP-U< z4^Itf?yH`0*fZm@r>q_CzcDXH=7O#)_CIt4I`k+WGVLH96k#$R|ndioQ<9gezO% zqkKs)^#w9VXK2aEMMotBk&73WaglqOAT>FKyYNi-deY?ZU1@L8i@3gx6yu~A{|^3m zJ9ZVHpiP`z-FY-FE{pd;#=R#oXG`(KlXG}$IJU7g&ol<}7V%|Upy z;;`x_o9+=lE_K3fargtNC0~uhU8!$8?CwmG?L3*{o}_vTUr$GR2p8&Z0U_i@hQd{P zWwC8VHu_K6u<{BTH3)UTgvOPXH}hI~e2^82->DNi6gGZxEiHLmP!8M zFJk_NBjDaNixtsIwJ)ihARp6UwbQf8&9IA*;8hZuLZ5lr_l32KFdc@8M|K+j-Yxo= zFZl@#iS68(dFyJOY}*)7Uke{ZwLQ7G(CMi zRzY>Z+`hSn*Q(F0Yau3FtL!dL@#sIH#ZwkQRRg!Mo)GkB@tDsTiHnb|v@AXL=3b>3 zE_qQ4@DRHVv^OZSmvKmct`|S@!Zh(|?l8^-48s4c3U_T(OszXPZljA+8{Y21Y6}i* zrcR|T>h&H^h|pD!g21=SMcmXu?+l{f3N}!aTzQo^zw!ZO*e*B;oGxT(v$E*K*e!lf zCwB~Ynos;7YZ)7w3FqsDU=X*aQq>R7P){tc!5k|s`<}>Zq3Ng5)alnc{iHe8jW3CH zRYz)j%W@1P%29p>3q6jSlaTQxm9ybA2nVpsLG(LHS9w_-!2NyM%7=DWlI9{Lt}Amo zb-&c;$?h&c@mamv@p*f?ym#F$4SELVH8?WzvgNWU^e^2&lw-~><^`4XDK43VkZp3(sFZ`w8&U5iQ_=faRuCot2m|L**qKT+4O zfmY{hQu|ylBFhIm-v9Z=)ZXViJ%|?&Z+FJTuG!0@c+ytAfma&gUnDU8CHey|UbT3A zwJ2eyd`xVu{C&3EgR@_1k=kGO5mz#1A7{&}Qy}x2(c@w|dIF+5+t6teJJ)_;s&kE_ zsrEbmMAv>?&Sk1B`jcxPjmwAON9%=XDf|;VHDwf&%IW92p4MfxPU-9FpLk*&xF-XL z)6TATFk!+~GJ_0L_xmN4pUhZ8()IgRJjS3gNZl;#XDQjh^2=jLo~7L1-G zT*A4!@xF6^Zib3)rzrNIUpt+~$#G4GNaW2V*nLG_t30C1f_l05ux=up{$~c8T2)Q$ z@A_vtb?^P|iit|)j%5gCrSBwk!%I~nvqkoe%E?N`bPxAZ;E#F%hNWC^Pcs^n8wc3} zXYaULQ!upqwp_GG=}yhr{4iRJq(`3sbx&!yGh+BrU`A;(N0%TU?XMJnBf?M3zn`3% zdn^Z##@D6DF`Ij7L)H&Zm7W{xn2gEZ8S0B}XtODOwQfhpw$IN-cF}S^n{iiQCk8!T z=}g}o8_^V_8|ir6JGrJiIdtL6hh3YUH+c_ID^qh9HZc#F7|xHz1z$Ml71a&;4A5FDljN{2sGsbJ=-F*6nb@U<9V0RUf*0Tux8e`0_I06Y`} zECApeF~9-D+}Y9%hiI&?^hNZB$j?xNVec zMg@r0sZ}iflzzwOb|#3F4)UoECKZF1c?_%96YR=mqu;T>!0RErj%#?#DErTKE3mVR zt1;@MNk87ZG_~Z#@i=&S>dM!-v4pc%X|q?{GeaMdEk#Q^hU=pW$F3OZDU~ok;)8Yc z?@s^5;SYfvdWbo*5@tAfze$`p329LgIhk~a`kyEE`?6W*Ic~;DCK6S-4u0O|3 zGxPZyY;?NvA$5?CQRTtZtEkQ??kHfm^J;#><&sr{UU#eBr7qK^F3kw)J{&Tpwo(VO zz^{q3yLzb48fQcVQ?C;;CgQp=wVo;LhuV-XAFG25Pq@K~+qlS-TiKepel6IhU(b(K z>Rzz~Z5PPkR;do{ta7+{aF9Cp{8;yOq`u6UeVb%-2wd*lyNch-YKK)$*a4@#S%*tw zRa0t($`7c?Y`9LNtESk!Nsfui@hBf$T?kTrX|Jia^C-Awz-y}SAaB(k9Y%q3+_kwV zE=sr$Nye&+#SYsW$g3)nDRnj7pNmbY6FK#eAnYZRT?g6Ix$bo|lYakvQi_oUvhy9Usf z7Ih3!{e{wMCXdGw>_L|t$J0>R_lsYHF1Knvb0&o}Q&fC6={NHn{~|i4u&am-i?7z? znwq@R1lCks4^eL_38OVpvER4zivBJ}ZZ@j(Z5FAy3N)1_>wbFacx426JaLq5clUgq z;3QIZ`B47uVqU9bB{9C`H z$Va&^85^BIO^muZc)Ud8b^7Aek>|wo*&y|%J6$-|t25F}#kh zyb&=CrfvrkOx?zBc#U+E1&gbFT5p>jlm*?XH!5Kd#oIs!N8;>#koTdrgO&e`d#)o? z&sZ6Q2Yd=6l z{K&6*o_1DEQk_A#&VCQ#H+oqXKrt*3)*x|T#rQ$ugi9D*LlS)~QLc3K0=>mi*EU5> zC8MruimD}}rkkR!PeyHTin<{g^`fSz7bl}`Y>K)`ZwwQENa1a`Z2@ixQ*A^)rd|}Q z7X}k?nTz3=uYyAoRdB?>@ciNV)s29{BNRUo7$g*gYq@RYNqrrqJehEl9v$Jaid;1P z8&OyqZ1>Np-^Tn{02UsP0Tux8yBJ^r_uXRzc^Q-)2#*BqIJ?3I3w@YTy``fsVd%nl z)3Oi>>7dp$r}B*6qH>Z~^XG$ko}+$xb)LBtTfEYt%}Ih#Nyiri)q6;-uZwr_%!a24 zk&AR7HMn7Yo3J7adPzq+^cF|GwJGXuA0^{;m8jZhlXxcdhq#~?pyW@)01L1;Ycu({ z-v0N%5zj4Rh^Bg`pk6$E+4x4BTBiE(iNiBUQ(hjhaC;6Rt*{u9DgAOo+9juHtdx^J z3T>S&JXslvL12M!FXpFaY{RpGkKG=GC&uv#%!qd*a3sN@pEDLD?X^SU)@)Y6=ee{& zBW3t3@TtKy@tCU|@C=49@26!OcTmkwbuLUT;1cOMr*VBK`Np&1Nhqi> z?Q+zors>mpo;o;I2*wIU-N7@$doVmdypqIvUcoaVvHzF7>wu4=xcck6)17pZY@f=> z1ta4kuT@-RdWVD_Is_XCp}EPn*1j{%LUN%cgcd?c=)Hy{Kmq|0AfcpD4Y*sDyWG36 z9WdYjy*IPBw^wb+PV)P#-|BYu?d7;H)% z;s6NSG=T#kY}W)1fUrXoH~_-GHGu;le4_~*Q00h5&w!i&pDnmua{xX*2&Tx_sie}g zzZt=m}3H~*218SJr844hT~@Uq0tc>r-udaGI%F=%yCGi{J5c? z+XO3~pq_@HBD#L8e5i`9eHUns<7~X|Qo_I-PMr1hm=ka&47`gxKt-c^xhx0S!b&p?s?gg##e$)C3NI z@SP@b00i`TL^wDALI+LY00=%!-~b3Yn!o`N{F=al5uG}C8ayDGXM=H1gO`H*{Y&=e zI|KO8pGY^&-u>o0J@=V|t9R`yWb7u&Urr;X=D`-`x6q~6yn#-gAoBErMoOPFCutkf zFSkl0wvlX&(+>mK!_Ybb<87{LZfy~nfp>HN+dPLb$J4Ag5}%9LBCh9@KACQwi$toc z#gmucDz3dw?c#d0a)h)1%17cJ%1YS0TjlIdN6r9yfHF>|C=P&-s|g&q)zjDfIi4sR z$_aS1Rx`gr{!L06?OTu@84&#yuBLDpK=y=?(+<=nVe>(XMY=D?SdV_wYnr&g5iU=#vj2%$M{O`RX;<=t#1KbnK8wMZwxoBWu%=5WP+bDg^hnVW_>O&mIkTYFgGd%* z*1TkC27YL2zE=LnxWZkw+Ti^Q@sr+{AoiFmiq+gobnua@UD+ z7d-57SMG}Ql4h?kRH(C8SPZugARH_%s_Gjm;_MaYdqVl4pq;6LP(gKGC@)kX%oYi= z)4^(B-at(cZ}^-*jVDkE&4(X& zs^iyu7%!|w$Xj+!fQ5s{$wwlMW@`WW)7<&EqS08k|5fZ|PrCPHAb17wLJdv{oRJRg z1qzJ%-5^5+{+a`G%}2pNO-XKHUU{zp_!&4LH?RESW51@?aof;Mw+)_fz#4`^u7Ko) zeC53cRfl~04?6+od*ej>)3On2S^%Yip$5D6Q?voahfc*Mf&&Ni!|%ldimRgj$Q)=E zafLe+H3W5{#U@lW`XkF?SC+J561nO!e`Iy+-nstB#@N*f{>Zl2)gk`K&e&Cd$!T?0 zKRdZaeCMM!@({_w2O@(NRk@hD;Kom_1fX{DnCUye`wk;*<%{P*C$YR|EqWf4cY3h? zfNb4fqY8-9pC@`D&}r-g1>$MC9KVfyDHy$oZ0U!^f`?PEr_tFkqG!{sBj{Rn4b8bI z4Rre88;I#M^Iv>renF?wI`eZnmj}&%(7DX~fKKMwXfw^fP_U;l1-9~c?7PbpYlV!pz0&6g?aMU>TQ zirR!(BVS`bVfYz}5;hl0%zFUgXK;^HJ`LC7(wtA0dNfLpQ54nbz0lK8gXg(Z#3AeV zG_btYg9uL{UL)O=d9CUKkGYf{HJ9PH@^UXd1S87ROnVl;(O2nNDF1`;P~|IV4Jbf) zd;)hJ>47rCrVOCSc<2y1*Wn=wBtAq@j-n{k%5VULqcwp8ARMC!901`UB3y_^D4;T; zvw+*j>i8T0;W$m;00s_oz-X5N=-g4DD?H=Nh!c`8=7a+v9Ipu+0O5O@zyT1xuL&Fg z;RH?K00<{)0tY}iNfS5#!huAf+)yAfHz(`(96>N0O2%E-~b3e&;$;E zfO;nHq(I_32kP4tNW6V0-KJ8d0F|n%;30q{03v`Catk2QRI>2`2-c{sR-S{zxzaXJ z{qb5gs7h2sr_)Um77lc4I)kn;eC9J=I~dp11?D^ytNN&Qn4u+lVm{8)sc`_wpQQ;L zfHi<5fvu)uAB937pP3L3@RWaYvN>bFxegrQyS~nOT2H`lc1Au5a?uM7LtnCux-!@N z7IAA}`J$}mnjfQDTLTcUxl3W5{gL{-$V7TV4ftd}rIXREzcw$PXB3Y#y3pM3G*1I* zk80SoSc~lRcR^y&HPFh|II7FY1C954;JlJ;23v3o<^pt0`0riwV(NRef-8zk^C&mr zJRJGvt`xf5q?D~6Ay#2k9~dbwK`0+iLO;gYYj&cpTOmw}=B2piz69c2hH%XnGH2AG zgSOxLElfMZJGrVe<_IvO8!YhThRyC^7}uDI3)U>hBfg#CQD8*+9mJF5zsMN;Jw2Z^ z%;<5ogvmFdKjHujj1vh0YXY*Z{qmB!<8hj3LFlifM11hPScCKfAwlE*6=+}`5RCI! zw`2a6O3dGce9+a0a!*~oA9uA%u3!lERW^AjK6>Dvfmm8M1U`Jz5rXxB);yJ=HIxtj znp9xuxA+a1>WvY=y#%UC>=3N1J?2V0*I0qPq4K?nu&049qE{lP(s-~!mz&{1xgPUX z#Hz+P_)ql4!3TM;Mh~OF14uOTP+&oSiQMbi>ct#@GaL=#exr$(VUE;mQ1@aa^?`U^ zQOUyPDBb84_%W$G^HH1~xHvIIu8OlmtT-|09xF~y1Eq{%ET2nDtzx{bLawY5gyG{v zF{CIXAEFjm=)EGxT(sA+M9VzcenyYOv<&!-_rT{U;?v8O5eSkO#$oq^>}jC>gEfqL zlMV*~%u-P2!8!+Yd=VZd@PR0>B5wn_B;-1PMMpmCYv3nR{0w#JxZjRzkJFI=?k74r z3M2?O19`R-*%=)jPB3kvWGcx2-~~GwOzms|853t-f5;adq2u9u;3gtrMe6?NYk99S z4j-<=11Am!I>(i zY7AV+hmNIjFeU@2m)B5>0>F9X2KAF~cY%Q{4H` zuhFe6>THgtD_RUuM}eHYaGiw(D?vJAB}=fRm=w<#+~e05W8#c`cfbL;Z!`>09MA=O z(iWp?=@=wD4V5Z}ElI_Bu^1$Fb}nogEDnZ?^ABAJywtlx`N}IY1czdHM$#-U7|UgO ztiGx!$oZ=ts{)Gm*cIhS#b#Gtk4i()it>U2> zxBTADJHvjv0csBBR%4{1t8rX?tTc{8mm9Z?{UAJ>aqf%@=RDsI&?<1Rr;9!dbod<@ zXo}+E)1VI8)cA>ujsi9YgZ4}O2N9+}1bL0znFwHEv7OF+-tyq!5^vd1--SI5SScvZzrz_wHY*vQ1w&?c*w=l09Bud$#;;ef8c4L zF^JC^Pi1?wTv6+ZT1mr{!O)Nt!HR%Xfke4K1GlRH90h`uuzEg9kNCVfVY4eyeT_r# z6x5p!cJt^rXdxPFK|q7&n71ZR%anpZ z?$F!cK#u^8DaQ-@d6=CSwyt6(9S?-nb2Jpq3#j{f)>fod8T3}(jFlSJHe8^m$mw5z zcoiV#z%sabwgPX+4n)Gs)*A<+#YSgk{+zEqqDB^BmJR4IJ(i> zYH#&;5qSr(>0@)T0wj;8_lxnOkS`pQyu+OxA;M_=GDO1rQ~eoN`Ks z;HoMQiZ#e$3V#WIC^{LhE{@2D4%zBU}v|BVyn;lwaEnkz|yMJ9@mKj)E-r z?G1RZb^f{GEyr9I`L*8lrBV0+%AWe49|31rGSROqnC&+9K##qdu*Vo-F zL`JI%B1Jz$QSoG6C7gS~V|97tMxyz+_;|30ntue4#FQs~D>KR!bRNwqcaK*uqldK3XG2d~d9vzib!u9bmx80#*f(S!5A0*j7}XKpq6 z{6^Hj$Czdu`ew}M>tf`2Jn|f=yntNfWnywN5-uxfJ^`Nb^&pE|y7KY=6?zQeg697D zfk>-;kL-+C0RYfpn8WH+UDpuNfY0lGcnSVWOO5>qYYq=K`cs{wejI7H350v}TN2hO zcstY?Rh#M)Jp$6vSkh5hexW%@69`KtTsZ2c0NAc>8@@s29j~qFa zvJ^x`YVLWG@>Wt@80|@ZY|!{rd%-YS^s(T|QAMGp6w%MMyC64Kl?yQ* z`vl3F`M{;vm&=tsmuo3BCu$fZJ;yA-%|_xgz(RXi9$xPWc&RGF0FZ;b=5@e>YIvxy zrc#!^30n+ufa-j0->s3 zD6hCvQ70i56m{NNidT0Jb*}0N;?0OrHk2b4Q*Y`PT*JRGx9J@HqCWJZpMX4tNKB`d z=2cDS>KJ_~#;p{CNK7{yDaLs^Mg_%yTWxR(k(h3xTU2HCB#r}B&~8e__}SV3??Jx_ zcO9(RQO!(oFpmL`JOs%Jb-bQ{giO<19W+^2G(;Bqk-_48^62_Ig$kfv3Rt~_0%~>x zYjsQ?Sdo1!hCsHtJ>hl%>fdX@rxN1LDvcH$7kdNNoglHmBZ90ru3Z5+BF=-Amw2ta zaGy1?r{Q7n#NLf0XC(P_{yCi?Zyxg5Gop|;6N?To6nhM@$+h%RoXd9($%n<7f}UVi zaX4DVEZpqKRog&&vjQxtwu!p~6nX$e0^;b$fM0)?NK@UJQSB87?fK1iKx zTRFxX5JJo?W86sZ&JVzVi77Pv{{lCz#{Z#rkeHSVYtdeKuo1RlSRfjRljuFjUE@nc zXkc;!@uA=#HikA5D2Od_=&l(+2}tyv{@x_v_aYG!=u|bGuLY(b2@G7Of>VgZbaM*D z_@RzrQVcje1*Z^+>E=|#X#9=5kWSW@D5ShOjC#Y;VLF<>`vF0GWlwZ}r zk2gqylt}ca&>W4AAmr)7JeCEUO~tNav^N+%{6vhOJZ3fU3J04pLhX;xJnqLG2OaK1 zzUc3FC@uO&W5ItgZ&K2g-JEVC@qjU>^P^;%dM)zoWmAWSKHfV;z`AjfqIh7wc>Jq^}jker+h8 ze3^jr4+{*#;;n&&IXg=SAzK}N;q%~Di(S^JPm3wL0T%2G(1gW4?B&2cTJj_fo3BE% zpj|N0g4N`yhr^Y5EaLDq9ge4ml?@}0?C?Ox{cuQn%e*j<6A9;-@aMyx0kr8BjM*04 z`hv92hTUQGn$#~OU6EsuFW^;_uUID$Bd!y5JCg5XWoYK&fdXgiQ|Om=si;F9>qb_J zq7N|?LvqxSg$o3Y+Y+^u*luVp4pkqvJ{ljAUW~mAmR`Hpn(usZLEtdVVHp9|2rv{- z2cRZbsrAY{KWDe;0$qFiBW0=IL}I$s@1Z(ICB@+SO{6CJ;rdO5Bc0NGK4;x2=l3BB&-! zsXvw9$)mPZfxU#5n2|XFb}_xt3Q-Gl^GtM3(8olbX7f7LJD^NuK}eV29|g$U`<;gK zkMUoJ|Eusn1^;B;z7PM8JkkZT~btg+GPDPJZ*xhjBA`U z%;_O&)fG+})G*P`glW7ZvW4LH{bf3Mn7@k-4)Ax?!QTFEI@rbET?Y&O`{^LETLk<` zXvtg%(`GItQoN!_2EF{PYU<;3GE6AyV9<-v{2*VT$I$#v2FCScnSIu!K4T$rHi_hw z`}!EZavkobM2jpLXtrq*$ZJ8Zs12VUDtjuj;-k-Wa z9`kv$bJjo-l_p6>Zdm9?1gpoykyP?LQCpCE0yS=(@ejG-4AtOV>5<0+VUvdG_NDoq z^U7!D;f3~1pXsGbJWkjggEM*^s5>+>S!2pL5o`Re4Jzfg}EFB zTPg8g;!5T`5tp+ktuqOxTVR(;zdx%|mj@&|!80 zZ#)Pa9(yA-ef}pPOEhMT8-yWmGG_D}2OS~fFse%5dr88CD-}-}aP`)7^fZtSP$p%o zI+URaE2So^6tC=ClSgJYGfX8?qRWK*9Iq!ClqXr1tKs9QE;)0!lr5QHf#mdYmw_xJ z>z*Hznr0F7R86kjt?B@w*Xf^*^czX{=;=6kK47k>1Wdq1ROYUerG;on7M;4FuWqP3 zyptBif)|_jmymW7r%e-loL2IbVJKxTN%>MVrKv@8nPuQ5-^XgsL4mzNhS5K8=ti39 zAeD^aQb5^#SPj6K%UUwG2#V369bgH{VcDaW(!qN!ubG=nxN~=q)Fw4fWE?mG|KGzu z^++bB`LCJ;9a9Eo%F4p{!v(r=!6jtb=)S&15$#os3u>^N*AqtV^d5yA@z@on4b*8S?7g9~|0dXE#&`v8PlT2mRQnAbSec zT?;%;BMgH%HKQ0Ebl_Qo6nQL+e}XkfQl;$ymJ~f;p+6qPI+y;a>19J3`GjoHx%|r7 zLJVsu=rNarOLPd?7NpgZJnXN0#fREzE~09KMe^o;oV-&xI+PgZ$aC06d;?)A&a`Gv z!Va~8Pzeu)=K)!C3E~novNRo`bn}VGALepU|34zo22f^L0n%0z{VvujH$MQ_0<8U< zTTOV(7wM^hHXLgVb20NK`%RE7_)WayM(~DMs18A}cqX1=7Rg^iSnN)&5>%o%QHiP> zY^V2Qr%obB=%^VxByz?-YKHj;T9b>W=#(OVzU)JhcggJ7XYKZDt2@(0M{DWN>;x46ku^~E{O z7sR$3q?vtKp_GF_{Jgq1wmwAO$u8lT_7^iUMl;_>qC79fDOZMasE)D^z!;|2 zklrm+o(+_O1tSGUdSqL#9_BS+rl3XQ7vl~uG&~T`k%wS#3Xzy@-heR$kH-pN!Q{~x z6bGdhu+ZEEb7lOr)M*o^a+Pt@_l)w(C4XySdO+%B0}CQi)JE=5hGB>037W!)|3_qw zzY*`Ej{ac8gxKbogXj^o0Xgiu!}VM8F#)fpg|ucZVsyp|0)hlRE*=GQ6fd(!`;$cK zk+}4@Q2l+V{=Y}(2bxm!WZ3Ag_9UUP9p=oW?QgZC6u9=9u(8lK8tjWJ z{a5o6NO8W@@Bmu?2yeY#)=#+ZlIfwd;Zeqqpudzh{>CLtLe^_YF&~p@ojtI6`U5a> z@MyUz&x7}{futZ8dKPXXY}3etHKF0hV2{q1s`F)ZzFe+L2SDi)p;SDd!j)d+lk_qD z+2$ll!sB(!MmADnI*A^*6`PynAP?$?Hu9^;m)K_46G(s~{M6@pW5gOqY z*^g+n0!L^BZlo7zJU9~?qja@nmwDbum*#za=9>VFoYbk_bO$dm(S&k%ISP1(j)n4h zi=z0=V=2eT`Jd<#vfy#}5uS=R(i5r1YkAuja~R@!B0sdRFQ9ALzU3kcmUlHr(>ZKj zMyH;g`@tvuDg?>t`&1&uc5A6aj##U60HQiZ6F30ESWVyn2;($?10d9E0tY~_G=T${ z#UKv|wpw~9fEeR-3=V)WK@&ItLPQfd076s~H~_*#P2d0s7#&DnH~_-cn!o`NuF(Vz zfN-rQZ~%nsG=T#kz!^gl3Cp?{Hn{7Nask=VhoX|3({NSj zv9896Hr1-b8TE+vuxUgvG6OH^c00^D9bjz@hOuiD5_}>QEJN?-ufQ0=E(pGlpe(!( z1-s(jt! z_#R{ob!rrzus)FR2nzoTVUKw!g0ve(-et(g9e~_tqDBR+f8cJ_$#TDJ2=-II+aMge3L@XblY#O|nJtOFK-Kw7R3m(eD2i80N)F&^x=BXLhL9H!CAv1$K8# zSrZa=mxo9q7G+RK@R+ITn^)5dpR9^|8>Vo=k!uLiP(Z!SWB!nsEta#&+DM2@RStLP zsHwn)G3JGcMHPd>7gHDw0p2;D9zIUa@^EpE|1@${)E^caDMLs(^7|=%@pUjWLh1JQTc6Q&cXVYbz&+MTWH?0p84_fEgk)C6ll~6n zeLIwJTZl3_9`v81Ou|8L^$}`I!r12qj(8X@Wh=lLe{BG(jOl9w0qb+Tr7Y}N`%YpDqkD=KQL%D3O+4$oiB8#M%`*qk)4rRY!c4mG zfEZJB3=V)WRTDUHHFkH#BU144xERNy&@F@;@6H(gg39h!lr~bBrc>Ym_1kgZ) zH);Y0K)6X0H~_-Un!o`-e?Kt@v3eS3Emo}C?*)GcaeFH(mmWrh>dE+W1D&t&m~?HT z&qGU(%)dfrs!#Qxj?!)GeO#JPAOw@x<3xZvToB&WPZ5bJC1xWYtv)!?gjyvemE_H6 zsVXCbM-Z9c5d;C_TuQD|pTQfoKQu27_a?L#^p+Cy17hQ7kNG67uxIu#G!lb*dZRN@ zcK9C9ES&tbg=&?BVE{g)(hKzvrX+dTYyAyRS5!vs$E&&Br7>Vn&`5gj)VOf~gu66> z10eid6F7iJ4H{no+22v7)hO>0kNF#1LPx8r$(t=yu5{fFtEU zI#T9w>W9FC{$xuD{_2r=8k9S>19NBsb1rfZ7dbzs-}!S$^7XO!IP)BF=sQWt;>>r% zc{D|wW=EXID9$N~{4Ah2i5zbAT>k{JzOxjcuj=lJZuY{v>PZkpXfdRIpYk7$w%~E| z?-D)(MQVPCFd_ez10Ue{l*W+*AUv%J901`NP2fPSyx&|%?BP2QCDBC)H4;xG63^<$ z901`tP2d0s&uan)KzKnDH~_+nn!o`Neys@{=oX!h{7lkvc(|tlwmct}LY_)`j_QD) z$DXjMhN3la^eUijpJpQ4=1GV#5#6p1jr0iidmMn<(Z$F>Fqc#5yEE{8#EC8e2?Ic% zP|+p(g3!~i6nlL=Wa>VuXALlspda!*JP4;~OjW7r2z);SH#`k6viM5OFOfp?v6%V( z4pqtSQb`=%u>Xl%w#dd@n4QlD3_zp+}D>v%{K^IA*r9KR$rq`Wz4sj=k;?+FqyY=I?X+_nVns%BOg=BhKaGm@#=(T`ITF=pZ2%wWBT_40 zd4>@2*%1)c9)G8*G&g~ywhf}O@Ft`N=RLH0jP(GxdHxx=RC>&R;RJU7fs^?%mNNwT zQ(XDnr7pk*<>$b@gH|(Gfk&u=lV`0&maRJwRP@M_0Q$Kc$D8+n`5F=-w-xbEL4Or1 zG=2wKSG_f-3sa1vdG3*NwUH3HQK!M~CMY~e2(Tmf%9A(Zi;kkbl? zz2`PCN1KNRs|rIoLgPz3uol$HT5se`yxBS#m4wG-mjH_gfd%GPuZFU$?wE5`KXm#_ zc6zZYn>|%(2J=3m=zw6W2sojcaE%I9djmA-;;$)Egc>aUzyrRpJmc+3o^u{=u6Y-7 z3w;>f35@9MffpW~SF7s{>g*>v>13br7x45jc#5tE%jkqOy#%4-3Aee39Nhrw6e2O5 zwvEJ$Pt$L7oOyN}A~9X!bZPpnjx*nmLnNk4oNi6O({Y;ZI7DK)#OdDjvW~OBjzc7- zOPncGH>nZri2^~RvKSGO>xNf|OglJm0QsbTSQ*ZbkUT=wQG&FXmpqcJWw`QJ{?i*d zX0R$VFFrjBV&no8BK!mpv`GJ1n*f5zg})gg?hv(rE(Pm!yhZHZjssa z29gOH2h+SKR#aB{{12FaKsCzO1xQ8UkEx!3wT(b6!*a+3{NGcU9f0(9@Oa7m8c%zo zm&4jbJ1esIY^UcNe@~br9@W7J&X2RqG!WU`ffz{M`UVe2R#E1xeo%Hn?GaYMEfp3<%~j=2w#Bs2CPO#BSpXUErMJ|imS=O z)u(crPbZPflj1SEd` z+IMW>4Ps&530{!NK;yyxarm#gIPx1ik}%Q%j8s&8KeAENs}79}t+Nw47D&Wxf^Ks! zZyq>3wh20h49J?-@*qhGb2iJ+5^^6iSH8&`<%r#*Lt14_h*(S6~6b^v! zt|o8*9tahPX;CGjJky2O;;OH2QKgIBBIQ8o{zWIl0TBMG2^@IB)9^M3vaiWtJQFQ}a>r}tph&T_96m{t2pIh7-F$fGkU>%a@D<{Mu!vaQ9YdUZkkDtBC+_#AauUMJ zA{Aq(8$=(mlMVkdfjo$qpgny`N=s$$o<9*YRuyFka}Y|WG9OkAh!}PwLeI?|fb=40 z-|BJ?@7o_4fyB*P#HeV7hdM=)%C1Hdx?XiLimPN=k>(CBN5XwXwi~F#`^E&E_^3Y8 zWA2Y6!-IN8ZgerS(E#q~lNh0aZcLFJAtB z{d2?zpko{gi}bGj^g3{a%}E<6=-0a*g`;o;plK~D0G_Lh1HAo>l}i^O=HblqqWar< zwqDbI#$>xEFKzUvlYjTiTnc0tB?1Yo#VPmZ0fk|# z1zwG3#Yn{K^wd}z?(M%vs~Out4WG^GuXEbfU$dX8MTK}-cyLFl9#!byQ8nT9jwUs+ zg~svfdwr-m#@QDe1AqyfdGn2_xA8Um|yG)7za>ZRdOTR;4l?f{-J+CG;yrOHzGM3Lr{Z7dv*f<1-W;O z4iE0_t1gL{<8%U``KYUj2{CG0Fj#`vfr!mfJPoAwtuxR7;PW317;5{-KZFy6gGXmX z$7ui>^6+5OSKY;ts-inn25A+NR(FEp0`n9&7H0~-x3;tFKWg?t!p983%30EZ(jRCr z&izFEVxZOk4z9TKrvfGBA$WqDJPPP0Z-lZV{|(Vq+a(PWnhG)YQ~I=zDf#r!pSPw4 z4FMUl2#O|nrpQSCAZ>e^LL{bh6D*M%=mlQ3?*K7GP+!fEwjOJhj9+uv4MCdF*Cw6y zv=W+3e;IqpSks_Ss!xj!!Mjki8i|d7`YvB1r5f1jKTz|5?j609ZCg@qDnY+|ICBMn zhJ{Ev3w(iohs+he#PwWQ-Uw3@<_amAU-}dJ0TgbE$~D>LVitp6QtpI0%I@)@cRhV`21x<&}>s~CKS1_UaKvW^j;-tZ^fMYv@_#ieaJAdw(~;Uy=Fg#PZfF{ z+75OJ)ReeSpb7rnjT0{up3YD+%-*OU<6-j*!V)6+DKKE6-g0gLNQXI zk)*!8wzyLNUc&H@LR!|LNVTx4SDtkk0tHxiDF!TY&6A5rfe%X>)#URG=j3yMhX?8r z@g))d2ODs<3xXZPIZD8QS*rO9@^Wv}XH=A-lAZo@z)SQ1urP&4OgGUrsX`|^d^`45 z^qA*U&S_Xd0j&ehP_=zJ9s=zL6bI;hq0!-hR=1EVKlv{jF9RcQ&14cSI4SuW=xK+1 zG3|5EFu%(Y%pW4%>cNpN7K°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�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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.xml new file mode 100644 index 0000000..721e0cc --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/Xamarin.iOS10/NLog.xml @@ -0,0 +1,21412 @@ + + + + NLog + + + +

+ Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Mapping between log levels and console output colors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Stack trace should be captured including source-level information such as line numbers. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + If set to true errors will be ignored during file processing. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format.s + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Should we capture the last write time of a file? + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Interface for the wrapper around System.Configuration.ConfigurationManager. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Supports mocking of SMTP Client code. + + + + + Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. + + + System.Net.Mail.MailMessage + MailMessage + A MailMessage that contains the message to send. + + + + Specifies how outgoing email messages will be handled. + + + + + Gets or sets the name or IP address of the host used for SMTP transactions. + + + + + Gets or sets the port used for SMTP transactions. + + + + + Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. + + + + + Gets or sets the credentials used to authenticate the sender. + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Supports mocking of SMTP Client code. + + + Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, + we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendToAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Sends messages over the network as UDP datagrams. + + + + + Initializes a new instance of the class. + + URL. Must start with udp://. + The address family. + + + + Creates the socket. + + The address family. + Type of the socket. + Type of the protocol. + Implementation of to use. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Sends the specified text as a UDP datagram. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Cleans string of any invalid XML chars found + + unclean string + string with only valid XML chars + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Used to render the application domain name. + + + + + Create a new renderer + + + + + Create a new renderer + + + + + Render the layout + + + + + + + Convert the formatting string + + + + + + + Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" + The first parameter is the , the second the second the + This string is used in + + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + cached + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Use base dir of current process. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets or sets a value indicating whether to render the source file name and line number. + + + + + + Gets or sets a value indicating whether to include source file path. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The call site source line number. Full callsite + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The environment variable. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the environment variable. + + + + + + Gets or sets the default value to be used when the environment variable is not set. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Thread identity information (name and authentication information). + + + + + Initializes a new instance of the class. + + + + + Renders the specified identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the separator to be used when concatenating + parts of identity information. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The machine name that the process is running on. + + + + + Initializes the layout renderer. + + + + + Renders the machine name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The directory where NLog.dll is located. + + + + + Initializes static members of the NLogDirLayoutRenderer class. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The information about the running process. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) + + + + + + Property of System.Diagnostics.Process to retrieve. + + + + + Base Priority. + + + + + Exit Code. + + + + + Exit Time. + + + + + Process Handle. + + + + + Handle Count. + + + + + Whether process has exited. + + + + + Process ID. + + + + + Machine name. + + + + + Handle of the main window. + + + + + Title of the main window. + + + + + Maximum Working Set. + + + + + Minimum Working Set. + + + + + Non-paged System Memory Size. + + + + + Non-paged System Memory Size (64-bit). + + + + + Paged Memory Size. + + + + + Paged Memory Size (64-bit).. + + + + + Paged System Memory Size. + + + + + Paged System Memory Size (64-bit). + + + + + Peak Paged Memory Size. + + + + + Peak Paged Memory Size (64-bit). + + + + + Peak Virtual Memory Size. + + + + + Peak Virtual Memory Size (64-bit).. + + + + + Peak Working Set Size. + + + + + Peak Working Set Size (64-bit). + + + + + Whether priority boost is enabled. + + + + + Priority Class. + + + + + Private Memory Size. + + + + + Private Memory Size (64-bit). + + + + + Privileged Processor Time. + + + + + Process Name. + + + + + Whether process is responding. + + + + + Session ID. + + + + + Process Start Time. + + + + + Total Processor Time. + + + + + User Processor Time. + + + + + Virtual Memory Size. + + + + + Virtual Memory Size (64-bit). + + + + + Working Set Size. + + + + + Working Set Size (64-bit). + + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + A renderer that puts into log a System.Diagnostics trace correlation id. + + + + + Renders the current trace activity ID. + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Thread Windows identity information (username). + + + + + Initializes a new instance of the class. + + + + + Renders the current thread windows identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether domain name should be included. + + + + + + Gets or sets a value indicating whether username should be included. + + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time + will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Colored console output color. + + + Note that this enumeration is defined to be binary compatible with + .NET 2.0 System.ConsoleColor + some additions + + + + + Black Color (#000000). + + + + + Dark blue Color (#000080). + + + + + Dark green Color (#008000). + + + + + Dark Cyan Color (#008080). + + + + + Dark Red Color (#800000). + + + + + Dark Magenta Color (#800080). + + + + + Dark Yellow Color (#808000). + + + + + Gray Color (#C0C0C0). + + + + + Dark Gray Color (#808080). + + + + + Blue Color (#0000FF). + + + + + Green Color (#00FF00). + + + + + Cyan Color (#00FFFF). + + + + + Red Color (#FF0000). + + + + + Magenta Color (#FF00FF). + + + + + Yellow Color (#FFFF00). + + + + + White Color (#FFFFFF). + + + + + Don't change the color. + + + + + The row-highlighting condition. + + + + + Initializes static members of the ConsoleRowHighlightingRule class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The condition. + Color of the foreground. + Color of the background. + + + + Checks whether the specified log event matches the condition (if any). + + + Log event. + + + A value of if the condition is not defined or + if it matches, otherwise. + + + + + Gets the default highlighting rule. Doesn't change the color. + + + + + Gets or sets the condition that must be met in order to set the specified foreground and background color. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Highlighting rule for Win32 colorful console. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text to be matched.. + Color of the foreground. + Color of the background. + + + + Get regex options. + + Default option to start with. + + + + + Get Expression for a . + + + + + + Replace regex result + + + + + + + Gets or sets the regular expression to be matched. You must specify either text or regex. + + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Gets or sets the text to be matched. You must specify either text or regex. + + + + + + Gets or sets a value indicating whether to match whole words only. + + + + + + Gets or sets a value indicating whether to ignore case when comparing texts. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. + + Access this property will compile the Regex. + + + + Represents a parameter to a Database target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the parameter. + The parameter layout. + + + + Gets or sets the database parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Gets or sets the database parameter size. + + + + + + Gets or sets the database parameter precision. + + + + + + Gets or sets the database parameter scale. + + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Action that should be taken if the message is greater than + the max message size allowed by the Event Log. + + + + + Truncate the message before writing to the Event Log. + + + + + Split the message and write multiple entries to the Event Log. + + + + + Discard of the message. It will not be written to the Event Log. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages by email using SMTP protocol. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ Mail target works best when used with BufferingWrapper target + which lets you send multiple log messages in single mail +

+

+ To set up the buffered mail target in the configuration file, + use the following syntax: +

+ +

+ To set up the buffered mail target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Renders an array logging events. + + Array of logging events. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Create mail and send with SMTP + + event printed in the body of the event + + + + Create buffer for body + + all events + first event for header + last event for footer + + + + + Set properties of + + last event for username/password + client to set properties on + Configure not at , as the properties could have layout renderers. + + + + Handle if it is a virtual directory. + + + + + + + Create key for grouping. Needed for multiple events in one mailmessage + + event for rendering layouts + string to group on + + + + Append rendered layout to the stringbuilder + + append to this + event for rendering + append if not null + + + + Create the mailmessage with the addresses, properties and body. + + + + + Render and add the addresses to + + Addresses appended to this list + layout with addresses, ; separated + event for rendering the + added a address? + + + + Gets or sets sender's email address (e.g. joe@domain.com). + + + + + + Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets a value indicating whether to add new lines between log entries. + + A value of true if new lines should be added; otherwise, false. + + + + + Gets or sets the mail subject. + + + + + + Gets or sets mail message body (repeated for each log message send in one mail). + + Alias for the Layout property. + + + + + Gets or sets encoding to be used for sending e-mail. + + + + + + Gets or sets a value indicating whether to send message as HTML instead of plain text. + + + + + + Gets or sets SMTP Server to be used for sending. + + + + + + Gets or sets SMTP Authentication mode. + + + + + + Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + . + + + + Gets or sets the port number that SMTP Server is listening on. + + + + + + Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. + + + + + + Specifies how outgoing email messages will be handled. + + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + + Gets or sets the priority used for sending mails. + + + + + Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. +
+ Only happens when is set to true. +
+ + + Gets or sets a value indicating the SMTP client timeout. + + Warning: zero is not infinit waiting + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + SMTP authentication modes. + + + + + No authentication. + + + + + Basic - username and password. + + + + + NTLM Authentication. + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Sends log messages through System.Diagnostics.Trace. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Writes the specified logging event to the facility. + If the log level is greater than or equal to it uses the + method, otherwise it uses + method. + + The logging event. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Logon provider. + + + + + Use the standard logon provider for the system. + + + The default security provider is negotiate, unless you pass NULL for the domain name and the user name + is not in UPN format. In this case, the default provider is NTLM. + NOTE: Windows 2000/NT: The default security provider is NTLM. + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Impersonation level. + + + + + Anonymous Level. + + + + + Identification Level. + + + + + Impersonation Level. + + + + + Delegation Level. + + + + + Logon type. + + + + + Interactive Logon. + + + This logon type is intended for users who will be interactively using the computer, such as a user being logged on + by a terminal server, remote shell, or similar process. + This logon type has the additional expense of caching logon information for disconnected operations; + therefore, it is inappropriate for some client/server applications, + such as a mail server. + + + + + Network Logon. + + + This logon type is intended for high performance servers to authenticate plaintext passwords. + The LogonUser function does not cache credentials for this logon type. + + + + + Batch Logon. + + + This logon type is intended for batch servers, where processes may be executing on behalf of a user without + their direct intervention. This type is also for higher performance servers that process many plaintext + authentication attempts at a time, such as mail or Web servers. + The LogonUser function does not cache credentials for this logon type. + + + + + Logon as a Service. + + + Indicates a service-type logon. The account provided must have the service privilege enabled. + + + + + Network Clear Text Logon. + + + This logon type preserves the name and password in the authentication package, which allows the server to make + connections to other network servers while impersonating the client. A server can accept plaintext credentials + from a client, call LogonUser, verify that the user can access the system across the network, and still + communicate with other servers. + NOTE: Windows NT: This value is not supported. + + + + + New Network Credentials. + + + This logon type allows the caller to clone its current token and specify new credentials for outbound connections. + The new logon session has the same local identifier but uses different credentials for other network connections. + NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. + NOTE: Windows NT: This value is not supported. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..b14fda3da777896acc547f8999c04cb992511868 GIT binary patch literal 588288 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

9857*9()88Xm{H$QjTkww4Z$6`qc$Fdk(hgB; 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 literal 0 HcmV?d00001 diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.xml b/MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.xml new file mode 100644 index 0000000..1875104 --- /dev/null +++ b/MTC_Adapter/packages/NLog.4.4.5/lib/net35/NLog.xml @@ -0,0 +1,24027 @@ + + + + NLog + + + +

+ Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + internal class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + internal class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + internal class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + internal class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + + + + Asynchronous continuation delegate - function invoked at the end of asynchronous + processing. + + Exception during asynchronous processing or null if no exception + was thrown. + + + + Helpers for asynchronous operations. + + + + + Iterates over all items in the given collection and runs the specified action + in sequence (each action executes only after the preceding one has completed without an error). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. + + The repeat count. + The asynchronous continuation to invoke at the end. + The action to invoke. + + + + Modifies the continuation by pre-pending given action to execute just before it. + + The async continuation. + The action to pre-pend. + Continuation which will execute the given action before forwarding to the actual continuation. + + + + Attaches a timeout to a continuation which will invoke the continuation when the specified + timeout has elapsed. + + The asynchronous continuation. + The timeout. + Wrapped continuation. + + + + Iterates over all items in the given collection and runs the specified action + in parallel (each action executes on a thread from thread pool). + + Type of each item. + The items to iterate. + The asynchronous continuation to invoke once all items + have been iterated. + The action to invoke for each item. + + + + Runs the specified asynchronous action synchronously (blocks until the continuation has + been invoked). + + The action. + + Using this method is not recommended because it will block the calling thread. + + + + + Wraps the continuation with a guard which will only make sure that the continuation function + is invoked only once. + + The asynchronous continuation. + Wrapped asynchronous continuation. + + + + Gets the combined exception from all exceptions in the list. + + The exceptions. + Combined exception or null if no exception was thrown. + + + + Asynchronous action. + + Continuation to be invoked at the end of action. + + + + Asynchronous action with one argument. + + Type of the argument. + Argument to the action. + Continuation to be invoked at the end of action. + + + + Represents the logging event with asynchronous continuation. + + + + + Initializes a new instance of the struct. + + The log event. + The continuation. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Implements the operator ==. + + The event info1. + The event info2. + The result of the operator. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + A value of 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 log event. + + + + + Gets the continuation. + + + + + NLog internal logger. + + Writes to file, console or custom textwriter (see ) + + + Don't use as that can lead to recursive calls - stackoverflows + + + + + Initializes static members of the InternalLogger class. + + + + + Set the config of the InternalLogger with defaults and config. + + + + + Logs the specified message without an at the specified level. + + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the specified level. + + Log level. + Log message. + + + + Logs the specified message without an at the specified level. + will be only called when logging is enabled for level . + + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + will be only called when logging is enabled for level . + + Exception to be logged. + Log level. + Function that returns the log message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message with an at the specified level. + + Exception to be logged. + Log level. + Log message. + + + + Write to internallogger. + + optional exception to be logged. + level + message + optional args for + + + + Determine if logging should be avoided because of exception type. + + The exception to check. + true if logging should be avoided; otherwise, false. + + + + Determine if logging is enabled. + + The for the log event. + true if logging is enabled; otherwise, false. + + + + Write internal messages to the . + + A message to write. + + Works when property set to true. + The is used in Debug and Relese configuration. + The works only in Debug configuration and this is reason why is replaced by . + in DEBUG + + + + + Logs the assembly version and file version of the given Assembly. + + The assembly to log. + + + + Logs the specified message without an at the Trace level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + Log message. + + + + Logs the specified message without an at the Trace level. + will be only called when logging is enabled for level Trace. + + Function that returns the log message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Trace level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Trace level. + will be only called when logging is enabled for level Trace. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Debug level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Debug level. + + Log message. + + + + Logs the specified message without an at the Debug level. + will be only called when logging is enabled for level Debug. + + Function that returns the log message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Debug level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Debug level. + will be only called when logging is enabled for level Debug. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Info level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Info level. + + Log message. + + + + Logs the specified message without an at the Info level. + will be only called when logging is enabled for level Info. + + Function that returns the log message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Info level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Info level. + will be only called when logging is enabled for level Info. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Warn level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Warn level. + + Log message. + + + + Logs the specified message without an at the Warn level. + will be only called when logging is enabled for level Warn. + + Function that returns the log message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Warn level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Warn level. + will be only called when logging is enabled for level Warn. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Error level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Error level. + + Log message. + + + + Logs the specified message without an at the Error level. + will be only called when logging is enabled for level Error. + + Function that returns the log message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Error level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Error level. + will be only called when logging is enabled for level Error. + + Exception to be logged. + Function that returns the log message. + + + + Logs the specified message without an at the Fatal level. + + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Fatal level. + + Log message. + + + + Logs the specified message without an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Function that returns the log message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Message which may include positional parameters. + Arguments to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + Message which may include positional parameters. + Argument {0} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + + + + Logs the specified message without an at the Trace level. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + Message which may include positional parameters. + Argument {0} to the message. + Argument {1} to the message. + Argument {2} to the message. + + + + Logs the specified message with an at the Fatal level. + + Exception to be logged. + Log message. + + + + Logs the specified message with an at the Fatal level. + will be only called when logging is enabled for level Fatal. + + Exception to be logged. + Function that returns the log message. + + + + Gets or sets the minimal internal log level. + + If set to , then messages of the levels , and will be written. + + + + Gets or sets a value indicating whether internal messages should be written to the console output stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the console error stream. + + Your application must be a console application. + + + + Gets or sets a value indicating whether internal messages should be written to the . + + + + + Gets or sets the file path of the internal log file. + + A value of value disables internal logging to a file. + + + + Gets or sets the text writer that will receive internal logs. + + + + + Gets or sets a value indicating whether timestamp should be included in internal log output. + + + + + Gets a value indicating whether internal log includes Trace messages. + + + + + Gets a value indicating whether internal log includes Debug messages. + + + + + Gets a value indicating whether internal log includes Info messages. + + + + + Gets a value indicating whether internal log includes Warn messages. + + + + + Gets a value indicating whether internal log includes Error messages. + + + + + Gets a value indicating whether internal log includes Fatal messages. + + + + + A cyclic buffer of object. + + + + + Initializes a new instance of the class. + + Buffer size. + Whether buffer should grow as it becomes full. + The maximum number of items that the buffer can grow to. + + + + Adds the specified log event to the buffer. + + Log event. + The number of items in the buffer. + + + + Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. + + Events in the buffer. + + + + Gets the number of items in the array. + + + + + Condition and expression. + + + + + Base class for representing nodes in condition expression trees. + + + + + Converts condition text to a condition expression tree. + + Condition text to be converted. + Condition expression tree. + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Initializes a new instance of the class. + + Left hand side of the AND expression. + Right hand side of the AND expression. + + + + Returns a string representation of this expression. + + A concatenated '(Left) and (Right)' string. + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the conjunction operator. + + + + Gets the left hand side of the AND expression. + + + + + Gets the right hand side of the AND expression. + + + + + Exception during evaluation of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition layout expression (represented by a string literal + with embedded ${}). + + + + + Initializes a new instance of the class. + + The layout. + + + + Returns a string representation of this expression. + + String literal in single quotes. + + + + Evaluates the expression by calculating the value + of the layout in the specified evaluation context. + + Evaluation context. + The value of the layout. + + + + Gets the layout. + + The layout. + + + + Condition level expression (represented by the level keyword). + + + + + Returns a string representation of the expression. + + The 'level' string. + + + + Evaluates to the current log level. + + Evaluation context. Ignored. + The object representing current log level. + + + + Condition literal expression (numeric, LogLevel.XXX, true or false). + + + + + Initializes a new instance of the class. + + Literal value. + + + + Returns a string representation of the expression. + + The literal value. + + + + Evaluates the expression. + + Evaluation context. + The literal value as passed in the constructor. + + + + Gets the literal value. + + The literal value. + + + + Condition logger name expression (represented by the logger keyword). + + + + + Returns a string representation of this expression. + + A logger string. + + + + Evaluates to the logger name. + + Evaluation context. + The logger name. + + + + Condition message expression (represented by the message keyword). + + + + + Returns a string representation of this expression. + + The 'message' string. + + + + Evaluates to the logger message. + + Evaluation context. + The logger message. + + + + Marks class as a log event Condition and assigns a name to it. + + + + + Attaches a simple name to an item (such as , + , , etc.). + + + + + Initializes a new instance of the class. + + The name of the item. + + + + Gets the name of the item. + + The name of the item. + + + + Initializes a new instance of the class. + + Condition method name. + + + + Condition method invocation expression (represented by method(p1,p2,p3) syntax). + + + + + Initializes a new instance of the class. + + Name of the condition method. + of the condition method. + The method parameters. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the method info. + + + + + Gets the method parameters. + + The method parameters. + + + + A bunch of utility methods (mostly predicates) which can be used in + condition expressions. Partially inspired by XPath 1.0. + + + + + Compares two values for equality. + + The first value. + The second value. + true when two objects are equal, false otherwise. + + + + Compares two strings for equality. + + The first string. + The second string. + Optional. If true, case is ignored; if false (default), case is significant. + true when two strings are equal, false otherwise. + + + + Gets or sets a value indicating whether the second string is a substring of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a substring of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a prefix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Gets or sets a value indicating whether the second string is a suffix of the first one. + + The first string. + The second string. + Optional. If true (default), case is ignored; if false, case is significant. + true when the second string is a prefix of the first string, false otherwise. + + + + Returns the length of a string. + + A string whose lengths is to be evaluated. + The length of the string. + + + + Marks the class as containing condition methods. + + + + + Condition not expression. + + + + + Initializes a new instance of the class. + + The expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Gets the expression to be negated. + + The expression. + + + + Condition or expression. + + + + + Initializes a new instance of the class. + + Left hand side of the OR expression. + Right hand side of the OR expression. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression by evaluating and recursively. + + Evaluation context. + The value of the alternative operator. + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Exception during parsing of condition expression. + + + + + 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 class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Condition parser. Turns a string representation of condition expression + into an expression tree. + + + + + Initializes a new instance of the class. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The expression to be parsed. + Instance of used to resolve references to condition methods and layout renderers. + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + Parses the specified condition string and turns it into + tree. + + The string reader. + Instance of used to resolve references to condition methods and layout renderers. + + The root of the expression syntax tree which can be used to get the value of the condition in a specified context. + + + + + Condition relational (==, !=, <, <=, + > or >=) expression. + + + + + Initializes a new instance of the class. + + The left expression. + The right expression. + The relational operator. + + + + Returns a string representation of the expression. + + + A that represents the condition expression. + + + + + Evaluates the expression. + + Evaluation context. + Expression result. + + + + Compares the specified values using specified relational operator. + + The first value. + The second value. + The relational operator. + Result of the given relational operator. + + + + Promote values to the type needed for the comparision, e.g. parse a string to int. + + + + + + + Promoto to type + + + + success? + + + + Try to promote both values. First try to promote to , + when failed, try to . + + + + + + Get the order for the type for comparision. + + + index, 0 to maxint. Lower is first + + + + Dictionary from type to index. Lower index should be tested first. + + + + + Build the dictionary needed for the order of the types. + + + + + + Get the string representing the current + + + + + + Gets the left expression. + + The left expression. + + + + Gets the right expression. + + The right expression. + + + + Gets the relational operator. + + The operator. + + + + Relational operators used in conditions. + + + + + Equality (==). + + + + + Inequality (!=). + + + + + Less than (<). + + + + + Greater than (>). + + + + + Less than or equal (<=). + + + + + Greater than or equal (>=). + + + + + Hand-written tokenizer for conditions. + + + + + Initializes a new instance of the class. + + The string reader. + + + + Asserts current token type and advances to the next token. + + Expected token type. + If token type doesn't match, an exception is thrown. + + + + Asserts that current token is a keyword and returns its value and advances to the next token. + + Keyword value. + + + + Gets or sets a value indicating whether current keyword is equal to the specified value. + + The keyword. + + A value of true if current keyword is equal to the specified value; otherwise, false. + + + + + Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. + + + A value of true if the tokenizer has reached the end of the token stream; otherwise, false. + + + + + Gets or sets a value indicating whether current token is a number. + + + A value of true if current token is a number; otherwise, false. + + + + + Gets or sets a value indicating whether the specified token is of specified type. + + The token type. + + A value of true if current token is of specified type; otherwise, false. + + + + + Gets the next token and sets and properties. + + + + + Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) + + current char + is match + + + + Try the logical tokens (and, or, not, equals) + + current char + is match + + + + Gets the token position. + + The token position. + + + + Gets the type of the token. + + The type of the token. + + + + Gets the token value. + + The token value. + + + + Gets the value of a string token. + + The string token value. + + + + Mapping between characters and token types for punctuations. + + + + + Initializes a new instance of the CharToTokenType struct. + + The character. + Type of the token. + + + + Token types for condition expressions. + + + + + Marks the class or a member as advanced. Advanced classes and members are hidden by + default in generated documentation. + + + + + Initializes a new instance of the class. + + + + + Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. + + + + + Used to mark configurable parameters which are arrays. + Specifies the mapping between XML elements and .NET types. + + + + + Initializes a new instance of the class. + + The type of the array item. + The XML element name that represents the item. + + + + Gets the .NET type of the array item. + + + + + Gets the XML element name. + + + + + An assembly is trying to load. + + + + + New event args + + + + + + The assembly that is trying to load. + + + + + NLog configuration section handler class for configuring NLog from App.config. + + + + + Creates a configuration section handler. + + Parent object. + Configuration context object. + Section XML node. + The created section handler object. + + + + Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. + + Type of the item. + Created object of the specified type. + + + + Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. + + Everything of an assembly could be loaded by + + + + + Initializes a new instance of the class. + + The assemblies to scan for named items. + + + + gets the factory + + not using due to backwardscomp. + + + + + Registers named items from the assembly. + + The assembly. + + + + Registers named items from the assembly. + + The assembly. + Item name prefix. + + + + Call Preload for NLogPackageLoader + + + Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) + This method will be called just before registering all items in the assembly. + + + + + + Call the Preload method for . The Preload method must be static. + + + + + + Clears the contents of all factories. + + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Builds the default configuration item factory. + + Default factory. + + + + Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll. + + + + + Called before the assembly will be loaded. + + + + + Gets or sets default singleton instance of . + + + This property implements lazy instantiation so that the is not built before + the internal logger is configured. + + + + + Gets or sets the creator delegate used to instantiate configuration objects. + + + By overriding this property, one can enable dependency injection or interception for created objects. + + + + + Gets the factory. + + The target factory. + + + + Gets the factory. + + The filter factory. + + + + Gets the factory. + + The layout renderer factory. + + + + Gets the factory. + + The layout factory. + + + + Gets the ambient property factory. + + The ambient property factory. + + + + Gets or sets the JSON serializer to use with . + + + + + Gets the time source factory. + + The time source factory. + + + + Gets the condition method factory. + + The condition method factory. + + + + Attribute used to mark the default parameters for layout renderers. + + + + + Initializes a new instance of the class. + + + + + Format of the excpetion output to the specific target. + + + + + Appends the Message of an Exception to the specified target. + + + + + Appends the type of an Exception to the specified target. + + + + + Appends the short type of an Exception to the specified target. + + + + + Appends the result of calling ToString() on an Exception to the specified target. + + + + + Appends the method name from Exception's stack trace to the specified target. + + + + + Appends the stack trace from an Exception to the specified target. + + + + + Appends the contents of an Exception's Data property to the specified target. + + + + + Factory for class-based items. + + The base type of each item. + The type of the attribute used to annotate items. + + + + Represents a factory of named items (such as targets, layouts, layout renderers, etc.). + + Base type for each item instance. + Item definition type (typically or ). + + + + Registers new item definition. + + Name of the item. + Item definition. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Creates item instance. + + Name of the item. + Newly created item instance. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). + + + + + Scans the assembly. + + The types to scan. + The prefix. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Registers the item based on a type name. + + Name of the item. + Name of the type. + + + + Clears the contents of the factory. + + + + + Registers a single type definition. + + The item name. + The type of the item. + + + + Tries to get registered item definition. + + Name of the item. + Reference to a variable which will store the item definition. + Item definition. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Creates an item instance. + + The name of the item. + Created item. + + + + Factory specialized for s. + + + + + Clear all func layouts + + + + + Register a layout renderer with a callback function. + + Name of the layoutrenderer, without ${}. + the renderer that renders the value. + + + + Tries to create an item instance. + + Name of the item. + The result. + True if instance was created successfully, false otherwise. + + + + Implemented by objects which support installation and uninstallation. + + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Provides context for install/uninstall operations. + + + + + Mapping between log levels and console output colors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log output. + + + + Logs the specified trace message. + + The message. + The arguments. + + + + Logs the specified debug message. + + The message. + The arguments. + + + + Logs the specified informational message. + + The message. + The arguments. + + + + Logs the specified warning message. + + The message. + The arguments. + + + + Logs the specified error message. + + The message. + The arguments. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Creates the log event which can be used to render layouts during installation/uninstallations. + + Log event info object. + + + + Gets or sets the installation log level. + + + + + Gets or sets a value indicating whether to ignore failures during installation. + + + + + Gets the installation parameters. + + + + + Gets or sets the log output. + + + + + Keeps logging configuration and provides simple API + to modify it. + + This class is thread-safe..ToList() is used for that purpose. + + + + Variables defined in xml or in API. name is case case insensitive. + + + + + Initializes a new instance of the class. + + + + + Compare objects based on their name. + + This property is use to cache the comparer object. + + + + Registers the specified target object. The name of the target is read from . + + + The target object with a non + + when is + + + + Registers the specified target object under a given name. + + + Name of the target. + + + The target object. + + when is + when is + + + + Finds the target with the specified name. + + + The name of the target to be found. + + + Found target or when the target is not found. + + + + + Finds the target with the specified name and specified type. + + + The name of the target to be found. + + Type of the target + + Found target or when the target is not found of not of type + + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule with min- and maxLevel. + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for one loglevel. + + log level needed to trigger this rule. + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Name of the target to be written when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Add a rule for alle loglevels. + + Target to be written to when the rule matches. + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + + + + Called by LogManager when one of the log configuration files changes. + + + A new instance of that represents the updated configuration. + + + + + Removes the specified named target. + + + Name of the target. + + + + + Installs target-specific objects on current system. + + The installation context. + + Installation typically runs with administrative permissions. + + + + + Uninstalls target-specific objects from current system. + + The installation context. + + Uninstallation typically runs with administrative permissions. + + + + + Closes all targets and releases any unmanaged resources. + + + + + Log to the internal (NLog) logger the information about the and associated with this instance. + + + The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is + recorded. + + + + + Flushes any pending log messages on all appenders. + + The asynchronous continuation. + + + + Validates the configuration. + + + + + Copies all variables from provided dictionary into current configuration variables. + + Master variables dictionary + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete on NLog 4.1 and it may be removed in a future release. + + + + Gets the variables defined in the configuration. + + + + + Gets a collection of named targets specified in the configuration. + + + A list of named targets. + + + Unnamed targets (such as those wrapped by other targets) are not returned. + + + + + Gets the collection of file names which should be watched for changes by NLog. + + + + + Gets the collection of logging rules. + + + + + Gets or sets the default culture info to use as . + + + Specific culture info or null to use + + + + + Gets all targets. + + + + + Defines methods to support the comparison of objects for equality based on their name. + + + + + Arguments for events. + + + + + Initializes a new instance of the class. + + The old configuration. + The new configuration. + + + + Gets the old configuration. + + The old configuration. + + + + Gets the new configuration. + + The new configuration. + + + + Arguments for . + + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + + + + Initializes a new instance of the class. + + Whether configuration reload has succeeded. + The exception during configuration reload. + + + + Gets a value indicating whether configuration reload has succeeded. + + A value of true if succeeded; otherwise, false. + + + + Gets the exception which occurred during configuration reload. + + The exception. + + + + Represents a logging rule. An equivalent of <logger /> configuration element. + + + + + Create an empty . + + + + + Create a new with a and which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a new with a which writes to . + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Minimum log level needed to trigger this rule. + Target to be written to when the rule matches. + + + + Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging. + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. + Target to be written to when the rule matches. + + + + Enables logging for a particular level. + + Level to be enabled. + + + + Enables logging for a particular levels between (included) and . + + Minimum log level needed to trigger this rule. + Maximum log level needed to trigger this rule. + + + + Disables logging for a particular level. + + Level to be disabled. + + + + Returns a string representation of . Used for debugging. + + + A that represents the current . + + + + + Checks whether te particular log level is enabled for this rule. + + Level to be checked. + A value of when the log level is enabled, otherwise. + + + + Checks whether given name matches the logger name pattern. + + String to be matched. + A value of when the name matches, otherwise. + + + + Gets a collection of targets that should be written to when this rule matches. + + + + + Gets a collection of child rules to be evaluated when this rule matches. + + + + + Gets a collection of filters to be checked before writing to targets. + + + + + Gets or sets a value indicating whether to quit processing any further rule when this one matches. + + + + + Gets or sets logger name pattern. + + + Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. + + + + + Gets the collection of log levels enabled by this rule. + + + + + Factory for locating methods. + + The type of the class marker attribute. + The type of the method marker attribute. + + + + Scans the assembly for classes marked with + and methods marked with and adds them + to the factory. + + The types to scan. + The prefix to use for names. + + + + Registers the type. + + The type to register. + The item name prefix. + + + + Clears contents of the factory. + + + + + Registers the definition of a single method. + + The method name. + The method info. + + + + Tries to retrieve method by name. + + The method name. + The result. + A value of true if the method was found, false otherwise. + + + + Retrieves method by name. + + Method name. + MethodInfo object. + + + + Tries to get method definition. + + The method . + The result. + A value of true if the method was found, false otherwise. + + + + Gets a collection of all registered items in the factory. + + + Sequence of key/value pairs where each key represents the name + of the item and value is the of + the item. + + + + + Indicates NLog should not scan this property during configuration. + + + + + Initializes a new instance of the class. + + + + + Marks the object as configuration item for NLog. + + + + + Initializes a new instance of the class. + + + + + Represents simple XML element with case-insensitive attribute semantics. + + + + + Initializes a new instance of the class. + + The input URI. + + + + Initializes a new instance of the class. + + The reader to initialize element from. + + + + Prevents a default instance of the class from being created. + + + + + Last error occured during configuration read + + + + + Returns children elements with the specified element name. + + Name of the element. + Children elements with the specified element name. + + + + Gets the required attribute. + + Name of the attribute. + Attribute value. + Throws if the attribute is not specified. + + + + Gets the optional boolean attribute value. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional boolean attribute value. If whitespace, then returning null. + + Name of the attribute. + Default value to return if the attribute is not found. + Boolean attribute value or default. + + + + Gets the optional attribute value. + + Name of the attribute. + The default value. + Value of the attribute or default value. + + + + Asserts that the name of the element is among specified element names. + + The allowed names. + + + + Returns all parsing errors from current and all child elements. + + + + + Gets the element name. + + + + + Gets the dictionary of attribute values. + + + + + Gets the collection of child elements. + + + + + Gets the value of the element. + + + + + Attribute used to mark the required parameters for targets, + layout targets and filters. + + + + + Provides simple programmatic configuration API used for trivial logging cases. + + Warning, these methods will overwrite the current config. + + + + + Configures NLog for console logging so that all messages above and including + the level are output to the console. + + + + + Configures NLog for console logging so that all messages above and including + the specified level are output to the console. + + The minimal logging level. + + + + Configures NLog for to log to the specified target so that all messages + above and including the level are output. + + The target to log all messages to. + + + + Configures NLog for to log to the specified target so that all messages + above and including the specified level are output. + + The target to log all messages to. + The minimal logging level. + + + + Configures NLog for file logging so that all messages above and including + the level are written to the specified file. + + Log file name. + + + + Configures NLog for file logging so that all messages above and including + the specified level are written to the specified file. + + Log file name. + The minimal logging level. + + + + Value indicating how stack trace should be captured when processing the log event. + + + + + Stack trace should not be captured. + + + + + Stack trace should be captured without source-level information. + + + + + Stack trace should be captured including source-level information such as line numbers. + + + + + Capture maximum amount of the stack trace information supported on the platform. + + + + + Marks the layout or layout renderer as thread independent - it producing correct results + regardless of the thread it's running on. + + Without this attribute everything is rendered on the main thread. + + + If this attribute is set on a layout, it could be rendered on the another thread. + This could be more efficient as it's skipped when not needed. + + If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. + + See the AsyncTargetWrapper and BufferTargetWrapper with the , using + + Apply this attribute when: + - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, + - The result should not be precalculated, for example the target sends some extra context information. + + + + + A class for configuring NLog through an XML configuration file + (App.config style or App.nlog style). + + Parsing of the XML file is also implemented in this class. + + + - This class is thread-safe..ToList() is used for that purpose. + - Update TemplateXSD.xml for changes outside targets + + + + + Initializes a new instance of the class. + + Configuration file to be read. + + + + Initializes a new instance of the class. + + Configuration file to be read. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + Configuration file to be read. + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Create XML reader for (xml config) file. + + filepath + reader or null if filename is empty. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Initializes a new instance of the class. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + The to which to apply any applicable configuration values. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + + + + Initializes a new instance of the class. + + The XML element. + Name of the XML file. + If set to true errors will be ignored during file processing. + + + + Re-reads the original configuration file and returns the new object. + + The new object. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Remove all spaces, also in between text. + + text + text without spaces + Tabs and other whitespace is not removed! + + + + Remove the namespace (before :) + + + x:a, will be a + + + + + + + Initializes the configuration. + + containing the configuration section. + Name of the file that contains the element (to be used as a base for including other files). + Ignore any errors during configuration. + + + + Checks whether any error during XML configuration parsing has occured. + If there are any and ThrowConfigExceptions or ThrowExceptions + setting is enabled - throws NLogConfigurationException, otherwise + just write an internal log at Warn level. + + Root NLog configuration xml element + + + + Checks whether unused targets exist. If found any, just write an internal log at Warn level. + If initializing not started or failed, then checking process will be canceled + + + + + Add a file with configuration. Check if not already included. + + + + + + + Parse the root + + + path to config file. + The default value for the autoReload option. + + + + Parse {configuration} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {NLog} xml element. + + + path to config file. + The default value for the autoReload option. + + + + Parse {Rules} xml element + + + Rules are added to this parameter. + + + + Parse {Logger} xml element + + + Rules are added to this parameter. + + + + Include (multiple) files by filemask, e.g. *.nlog + + base directory in case if is relative + relative or absolute fileMask + + + + + Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. + + Use for that: + + + + + + + Gets the default object by parsing + the application configuration file (app.exe.config). + + + + + Did the Succeeded? true= success, false= error, null = initialize not started yet. + + + + + Gets or sets a value indicating whether all of the configuration files + should be watched for changes and reloaded automatically when changed. + + + + + Gets the collection of file names which should be watched for changes by NLog. + This is the list of configuration files processed. + If the autoReload attribute is not set it returns empty collection. + + + + + Matches when the specified condition is met. + + + Conditions are expressed using a simple language + described
here. + + + + + An abstract filter class. Provides a way to eliminate log messages + based on properties other than logger name and log level. + + + + + Initializes a new instance of the class. + + + + + Gets the result of evaluating filter against given log event. + + The log event. + Filter result. + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the action to be taken when filter matches. + + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the condition expression. + + + + + + Marks class as a layout renderer and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the filter. + + + + Filter result. + + + + + The filter doesn't want to decide whether to log or discard the message. + + + + + The message should be logged. + + + + + The message should not be logged. + + + + + The message should be logged and processing should be finished. + + + + + The message should not be logged and processing should be finished. + + + + + A base class for filters that are based on comparing a value to a layout. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the layout to be used to filter log messages. + + The layout. + + + + + Matches when the calculated layout contains the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets the substring to be matched. + + + + + + Matches when the calculated layout is equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Gets or sets a string to compare the layout to. + + + + + + Matches when the calculated layout does NOT contain the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets the substring to be matched. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + Matches when the calculated layout is NOT equal to the specified substring. + This filter is deprecated in favor of <when /> which is based on conditions. + + + + + Initializes a new instance of the class. + + + + + Checks whether log event should be logged or not. + + Log event. + + - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+ + + Gets or sets a string to compare the layout to. + + + + + + Gets or sets a value indicating whether to ignore case when comparing strings. + + + + + + A fluent class to build log events for NLog. + + + + + Initializes a new instance of the class. + + The to send the log event. + + + + Initializes a new instance of the class. + + The to send the log event. + The for the log event. + + + + Sets the information of the logging event. + + The exception information of the logging event. + current for chaining calls. + + + + Sets the level of the logging event. + + The level of the logging event. + current for chaining calls. + + + + Sets the logger name of the logging event. + + The logger name of the logging event. + current for chaining calls. + + + + Sets the log message on the logging event. + + The log message for the logging event. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + The first object to format. + The second object to format. + The third object to format. + The fourth object to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets the log message and parameters for formatting on the logging event. + + An object that supplies culture-specific formatting information. + A composite format string. + An object array that contains zero or more objects to format. + current for chaining calls. + + + + Sets a per-event context property on the logging event. + + The name of the context property. + The value of the context property. + current for chaining calls. + + + + Sets multiple per-event context properties on the logging event. + + The properties to set. + current for chaining calls. + + + + Sets the timestamp of the logging event. + + The timestamp of the logging event. + current for chaining calls. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + current for chaining calls. + + + + Writes the log event to the underlying logger. + + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Writes the log event to the underlying logger. + + If condition is true, write log event; otherwise ignore event. + + + + Gets the created by the builder. + + + + + Extension methods for NLog . + + + + + Starts building a log event with the specified . + + The logger to write the log event to. + The log level. + current for chaining calls. + + + + Starts building a log event at the Trace level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Debug level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Info level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Warn level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Error level. + + The logger to write the log event to. + current for chaining calls. + + + + Starts building a log event at the Fatal level. + + The logger to write the log event to. + current for chaining calls. + + + + Global Diagnostics Context - used for log4net compatibility. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Global Diagnostics Context - a dictionary structure to hold per-application-instance values. + + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Sets the Global Diagnostics Context item to the specified value. + + Item name. + Item value. + + + + Gets the Global Diagnostics Context named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context item. + + Item name. + to use when converting the item's value to a string. + The value of as a string, if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the Global Diagnostics Context named item. + + Item name. + The item value, if defined; otherwise null. + + + + Returns all item names + + A collection of the names of all items in the Global Diagnostics Context. + + + + Checks whether the specified item exists in the Global Diagnostics Context. + + Item name. + A boolean indicating whether the specified item exists in current thread GDC. + + + + Removes the specified item from the Global Diagnostics Context. + + Item name. + + + + Clears the content of the GDC. + + + + + Provides logging interface and utility functions. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Logger with only generic methods (passing 'LogLevel' to methods) and core properties. + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. + + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format.s + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Allocates new builder and appends to the provided target builder on dispose + + + + + Access the new builder allocated + + + + + Keeps track of pending operation count, and can notify when pending operation count reaches zero + + + + + Mark operation has started + + + + + Mark operation has completed + + Exception coming from the completed operation [optional] + + + + Registers an AsyncContinuation to be called when all pending operations have completed + + Invoked on completion + AsyncContinuation operation + + + + Clear o + + + + + Internal configuration manager used to read .NET configuration files. + Just a wrapper around the BCL ConfigurationManager, but used to enable + unit testing. + + + + + Interface for the wrapper around System.Configuration.ConfigurationManager. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Gets the wrapper around ConfigurationManager.AppSettings. + + + + + Provides untyped IDictionary interface on top of generic IDictionary. + + The type of the key. + The type of the value. + + + + Initializes a new instance of the DictionaryAdapter class. + + The implementation. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Removes all elements from the object. + + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + True if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an object containing the values in the object. + + + + An object containing the values in the object. + + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + + true if access to the is synchronized (thread safe); 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 . + + + + + Gets a value indicating whether the object has a fixed size. + + + true if the object has a fixed size; otherwise, false. + + + + + Gets a value indicating whether the object is read-only. + + + true if the object is read-only; otherwise, false. + + + + + Gets an object containing the keys of the object. + + + + An object containing the keys of the object. + + + + + Gets or sets the with the specified key. + + Dictionary key. + Value corresponding to key or null if not found + + + + Wrapper IDictionaryEnumerator. + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Advances the enumerator to the next element of the collection. + + + True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets both the key and the value of the current dictionary entry. + + + + A containing both the key and the value of the current dictionary entry. + + + + + Gets the key of the current dictionary entry. + + + + The key of the current element of the enumeration. + + + + + Gets the value of the current dictionary entry. + + + + The value of the current element of the enumeration. + + + + + Gets the current element in the collection. + + + + The current element in the collection. + + + + + UTF-8 BOM 239, 187, 191 + + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. + + The enumeration type to which to convert value. + The string representation of the enumeration name or underlying value to convert. + true to ignore case; false to consider case. + When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + Wrapper because Enum.TryParse is not present in .net 3.5 + + + + Enum.TryParse implementation for .net 3.5 + + + + Don't uses reflection + + + + Safe way to get environment variables. + + + + + Helper class for dealing with exceptions. + + + + + Mark this exception as logged to the . + + + + + + + Is this exception logged to the ? + + + trueif the has been logged to the . + + + + Determines whether the exception must be rethrown and logs the error to the if is false. + + Advised to log first the error to the before calling this method. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Determines whether the exception must be rethrown immediately, without logging the error to the . + + Only used this method in special cases. + + The exception to check. + trueif the must be rethrown, false otherwise. + + + + Object construction helper. + + + + + Adapter for to + + + + + Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Initializes a new instance of the class. + + The to wrap. + + + + Gets a the current wrappered in a . + + + + + Gets or sets the base directory that the assembly resolver uses to probe for assemblies. + + + + + Gets or sets the name of the configuration file for an application domain. + + + + + Gets or sets the list of directories under the application base directory that are probed for private assemblies. + + + + + Gets or set the friendly name. + + + + + Gets an integer that uniquely identifies the application domain within the process. + + + + + Process exit event. + + + + + Domain unloaded event. + + + + + Base class for optimized file appenders. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Writes the specified bytes. + + The bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Updates the last write time of the file. + + + + + Updates the last write time of the file to the specified date. + + Date and time when the last write occurred in UTC. + + + + Creates the file stream. + + If set to true sets the file stream to allow shared writing. + A object which can be used to write to the file. + + + + Gets the path of the file, including file extension. + + The name of the file. + + + + Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated + Universal Time [UTC] standard. + + The creation time of the file. + + + + Gets or sets the creation time for a file associated with the appender. Synchronized by + The time format is based on + + + + + Gets the last time the file associated with the appeander is opened. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last opened. + + + + Gets the last time the file associated with the appeander is written. The time returned is in + Coordinated Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the file creation parameters. + + The file creation parameters. + + + + Base class for optimized file appenders which require the usage of a mutex. + + It is possible to use this class as replacement of BaseFileAppender and the mutex functionality + is not enforced to the implementing subclasses. + + + + + Initializes a new instance of the class. + + Name of the file. + The create parameters. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex for archiving that is sharable by more than one process. + + A object which can be used for controlling the archiving of files. + + + + Creates a mutex that is sharable by more than one process. + + The prefix to use for the name of the mutex. + A object which is sharable by multiple processes. + + + + Gets the mutually-exclusive lock for archiving files. + + The mutex for archiving. + + + + Implementation of which caches + file information. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Closes this instance of the appender. + + + + + Flushes this current appender. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Writes the specified bytes to a file. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Factory class which creates objects. + + + + + Interface implemented by all factories capable of creating file appenders. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + Instance of which can be used to write to the file. + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Maintains a collection of file appenders usually associated with file targets. + + + + + An "empty" instance of the class with zero size and empty list of appenders. + + + + + Initializes a new "empty" instance of the class with zero size and empty + list of appenders. + + + + + Initializes a new instance of the class. + + + The size of the list should be positive. No validations are performed during initialisation as it is an + intenal class. + + Total number of appenders allowed in list. + Factory used to create each appender. + Parameters used for creating a file. + + + + Invalidates appenders for all files that were archived. + + + + + It allocates the first slot in the list when the file name does not already in the list and clean up any + unused slots. + + File name associated with a single appender. + The allocated appender. + + Thrown when is called on an Empty instance. + + + + + Close all the allocated appenders. + + + + + Close the allocated appenders initialised before the supplied time. + + The time which prior the appenders considered expired + + + + Fluch all the allocated appenders. + + + + + Closes the specified appender and removes it from the list. + + File name of the appender to be closed. + + + + The archive file path pattern that is used to detect when archiving occurs. + + + + + Gets the parameters which will be used for creating a file. + + + + + Gets the file appender factory used by all the appenders in this list. + + + + + Gets the number of appenders which the list can hold. + + + + + Subscribe to background monitoring of active file appenders + + + + + Interface that provides parameters for create file function. + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + Gets or sets the log file buffer size in bytes. + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets the file attributes (Windows only). + + + + + Should we capture the last write time of a file? + + + + + Provides a multiprocess-safe atomic file appends while + keeping the files open. + + + On Unix you can get all the appends to be atomic, even when multiple + processes are trying to write to the same file, because setting the file + pointer to the end of the file and appending can be made one operation. + On Win32 we need to maintain some synchronization between processes + (global named mutex is used for this) + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Appender used to discard data for the FileTarget. + Used mostly for testing entire stack except the actual writing to disk. + Throws away all data. + + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Multi-process and multi-host file appender which attempts + to get exclusive write access and retries if it's not available. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Optimized single-process file appender which keeps the file open for exclusive write. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Flushes this instance. + + + + + Closes this instance. + + + + + Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal + Time [UTC] standard. + + The file creation time. + + + + Gets the last time the file associated with the appeander is written. The time returned is in Coordinated + Universal Time [UTC] standard. + + The time the file was last written to. + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + Provides a multiprocess-safe atomic file append while + keeping the files open. + + + + + Initializes a new instance of the class. + + Name of the file. + The parameters. + + + + Creates or opens a file in a special mode, so that writes are automatically + as atomic writes at the file end. + See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms. + + File to create or open + + + + Creates a mutually-exclusive lock for archiving files. + + A object which can be used for controlling the archiving of files. + + + + Writes the specified bytes. + + The bytes array. + The bytes array offset. + The number of bytes. + + + + Closes this instance. + + + + + Flushes this instance. + + + + + Gets the length in bytes of the file associated with the appeander. + + A long value representing the length of the file in bytes. + + + + Factory class. + + + + + Opens the appender for given file name and parameters. + + Name of the file. + Creation parameters. + + Instance of which can be used to write to the file. + + + + + An immutable object that stores basic file info. + + + + + Constructs a FileCharacteristics object. + + The time the file was created in UTC. + The time the file was last written to in UTC. + The size of the file in bytes. + + + + The time the file was created in UTC. + + + + + The time the file was last written to in UTC. + + + + + The size of the file in bytes. + + + + + Optimized routines to get the basic file characteristics of the specified file. + + + + + Initializes static members of the FileCharacteristicsHelper class. + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + A layout that represents a filePath. + + + + + Interface implemented by layouts and layout renderers. + + + + + Renders the the value of layout or layout renderer in the context of the specified log event. + + The log event. + String representation of a layout. + + + + Cached directory separator char array to avoid memory allocation on each method call. + + + + + Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called. + + + + + not null when == false + + + + + non null is fixed, + + + + + is the cache-key, and when newly rendered filename matches the cache-key, + then it reuses the cleaned cache-value . + + + + + is the cache-value that is reused, when the newly rendered filename + matches the cache-key + + + + Initializes a new instance of the class. + + + + Render the raw filename from Layout + + The log event. + StringBuilder to minimize allocations [optional]. + String representation of a layout. + + + + Convert the raw filename to a correct filename + + The filename generated by Layout. + String representation of a correct filename. + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + Is this (templated/invalid) path an absolute, relative or unknown? + + + + + toString(format) if the object is a + + value to be converted + format value + provider, for example culture + + + + + Convert object to string + + value + format for conversion. + + + If is null and isn't a already, then the will get a locked by + + + + + Supports mocking of SMTP Client code. + + + + + Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. + + + System.Net.Mail.MailMessage + MailMessage + A MailMessage that contains the message to send. + + + + Specifies how outgoing email messages will be handled. + + + + + Gets or sets the name or IP address of the host used for SMTP transactions. + + + + + Gets or sets the port used for SMTP transactions. + + + + + Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. + + + + + Gets or sets the credentials used to authenticate the sender. + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + Supports object initialization and termination. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Allows components to request stack trace information to be provided in the . + + + + + Gets the level of stack trace information required by the implementing class. + + + + + Render the event info as parse as short + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as int + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Render the event info as parse as bool + + current layout + + default value when the render + layout name for log message to internal log when logging fails + + + + + Logger configuration. + + + + + Initializes a new instance of the class. + + The targets by level. + Use the old exception log handling of NLog 3.0? + + + + + Gets targets for the specified level. + + The level. + Chain of targets with attached filters. + + + + Determines whether the specified level is enabled. + + The level. + + A value of true if the specified level is enabled; otherwise, false. + + + + + Use the old exception log handling of NLog 3.0? + + This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5. + + + + Watches multiple files at the same time and raises an event whenever + a single change is detected in any of those files. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Stops watching all files. + + + + + Stops watching the specified file. + + + + + + Watches the specified files for changes. + + The file names. + + + + The types of changes to watch for. + + + + + Occurs when a change is detected in one of the monitored files. + + + + + Supports mocking of SMTP Client code. + + + Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, + we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' + + + + + Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the class. + + + + + Network sender which uses HTTP or HTTPS POST. + + + + + A base class for all network senders. Supports one-way sending of messages + over various protocols. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Initializes this network sender. + + + + + Closes the sender and releases any unmanaged resources. + + The continuation. + + + + Flushes any pending messages and invokes a continuation. + + The continuation. + + + + Send the given text over the specified protocol. + + Bytes to be sent. + Offset in buffer. + Number of bytes to send. + The asynchronous continuation. + + + + Closes the sender and releases any unmanaged resources. + + + + + Performs sender-specific initialization. + + + + + Performs sender-specific close operation. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Parses the URI into an endpoint address. + + The URI to parse. + The address family. + Parsed endpoint. + + + + Gets the address of the network endpoint. + + + + + Gets the last send time. + + + + + Initializes a new instance of the class. + + The network URL. + + + + Actually sends the given text over the specified protocol. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Creates instances of objects for given URLs. + + + + + Creates a new instance of the network sender based on a network URL. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + + A newly created network sender. + + + + + Interface for mocking socket calls. + + + + + Default implementation of . + + + + + Creates a new instance of the network sender based on a network URL:. + + + URL that determines the network sender to be created. + + + The maximum queue size. + + /// + A newly created network sender. + + + + + Socket proxy for mocking Socket code. + + + + + Initializes a new instance of the class. + + The address family. + Type of the socket. + Type of the protocol. + + + + Closes the wrapped socket. + + + + + Invokes ConnectAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Invokes SendToAsync method on the wrapped socket. + + The instance containing the event data. + Result of original method. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets underlying socket instance. + + + + + Sends messages over a TCP network connection. + + + + + Initializes a new instance of the class. + + URL. Must start with tcp://. + The address family. + + + + Creates the socket with given parameters. + + The address family. + Type of the socket. + Type of the protocol. + Instance of which represents the socket. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Performs sender-specific flush. + + The continuation. + + + + Sends the specified text over the connected socket. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Facilitates mocking of class. + + + + + Raises the Completed event. + + + + + Sends messages over the network as UDP datagrams. + + + + + Initializes a new instance of the class. + + URL. Must start with udp://. + The address family. + + + + Creates the socket. + + The address family. + Type of the socket. + Type of the protocol. + Implementation of to use. + + + + Performs sender-specific initialization. + + + + + Closes the socket. + + The continuation. + + + + Sends the specified text as a UDP datagram. + + The bytes to be sent. + Offset in buffer. + Number of bytes to send. + The async continuation to be invoked after the buffer has been sent. + To be overridden in inheriting classes. + + + + Scans (breadth-first) the object graph following all the edges whose are + instances have attached and returns + all objects implementing a specified interfaces. + + + + + Finds the objects which have attached which are reachable + from any of the given root objects when traversing the object graph over public properties. + + Type of the objects to return. + The root objects. + Ordered list of objects implementing T. + + + ISet is not there in .net35, so using HashSet + + + + Combine paths + + basepath, not null + optional dir + optional file + + + + + Detects the platform the NLog is running on. + + + + + Gets the current runtime OS. + + + + + Gets a value indicating whether current OS is a desktop version of Windows. + + + + + Gets a value indicating whether current OS is Win32-based (desktop or mobile). + + + + + Gets a value indicating whether current OS is Unix-based. + + + + + Gets a value indicating whether current runtime is Mono-based + + + + + Gets a value indicating whether current runtime supports use of mutex + + + + + Portable implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Portable implementation of . + + + + + Returns details about current process and thread in a portable manner. + + + + + Initializes static members of the ThreadIDHelper class. + + + + + Gets the singleton instance of PortableThreadIDHelper or + Win32ThreadIDHelper depending on runtime environment. + + The instance. + + + + Gets current process ID. + + + + + Gets current process name. + + + + + Gets current process name (excluding filename extension, if any). + + + + + Initializes a new instance of the class. + + + + + Gets the name of the process. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Reflection helpers for accessing properties. + + + + + Set value parsed from string. + + object instance to set with property + name of the property on + The value to be parsed. + + + + + Is the property of array-type? + + Type which has the property + name of the property. + + + + + Get propertyinfo + + object which could have property + propertyname on + result when success. + success. + + + + Try parse of string to (Generic) list, comma separated. + + + If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape + + + + + + + + + Reflection helpers. + + + + + Gets all usable exported types from the given assembly. + + Assembly to scan. + Usable types from the given assembly. + Types which cannot be loaded are skipped. + + + + Is this a static class? + + + + This is a work around, as Type doesn't have this property. + From: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static + + + + + Creates an optimized delegate for calling the MethodInfo using Expression-Trees + + Method to optimize + Optimized delegate for invoking the MethodInfo + + + + Optimized delegate for calling MethodInfo + + Object instance, use null for static methods. + Complete list of parameters that matches the method, including optional/default parameters. + + + + + Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable AsyncLogEventInfo-List for active usage + + Handle to the reusable item, that can release it again + + + + Access the AsyncLogEventInfo[]-buffer acquired + + + + + Controls a single allocated char[]-buffer for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable char[]-buffer for active usage + + Handle to the reusable item, that can release it again + + + + Access the char[]-buffer acquired + + + + + Controls a single allocated StringBuilder for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable StringBuilder for active usage + + Handle to the reusable item, that can release it again + + + + Access the StringBuilder acquired + + + + + Controls a single allocated MemoryStream for reuse (only one active user) + + + + Empty handle when is disabled + + + + Creates handle to the reusable MemoryStream for active usage + + Handle to the reusable item, that can release it again + + + + Access the MemoryStream acquired + + + + + Supported operating systems. + + + If you add anything here, make sure to add the appropriate detection + code to + + + + + Any operating system. + + + + + Unix/Linux operating systems. + + + + + Windows CE. + + + + + Desktop versions of Windows (95,98,ME). + + + + + Windows NT, 2000, 2003 and future versions based on NT technology. + + + + + Unknown operating system. + + + + + Simple character tokenizer. + + + + + Initializes a new instance of the class. + + The text to be tokenized. + + + + Check current char while not changing the position. + + + + + + Read the current char and change position + + + + + + Get the substring of the + + + + + + + + Current position in + + + + + Full text to be parsed + + + + + Implements a single-call guard around given continuation function. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + + + + Continuation function which implements the single-call guard. + + The exception. + + + + Provides helpers to sort log events and associated continuations. + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. + + The type of the value. + The type of the key. + The inputs. + The key selector function. + + Dictionary where keys are unique input keys, and values are lists of . + + + + + Key selector delegate. + + The type of the value. + The type of the key. + Value to extract key information from. + Key selected from log event. + + + + Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. + + Avoids allocating a new dictionary, when all items are using the same bucket + + The type of the key. + The type of the value. + + + + + + + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + Will always throw, as dictionary is readonly + + + Will always throw, as dictionary is readonly + + + + + + + + + Will always throw, as dictionary is readonly + + + + + + + + + + + + + + + + Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. + Consider to use instead for better safety. + + Key value for lookup + Mapped value found + + + + Non-Allocating struct-enumerator + + + + + Utilities for dealing with values. + + + + + Get this stacktrace for inline unit test + + + + + + + Stream helpers + + + + + Copy to output stream and skip BOM if encoding is UTF8 + + + + + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + .net35 doesn't have a .copyto + + + + Copy stream input to output. Skip the first bytes + + stream to read from + stream to write to + first bytes to skip (optional) + + + + Helpers for , which is used in e.g. layout renderers. + + + + + Append a value and use formatProvider of or to convert to string. + + + value to append. + current logEvent for FormatProvider. + Configuration for DefaultCultureInfo + + + + Appends int without using culture, and most importantly without garbage + + + value to append + + + + Appends uint without using culture, and most importantly without garbage + + Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ + + + value to append + + + + Clears the provider StringBuilder + + + + + + Helpers for . + + + + + IsNullOrWhiteSpace, including for .NET 3.5 + + + + + + + Split a string + + + + + Split string with escape. The escape char is the same as the splitchar + + + split char. escaped also with this char + + + + + Split string with escape + + + + + + + + + Split a string, optional quoted value + + Text to split + Character to split the + Quote character + + Escape for the , not escape for the + , use quotes for that. + + + + + + Represents target with a chain of filters which determine + whether logging should happen. + + + + + cached result as calculating is expensive. + + + + + Initializes a new instance of the class. + + The target. + The filter chain. + + + + Gets the stack trace usage. + + A value that determines stack trace handling. + + + + Gets the target. + + The target. + + + + Gets the filter chain. + + The filter chain. + + + + Gets or sets the next item in the chain. + + The next item in the chain. + This is for example the 'target2' logger in writeTo='target1,target2' + + + + Helper for dealing with thread-local storage. + + + + + Allocates the data slot for storing thread-local information. + + Allocated slot key. + + + + Gets the data for a slot in thread-local storage. + + Type of the data. + The slot to get data for. + + Slot data (will create T if null). + + + + + Wraps with a timeout. + + + + + Initializes a new instance of the class. + + The asynchronous continuation. + The timeout. + + + + Continuation function which implements the timeout logic. + + The exception. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + URL Encoding helper. + + + + + Escape unicode string data for use in http-requests + + unicode string-data to be encoded + target for the encoded result + s for how to perform the encoding + + + Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC + + + Use RFC2396 standard (instead of RFC3986) + + + Should use lowercase when doing HEX escaping of special characters + + + Replace space ' ' with '+' instead of '%20' + + + Skip UTF8 encoding, and prefix special characters with '%u' + + + + Win32-optimized implementation of . + + + + + Gets the information about a file. + + Name of the file. + The file stream. + The file characteristics, if the file information was retrieved successfully, otherwise null. + + + + Win32-optimized implementation of . + + + + + Initializes a new instance of the class. + + + + + Gets current process ID. + + + + + + Gets current process name. + + + + + + Gets current process name (excluding filename extension, if any). + + + + + + Helper class for XML + + + + + removes any unusual unicode characters that can't be encoded into XML + + + + + Converts object value to invariant format, and strips any invalid xml-characters + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object value converted to string + + + + Converts object value to invariant format (understood by JavaScript) + + Object value + Object TypeCode + Object value converted to string + + + + Safe version of WriteAttributeString + + + + + + + + + + Safe version of WriteAttributeString + + + + + + + + Safe version of WriteElementSafeString + + + + + + + + + + Safe version of WriteCData + + + + + + + Log event context data. + + + + + Render environmental information related to logging events. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + String representation of a layout renderer. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Renders the the value of layout renderer in the context of the specified log event. + + The log event. + The layout render output is appended to builder + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Get the for rendering the messages to a + + LogEvent with culture + Culture in on Layout level + + + + + Get the for rendering the messages to a , needed for date and number formats + + LogEvent with culture + Culture in on Layout level + + + is preferred + + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer. + + Short-cut for registing to default + Type of the layout renderer. + Name of the layout renderer - without ${}. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration. + + Name of the layout renderer - without ${}. + Callback that returns the value for the layout renderer. + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Renders all log event's properties and appends them to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets string that will be used to separate key/value pairs. + + + + + + Gets or sets how key/value pairs will be formatted. + + + + + + Designates a property of the class as an ambient property. + + + non-ambient: ${uppercase:${level}} + ambient : ${level:uppercase} + + + + + Initializes a new instance of the class. + + Ambient property name. + + + + Used to render the application domain name. + + + + + Create a new renderer + + + + + Create a new renderer + + + + + Render the layout + + + + + + + Convert the formatting string + + + + + + + Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" + The first parameter is the , the second the second the + This string is used in + + + + + Assembly version. + + The entry assembly can't be found in some cases e.g. ASP.NET, Unit tests etc. + + + + Renders assembly version and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The (full) name of the assembly. If null, using the entry assembly. + + + + + The current application domain's base directory. + + + + + cached + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the application base directory and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Use base dir of current process. + + + + + Gets or sets the name of the file to be Path.Combine()'d with with the base directory. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. + + + + + + The call site (class name, method name and source information). + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render the class name. + + + + + + Gets or sets a value indicating whether to render the include the namespace with . + + + + + + Gets or sets a value indicating whether to render the method name. + + + + + + Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. + + + + + + Gets or sets the number of frames to skip. + + + + + Gets or sets a value indicating whether to render the source file name and line number. + + + + + + Gets or sets a value indicating whether to include source file path. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The call site source line number. Full callsite + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of frames to skip. + + + + + Gets the level of stack trace information required by the implementing class. + + + + + A counter value (increases on each layout rendering). + + + + + Initializes a new instance of the class. + + + + + Renders the specified counter value and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the initial value of the counter. + + + + + + Gets or sets the value to be added to the counter after each layout rendering. + + + + + + Gets or sets the name of the sequence. Different named sequences can have individual values. + + + + + + Current date and time. + + + + + Initializes a new instance of the class. + + + + Cache-key (Last DateTime.UtcNow) + Cache-Value (DateTime.Format result) + + + Cache-key (Last DateTime.Now) + Cache-Value (DateTime.Format result) + + + + Renders the current date and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the culture used for rendering. + + + + + + Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). + + + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The environment variable. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the environment variable. + + + + + + Gets or sets the default value to be used when the environment variable is not set. + + + + + + Log event context data. + + This class was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Log event context data. See . + + + + + Log event context data with default options. + + + + + Renders the specified log event context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Format string for conversion from object to string. + + + + + Gets or sets the culture used for rendering. + + + + + + Exception information provided through + a call to one of the Logger.*Exception() methods. + + + + + Initializes a new instance of the class. + + + + + Renders the specified exception information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Appends the Message of an Exception to the specified . + + The to append the rendered data to. + The exception containing the Message to append. + + + + Appends the method name from Exception's stack trace to the specified . + + The to append the rendered data to. + The Exception whose method name should be appended. + + + + Appends the stack trace from an Exception to the specified . + + The to append the rendered data to. + The Exception whose stack trace should be appended. + + + + Appends the result of calling ToString() on an Exception to the specified . + + The to append the rendered data to. + The Exception whose call to ToString() should be appended. + + + + Appends the type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose type should be appended. + + + + Appends the short type of an Exception to the specified . + + The to append the rendered data to. + The Exception whose short type should be appended. + + + + Appends the contents of an Exception's Data property to the specified . + + The to append the rendered data to. + The Exception whose Data property elements should be appended. + + + + Split the string and then compile into list of Rendering formats. + + + + + + + Gets or sets the format of the output. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + + + Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception + properties: Message, Type, ShortType, ToString, Method, StackTrace. + This parameter value is case-insensitive. + + + + + + Gets or sets the separator used to concatenate parts specified in the Format. + + + + + + Gets or sets the separator used to concatenate exception data specified in the Format. + + + + + + Gets or sets the maximum number of inner exceptions to include in the output. + By default inner exceptions are not enabled for compatibility with NLog 1.0. + + + + + + Gets or sets the separator between inner exceptions. + + + + + + Gets the formats of the output of inner exceptions to be rendered in target. + + + + + + + Gets the formats of the output to be rendered in target. + + + + + + + Renders contents of the specified file. + + + + + Initializes a new instance of the class. + + + + + Renders the contents of the specified file and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file. + + + + + + Gets or sets the encoding used in the file. + + The encoding. + + + + + A layout renderer which could have different behavior per instance by using a . + + + + + Create a new. + + Name without ${}. + Method that renders the layout. + + + + Renders the specified environmental information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Name used in config without ${}. E.g. "test" could be used as "${test}". + + + + + Method that renders the layout. + + + + + The information about the garbage collector. + + + + + Initializes a new instance of the class. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the property of System.GC to retrieve. + + + + + Total memory allocated. + + + + + Total memory allocated (perform full garbage collection first). + + + + + Gets the number of Gen0 collections. + + + + + Gets the number of Gen1 collections. + + + + + Gets the number of Gen2 collections. + + + + + Maximum generation number supported by GC. + + + + + Global Diagnostics Context item. Provided for compatibility with log4net. + + + + + Renders the specified Global Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + Globally-unique identifier (GUID). + + + + + Initializes a new instance of the class. + + + + + Renders a newly generated GUID string and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the GUID format as accepted by Guid.ToString() method. + + + + + + Thread identity information (name and authentication information). + + + + + Initializes a new instance of the class. + + + + + Renders the specified identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the separator to be used when concatenating + parts of identity information. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. + + + + + + Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. + + + + + + Installation parameter (passed to InstallNLogConfig). + + + + + Renders the specified installation parameter and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the parameter. + + + + + + Marks class as a layout renderer and assigns a name to it. + + This attribute is not required when registering the layout in the API. + + + + Initializes a new instance of the class. + + Name of the layout renderer, without the `${ }` + + + + The log level. + + + + + Renders the current log level and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + A string literal. + + + This is used to escape '${' sequence + as ;${literal:text=${}' + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The literal text value. + This is used by the layout compiler. + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the literal text. + + + + + + XML event description compatible with log4j, Chainsaw and NLogViewer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Renders the XML logging event and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets a value indicating whether the XML should use spaces for indentation. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include contents of the dictionary. + + + + + + Gets or sets a value indicating whether to include contents of the stack. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + The logger name. + + + + + Renders the logger name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). + + + + + + The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. + + + + + Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + The machine name that the process is running on. + + + + + Initializes the layout renderer. + + + + + Renders the machine name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Mapped Diagnostic Context item. Provided for compatibility with log4net. + + + + + Renders the specified MDC item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the item. + + + + + + The formatted log message. + + + + + Initializes a new instance of the class. + + + + + Renders the log message including any positional parameters and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to log exception along with message. + + + + + + Gets or sets the string that separates message from the exception. + + + + + + Nested Diagnostic Context item. Provided for compatibility with log4net. + + + + + Initializes a new instance of the class. + + + + + Renders the specified Nested Diagnostics Context item and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of bottom stack frames to be rendered. + + + + + + Gets or sets the separator to be used for concatenating nested diagnostics context output. + + + + + + A newline literal. + + + + + Renders the specified string literal and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The directory where NLog.dll is located. + + + + + Initializes static members of the NLogDirLayoutRenderer class. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The performance counter. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the specified environment variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the name of the performance counter instance (e.g. this.Global_). + + + + + + Gets or sets the name of the machine to read the performance counter from. + + + + + + The identifier of the current process. + + + + + Renders the current process ID. + + The to append the rendered data to. + Logging event. + + + + The information about the running process. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Renders the selected process information. + + The to append the rendered data to. + Logging event. + + + + Gets or sets the property to retrieve. + + + + + + Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) + + + + + + Property of System.Diagnostics.Process to retrieve. + + + + + Base Priority. + + + + + Exit Code. + + + + + Exit Time. + + + + + Process Handle. + + + + + Handle Count. + + + + + Whether process has exited. + + + + + Process ID. + + + + + Machine name. + + + + + Handle of the main window. + + + + + Title of the main window. + + + + + Maximum Working Set. + + + + + Minimum Working Set. + + + + + Non-paged System Memory Size. + + + + + Non-paged System Memory Size (64-bit). + + + + + Paged Memory Size. + + + + + Paged Memory Size (64-bit).. + + + + + Paged System Memory Size. + + + + + Paged System Memory Size (64-bit). + + + + + Peak Paged Memory Size. + + + + + Peak Paged Memory Size (64-bit). + + + + + Peak Virtual Memory Size. + + + + + Peak Virtual Memory Size (64-bit).. + + + + + Peak Working Set Size. + + + + + Peak Working Set Size (64-bit). + + + + + Whether priority boost is enabled. + + + + + Priority Class. + + + + + Private Memory Size. + + + + + Private Memory Size (64-bit). + + + + + Privileged Processor Time. + + + + + Process Name. + + + + + Whether process is responding. + + + + + Session ID. + + + + + Process Start Time. + + + + + Total Processor Time. + + + + + User Processor Time. + + + + + Virtual Memory Size. + + + + + Virtual Memory Size (64-bit). + + + + + Working Set Size. + + + + + Working Set Size (64-bit). + + + + + The name of the current process. + + + + + Renders the current process name (optionally with a full path). + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to write the full path to the process executable. + + + + + + The process time in format HH:mm:ss.mmm. + + + + + Renders the current process running time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Write timestamp to builder with format hh:mm:ss:fff + + + + + + + + High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to normalize the result by subtracting + it from the result of the first call (so that it's effectively zero-based). + + + + + + Gets or sets a value indicating whether to output the difference between the result + of QueryPerformanceCounter and the previous one. + + + + + + Gets or sets a value indicating whether to convert the result to seconds by dividing + by the result of QueryPerformanceFrequency(). + + + + + + Gets or sets the number of decimal digits to be included in output. + + + + + + Gets or sets a value indicating whether to align decimal point (emit non-significant zeros). + + + + + + A value from the Registry. + + + + + Create new renderer + + + + + Reads the specified registry key and value and appends it to + the passed . + + The to append the rendered data to. + Logging event. Ignored. + + + + Parse key to and subkey. + + full registry key name + Result of parsing, never null. + + + + Aliases for the hives. See https://msdn.microsoft.com/en-us/library/ctb3kd86(v=vs.110).aspx + + + + + Gets or sets the registry value name. + + + + + + Gets or sets the value to be output when the specified registry key or value is not found. + + + + + + Require escaping backward slashes in . Need to be backwardscompatible. + + When true: + + `\` in value should be configured as `\\` + `\\` in value should be configured as `\\\\`. + + Default value wasn't a Layout before and needed an escape of the slash + + + + Gets or sets the registry key. + + + HKCU\Software\NLogTest + + + Possible keys: +
    +
  • HKEY_LOCAL_MACHINE
  • +
  • HKLM
  • +
  • HKEY_CURRENT_USER
  • +
  • HKCU
  • +
  • HKEY_CLASSES_ROOT
  • +
  • HKEY_USERS
  • +
  • HKEY_CURRENT_CONFIG
  • +
  • HKEY_DYN_DATA
  • +
  • HKEY_PERFORMANCE_DATA
  • +
+
+ +
+ + + Has ? + + + + + The short date in a sortable format yyyy-MM-dd. + + + + + Renders the current short date string (yyyy-MM-dd) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + Appends a date in format yyyy-MM-dd to the StringBuilder. + The DateTime.ToString() result is cached for future uses + since it only changes once a day. This optimization yields a + performance boost of 40% and makes the renderer allocation-free + in must cases. + + The to append the date to + The date to append + + + + System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the system special folder to use. + + + Full list of options is available at MSDN. + The most common ones are: +
    +
  • ApplicationData - roaming application data for current user.
  • +
  • CommonApplicationData - application data for all users.
  • +
  • MyDocuments - My Documents
  • +
  • DesktopDirectory - Desktop directory
  • +
  • LocalApplicationData - non roaming application data
  • +
  • Personal - user profile directory
  • +
  • System - System directory
  • +
+
+ +
+ + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + Format of the ${stacktrace} layout renderer output. + + + + + Raw format (multiline - as returned by StackFrame.ToString() method). + + + + + Flat format (class and method names displayed in a single line). + + + + + Detailed flat format (method signatures displayed in a single line). + + + + + Stack trace renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the call site and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the output format of the stack trace. + + + + + + Gets or sets the number of top stack frames to be rendered. + + + + + + Gets or sets the number of frames to skip. + + + + + + Gets or sets the stack frame separator string. + + + + + + Gets the level of stack trace information required by the implementing class. + + + + + + A temporary directory. + + + + + Renders the directory where NLog is located and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the file to be Path.Combine()'d with the directory name. + + + + + + Gets or sets the name of the directory to be Path.Combine()'d with the directory name. + + + + + + The identifier of the current thread. + + + + + Renders the current thread identifier and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The name of the current thread. + + + + + Renders the current thread name and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The Ticks value of current date and time. + + + + + Renders the ticks value of current time and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + The time in a 24-hour, sortable format HH:mm:ss.mmm. + + + + + Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether to output UTC time instead of local time. + + + + + + A renderer that puts into log a System.Diagnostics trace correlation id. + + + + + Renders the current trace activity ID. + + The to append the rendered data to. + Logging event. + + + + Render a NLog variable (xml or config) + + + + + Initializes the layout renderer. + + + + + Try get the + + + + + + + Renders the specified variable and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets the name of the NLog variable. + + + + + + Gets or sets the default value to be used when the variable is not set. + + Not used if Name is null + + + + + Thread Windows identity information (username). + + + + + Initializes a new instance of the class. + + + + + Renders the current thread windows identity information and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Gets or sets a value indicating whether domain name should be included. + + + + + + Gets or sets a value indicating whether username should be included. + + + + + + Applies caching to another layout output. + + + The value of the inner layout will be rendered only once and reused subsequently. + + + + + Base class for s which wrapping other s. + + This has the property (which is default) and can be used to wrap. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + + + + + Renders the inner message, processes it and appends it to the specified . + + The to append the rendered data to. + Logging event. + + + + Transforms the output of another layout. + + Output to be transform. + If the is needed, overwrite . + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets the wrapped layout. + + [DefaultParameter] so Inner: is not required if it's the first + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout renderer. + + + + + Closes the layout renderer. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + Contents of inner layout. + + + + Gets or sets a value indicating whether this is enabled. + + + + + + Gets or sets a value indicating when the cache is cleared. + + + + + Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s + + + + + A value indicating when the cache is cleared. + + + + Never clear the cache. + + + Clear the cache whenever the is initialized. + + + Clear the cache whenever the is closed. + + + + Filters characters not allowed in the file names by replacing them with safe character. + + + + + Base class for s which wrapping other s. + + This expects the transformation to work on a + + + + + Render to local target using Inner Layout, and then transform before final append + + + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + Logging + Initially empty for the result + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Replaces all non-safe characters with underscore to make valid filepath + + Output to be transformed. + + + + Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path + (illegal characters are replaced with '_'). + + + + + + Escapes output of another layout using JSON rules. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + JSON-encoded string. + + + + Gets or sets a value indicating whether to apply JSON encoding. + + + + + + Converts the result of another layout output to lower case. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Only outputs the inner layout when exception has been defined for log message. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Renders the inner layout contents. + + The log event. + + Contents of inner layout. + + + + + Horizontal alignment for padding layout renderers. + + + + + When layout text is too long, align it to the left + (remove characters from the right). + + + + + When layout text is too long, align it to the right + (remove characters from the left). + + + + + Applies padding to another layout output. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets the number of characters to pad the output to. + + + Positive padding values cause left padding, negative values + cause right padding to the desired width. + + + + + + Gets or sets the padding character. + + + + + + Gets or sets a value indicating whether to trim the + rendered text to the absolute value of the padding length. + + + + + + Gets or sets a value indicating whether a value that has + been truncated (when is true) + will be left-aligned (characters removed from the right) + or right-aligned (characters removed from the left). The + default is left alignment. + + + + + Replaces a string in the output of another layout with another string. + + + ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} + + + + + Initializes the layout renderer. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + A match evaluator for Regular Expression based replacing + + Input string. + Group name in the regex. + Replace value. + Match from regex. + Groups replaced with . + + + + Gets or sets the text to search for. + + The text search for. + + + + + Gets or sets a value indicating whether regular expressions should be used. + + A value of true if regular expressions should be used otherwise, false. + + + + + Gets or sets the replacement string. + + The replacement string. + + + + + Gets or sets the group name to replace when using regular expressions. + Leave null or empty to replace without using group name. + + The group name. + + + + + Gets or sets a value indicating whether to ignore case. + + A value of true if case should be ignored when searching; otherwise, false. + + + + + Gets or sets a value indicating whether to search for whole words. + + A value of true if whole words should be searched for; otherwise, false. + + + + + This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating the string that should be used for separating lines. + + + + + Decodes text "encrypted" with ROT-13. + + + See http://en.wikipedia.org/wiki/ROT13. + + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + Encoded/Decoded text. + + + + Encodes/Decodes ROT-13-encoded string. + + The string to be encoded/decoded. + + + + Post-processes the rendered message. + + Output to be transform. + + + + Gets or sets the layout to be wrapped. + + The layout to be wrapped. + This variable is for backwards compatibility + + + + + Trims the whitespace from the result of another layout renderer. + + + + + Initializes a new instance of the class. + + + + + Removes white-spaces from both sides of the provided target + + Output to be transform. + + + + Gets or sets a value indicating whether lower case conversion should be applied. + + A value of true if lower case conversion should be applied; otherwise, false. + + + + + Converts the result of another layout output to upper case. + + + ${uppercase:${level}} //[DefaultParameter] + ${uppercase:Inner=${level}} + ${level:uppercase} // [AmbientProperty] + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + Output to be post-processed. + + + + Gets or sets a value indicating whether upper case conversion should be applied. + + A value of true if upper case conversion should be applied otherwise, false. + + + + + Gets or sets the culture used for rendering. + + + + + + Encodes the result of another layout output for use with URLs. + + + + + Initializes a new instance of the class. + + + + + Transforms the output of another layout. + + Output to be transform. + Transformed text. + + + + Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. + + A value of true if space should be translated to '+'; otherwise, false. + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Outputs alternative layout when the inner layout produces empty result. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the layout to be rendered when original layout produced empty result. + + + + + + Only outputs the inner layout when the specified condition has been met. + + + + + Transforms the output of another layout. + + Output to be transform. + + + + Renders the inner layout contents. + + The log event. + Initially empty for the result + + + + Gets or sets the condition that must be met for the layout to be printed. + + + + + + If is not met, print this layout. + + + + + Replaces newline characters from the result of another layout renderer with spaces. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Post-processed text. + + + + Gets or sets the line length for wrapping. + + + Only positive values are allowed + + + + + + Converts the result of another layout output to be XML-compliant. + + + + + Initializes a new instance of the class. + + + + + Post-processes the rendered message. + + The text to be post-processed. + Padded and trimmed string. + + + + Gets or sets a value indicating whether to apply XML encoding. + + + + + + A layout containing one or more nested layouts. + + + + + Abstract interface that layouts must implement. + + + + + Is this layout initialized? See + + + + + Does the layout contains threadAgnostic layout renders? If contains non-threadAgnostic-layoutrendender, then this layout is also not threadAgnostic. + See and . + + + + + Converts a given text to a . + + Text to be converted. + object represented by the text. + + + + Implicitly converts the specified string to a . + + The layout string. + Instance of . + + + + Implicitly converts the specified string to a . + + The layout string. + The NLog factories to use when resolving layout renderers. + Instance of . + + + + Precalculates the layout for the specified log event and stores the result + in per-log event cache. + + Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. + + The log event. + + Calling this method enables you to store the log event in a buffer + and/or potentially evaluate it in another thread even though the + layout may contain thread-dependent renderer. + + + + + Renders the event info in layout. + + The event info. + String representing log event. + + + + Renders the event info in layout to the provided target + + The event info. + Appends the string representing log event to target + Should rendering result be cached on LogEventInfo + + + + Valid default implementation of , when having implemented the optimized + + The logging event. + StringBuilder to help minimize allocations [optional]. + Should rendering result be cached on LogEventInfo + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Initializes the layout. + + + + + Closes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Register a custom Layout. + + Short-cut for registing to default + Type of the Layout. + Name of the Layout. + + + + Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). + + + Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are + like that as well. + Thread-agnostic layouts only use contents of for its output. + + + + + Gets the logging configuration this target is part of. + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event relying on inner layouts. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event relying on inner layouts. + + The logging event. + Initially empty for the result + + + + Closes the layout. + + + + + Gets the inner layouts. + + + + + + A column in the CSV. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column. + The layout of the column. + + + + Gets or sets the name of the column. + + + + + + Gets or sets the layout of the column. + + + + + + Specifies allowed column delimiters. + + + + + Automatically detect from regional settings. + + + + + Comma (ASCII 44). + + + + + Semicolon (ASCII 59). + + + + + Tab character (ASCII 9). + + + + + Pipe character (ASCII 124). + + + + + Space character (ASCII 32). + + + + + Custom string, specified by the CustomDelimiter. + + + + + A specialized layout that renders CSV-formatted events. + + If is set, then the header generation with columnnames will be disabled. + + + + A specialized layout that supports header and footer. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets or sets the body layout (can be repeated multiple times). + + + + + + Gets or sets the header layout. + + + + + + Gets or sets the footer layout. + + + + + + Initializes a new instance of the class. + + + + + Initializes the layout. + + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Formats the log event for write. + + The logging event. + Initially empty for the result + + + + Get the headers with the column names. + + + + + + Gets the array of parameters to be passed. + + + + + + Gets or sets a value indicating whether CVS should include header. + + A value of true if CVS should include header; otherwise, false. + + + + + Gets or sets the column delimiter. + + + + + + Gets or sets the quoting mode. + + + + + + Gets or sets the quote Character. + + + + + + Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). + + + + + + Header with column names for CSV layout. + + + + + Initializes a new instance of the class. + + The parent. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Specifies CSV quoting modes. + + + + + Quote all column. + + + + + Quote nothing. + + + + + Quote only whose values contain the quote symbol or + the separator. + + + + + JSON attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + + + + Initializes a new instance of the class. + + The name of the attribute. + The layout of the attribute's value. + Encode value with json-encode + + + + Gets or sets the name of the attribute. + + + + + Gets or sets the layout that will be rendered as the attribute's value. + + + + + Determines wether or not this attribute will be Json encoded. + + + + + A specialized layout that renders JSON-formatted events. + + + + + Initializes a new instance of the class. + + + + + Formats the log event as a JSON document for writing. + + The logging event. + Initially empty for the result + + + + Formats the log event as a JSON document for writing. + + The log event to be formatted. + A JSON string representation of the log event. + + + + Gets the array of attributes' configurations. + + + + + + Gets or sets the option to suppress the extra spaces in the output json + + + + + Gets or sets the option to render the empty object value {} + + + + + Gets or sets the option to include all properties from the log events + + + + + List of property names to exclude when is true + + + + + Marks class as a layout renderer and assigns a format string to it. + + + + + Initializes a new instance of the class. + + Layout name. + + + + Parses layout strings. + + + + + A specialized layout that renders Log4j-compatible XML events. + + + This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. + + + + + Initializes a new instance of the class. + + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers. + + The logging event. + Initially empty for the result + + + + Gets the instance that renders log events. + + + + + Represents a string with embedded placeholders that can render contextual information. + + + This layout is not meant to be used explicitly. Instead you can just use a string containing layout + renderers everywhere the layout is required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout string to parse. + + + + Initializes a new instance of the class. + + The layout string to parse. + The NLog factories to use when creating references to layout renderers. + + + + Converts a text to a simple layout. + + Text to be converted. + A object. + + + + Escapes the passed text so that it can + be used literally in all places where + layout is normally expected without being + treated as layout. + + The text to be escaped. + The escaped text. + + Escaping is done by replacing all occurrences of + '${' with '${literal:text=${}' + + + + + Evaluates the specified text by expanding all layout renderers. + + The text to be evaluated. + Log event to be used for evaluation. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Evaluates the specified text by expanding all layout renderers + in new context. + + The text to be evaluated. + The input text with all occurrences of ${} replaced with + values provided by the appropriate layout renderers. + + + + Returns a that represents the current object. + + + A that represents the current object. + + + + + Initializes the layout. + + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + The rendered layout. + + + + Renders the layout for the specified logging event by invoking layout renderers + that make up the event. + + The logging event. + Initially empty for the result + + + + Original text before compile to Layout renderes + + + + + Gets or sets the layout text. + + + + + + Is the message fixed? (no Layout renderers used) + + + + + Get the fixed text. Only set when is true + + + + + Gets a collection of objects that make up this layout. + + + + + Gets the level of stack trace information required for rendering. + + Calculated when setting . + + + + Represents the logging event. + + + + + Gets the date of the first log event created. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Log level. + Logger name. + Log message including parameter placeholders. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + + + + Initializes a new instance of the class. + + Log level. + Logger name. + An IFormatProvider that supplies culture-specific formatting information. + Log message including parameter placeholders. + Parameter array. + Exception information. + + + + Creates the null event. + + Null log event. + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The message. + The exception. + Instance of . + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + Instance of . + + + + Creates the log event. + + The log level. + Name of the logger. + The exception. + The format provider. + The message. + The parameters. + Instance of . + + + + Creates from this by attaching the specified asynchronous continuation. + + The asynchronous continuation. + Instance of with attached continuation. + + + + Returns a string representation of this log event. + + String representation of the log event. + + + + Sets the stack trace for the event info. + + The stack trace. + Index of the first user stack frame within the stack trace. + + + + Gets the unique identifier of log event which is automatically generated + and monotonously increasing. + + + + + Gets or sets the timestamp of the logging event. + + + + + Gets or sets the level of the logging event. + + + + + Gets a value indicating whether stack trace has been set for this event. + + + + + Gets the stack frame of the method that did the logging. + + + + + Gets the number index of the stack frame that represents the user + code (not the NLog code). + + + + + Gets the entire stack trace. + + + + + Gets or sets the exception information. + + + + + Gets or sets the logger name. + + + + + Gets the logger short name. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Gets or sets the log message including any parameter placeholders. + + + + + Gets or sets the parameter values or null if no parameters have been specified. + + + + + Gets or sets the format provider that was provided while logging or + when no formatProvider was specified. + + + + + Gets the formatted message. + + + + + Checks if any per-event context properties (Without allocation) + + + + + Gets the dictionary of per-event context properties. + + + + + Gets the dictionary of per-event context properties. + + This property was marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Creates and manages instances of objects. + + + + + Overwrite possible file paths (including filename) for possible NLog config files. + When this property is null, the default file paths ( are used. + + + + + Initializes static members of the LogManager class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The config. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting + unmanaged resources. + + + + + Creates a logger that discards all log messages. + + Null logger instance. + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets the logger with the name of the current class. + + The logger with type . + Type of the logger + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The type of the logger to create. The type must inherit from + The logger of type . + This is a slow-running method. Make sure you are not calling this method in a + loop. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. + + Name of the logger. + Type of the logger + The logger reference with type . Multiple calls to GetLogger with the same argument + are not guaranteed to return the same logger reference. + + + + Gets the specified named logger. Use to pass the type of the needed Logger. + + Name of the logger. + The type of the logger to create. The type must inherit from . + The logger of type . Multiple calls to GetLogger with the + same argument aren't guaranteed to return the same logger reference. + + + + Loops through all loggers previously returned by GetLogger and recalculates their + target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time + will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages + after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + This method was marked as obsolete on NLog 4.0 and it may be removed in a future release. + + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + + Logging is enabled if the number of calls is greater than + or equal to calls. + + An object that implements IDisposable whose Dispose() method re-enables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Returns if logging is currently enabled. + + A value of if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Raises the event when the configuration is reloaded. + + Event arguments. + + + + Raises the event when the configuration is reloaded. + + Event arguments + + + + Currently this logfactory is disposing? + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Get file paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Overwrite the paths (including filename) for the possible NLog config files. + + The filepaths to the possible config file + + + + Clear the candidate file paths and return to the defaults. + + + + + Get default file paths (including filename) for possible NLog config files. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets the current . + + + + + Gets or sets a value indicating whether exceptions should be thrown. See also . + + A value of true if exception should be thrown; otherwise, false. + By default exceptions are not thrown under any circumstances. + + + + Gets or sets a value indicating whether should be thrown. + + If null then is used. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. After setting this property all + existing loggers will be re-configured, so there is no need to call + manually. + + + + + Gets or sets the global log level threshold. Log events below this threshold are not logged. + + + + + Gets the default culture info to use as . + + + Specific culture info or null to use + + + + + Logger cache key. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Determines if two objects are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Determines if two objects of the same type are equal in value. + + Other object to compare to. + True if objects are equal, false otherwise. + + + + Logger cache. + + + + + Inserts or updates. + + + + + + + Enables logging in implementation. + + + + + Initializes a new instance of the class. + + The factory. + + + + Enables logging. + + + + + Specialized LogFactory that can return instances of custom logger types. + + The type of the logger to be returned. Must inherit from . + + + + Gets the logger with type . + + The logger name. + An instance of . + + + + Gets a custom logger with the name of the current class and type . + + An instance of . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Provides logging interface and utility functions. + + + Provides logging interface and utility functions. + + + Logging methods which only are executed when the DEBUG conditional compilation symbol is set. + + + The DEBUG conditional compilation symbol is default enabled (only) in a debug build. + + If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. + This could lead to better performance. + + See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx + + + Auto-generated Logger members for binary compatibility with NLog 1.0. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether logging is enabled for the specified level. + + Log level to be checked. + A value of if logging is enabled for the specified level, otherwise it returns . + + + + Writes the specified diagnostic message. + + Log event. + + + + Writes the specified diagnostic message. + + The name of the type that wraps Logger. + Log event. + + + + Writes the diagnostic message at the specified level using the specified format provider and format parameters. + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + Type of the value. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + Log message. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message and exception at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + Arguments to format. + An exception to be logged. + + + + Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameter. + + The type of the argument. + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + The log level. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. + + Action to execute. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a default value is returned instead. + + Return type of the provided function. + Function to run. + Result returned by the provided function or the default value of type in case of exception. + + + + Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. + The exception is not propagated outside of this method; a fallback value is returned instead. + + Return type of the provided function. + Function to run. + Fallback value to return in case of exception. + Result returned by the provided function or fallback value in case of exception. + + + + Raises the event when the logger is reconfigured. + + Event arguments + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Trace level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Debug level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Info level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Info level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Info level. + + Log message. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Info level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Warn level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Warn level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Warn level. + + Log message. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Warn level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Error level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Error level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Error level. + + Log message. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Error level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Fatal level. + + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level. + + Log message. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + + + + Writes the diagnostic message and exception at the Fatal level. + + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. + + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameter. + + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Debug level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified format provider and format parameters. + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Type of the value. + An IFormatProvider that supplies culture-specific formatting information. + The value to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A function returning message to be written. Function is not evaluated if logging is not enabled. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message and exception at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + An exception to be logged. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + Log message. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + Arguments to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameter. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the argument. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + A containing one format item. + The first argument to format. + The second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + The type of the first argument. + The type of the second argument. + The type of the third argument. + A containing one format item. + The first argument to format. + The second argument to format. + The third argument to format. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + A to be written. + + + + Writes the diagnostic message at the Trace level. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + Only executed when the DEBUG conditional compilation symbol is set. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + Only executed when the DEBUG conditional compilation symbol is set. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + Only executed when the DEBUG conditional compilation symbol is set. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level. + + The log level. + A to be written. + + + + Writes the diagnostic message at the specified level. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the specified level using the specified parameters. + + The log level. + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. + + The log level. + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the specified level using the specified value as a parameter. + + The log level. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level. + + A to be written. + + + + Writes the diagnostic message at the Trace level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Trace level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Trace level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level. + + A to be written. + + + + Writes the diagnostic message at the Debug level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Debug level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Debug level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level. + + A to be written. + + + + Writes the diagnostic message at the Info level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Info level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Info level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level. + + A to be written. + + + + Writes the diagnostic message at the Warn level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Warn level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Warn level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level. + + A to be written. + + + + Writes the diagnostic message at the Error level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Error level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Error level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level. + + A to be written. + + + + Writes the diagnostic message at the Fatal level. + + An IFormatProvider that supplies culture-specific formatting information. + A to be written. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified parameters. + + A containing format items. + First argument to format. + Second argument to format. + Third argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. + + An IFormatProvider that supplies culture-specific formatting information. + A containing one format item. + The argument to format. + + + + Writes the diagnostic message at the Fatal level using the specified value as a parameter. + + A containing one format item. + The argument to format. + + + + Occurs when logger configuration changes. + + + + + Gets the name of the logger. + + + + + Gets the factory that created this logger. + + + + + Gets a value indicating whether logging is enabled for the Trace level. + + A value of if logging is enabled for the Trace level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Debug level. + + A value of if logging is enabled for the Debug level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Info level. + + A value of if logging is enabled for the Info level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Warn level. + + A value of if logging is enabled for the Warn level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Error level. + + A value of if logging is enabled for the Error level, otherwise it returns . + + + + Gets a value indicating whether logging is enabled for the Fatal level. + + A value of if logging is enabled for the Fatal level, otherwise it returns . + + + + Implementation of logging engine. + + + + + Finds first user stack frame in a stack trace + + The stack trace of the logging method invocation + Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. + Index of the first user stack frame or 0 if all stack frames are non-user + + + + Get the index which correspondens to the calling method. + + This is most of the time the first index after . + + all the frames of the stacktrace + frames which all hiddenAssemblies are removed + index on stacktrace + + + + Assembly to skip? + + Find assembly via this frame. + true, we should skip. + + + + Is this the type of the logger? + + get type of this logger in this frame. + Type of the logger. + + + + + Gets the filter result. + + The filter chain. + The log event. + The result of the filter. + + + + Stackframe with correspending index on the stracktrace + + + + + New item + + Index of on the stack. + A stackframe + + + + Index of on the stack. + + + + + A stackframe + + + + + Defines available log levels. + + + + + Trace log level. + + + + + Debug log level. + + + + + Info log level. + + + + + Warn log level. + + + + + Error log level. + + + + + Fatal log level. + + + + + Off log level. + + + + + Initializes a new instance of . + + The log level name. + The log level ordinal number. + + + + Compares two objects + and returns a value indicating whether + the first one is equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal == level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is not equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal != level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than the second one. + + The first level. + The second level. + The value of level1.Ordinal > level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is greater than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal >= level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than the second one. + + The first level. + The second level. + The value of level1.Ordinal < level2.Ordinal. + + + + Compares two objects + and returns a value indicating whether + the first one is less than or equal to the second one. + + The first level. + The second level. + The value of level1.Ordinal <= level2.Ordinal. + + + + Gets the that corresponds to the specified ordinal. + + The ordinal. + The instance. For 0 it returns , 1 gives and so on. + + + + Returns the that corresponds to the supplied . + + The textual representation of the log level. + The enumeration value. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Determines whether the specified instance is equal to this instance. + + The to compare with this instance. + Value of true if the specified is equal to + this instance; otherwise, false. + + + + Compares the level to the other object. + + + The object object. + + + A value less than zero when this logger's is + less than the other logger's ordinal, 0 when they are equal and + greater than zero when this ordinal is greater than the + other ordinal. + + + + + Gets all the availiable log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). + + + + + Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) + i.e LogLevel.Off is excluded. + + + + + Gets the name of the log level. + + + + + Gets the ordinal of the log level. + + + + + Creates and manages instances of objects. + + + + + Prevents a default instance of the LogManager class from being created. + + + + + Gets the logger with the name of the current class. + + The logger. + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Adds the given assembly which will be skipped + when NLog is trying to find the calling method on stack trace. + + The assembly to skip. + + + + Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. + + The logger class. The class must inherit from . + The logger of type . + This is a slow-running method. + Make sure you're not doing this in a loop. + + + + Creates a logger that discards all log messages. + + Null logger which discards all log messages. + + + + Gets the specified named logger. + + Name of the logger. + The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + + + + Gets the specified named custom logger. Use to pass the type of the needed Logger. + + Name of the logger. + The logger class. The class must inherit from . + The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. + The generic way for this method is + + + + Loops through all loggers previously returned by GetLogger. + and recalculates their target and filter list. Useful after modifying the configuration programmatically + to ensure that all loggers have been properly configured. + + + + + Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. + + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + Maximum time to allow for the flush. Any messages after that time will be discarded. + + + + Decreases the log enable counter and if it reaches -1 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + An object that implements IDisposable whose Dispose() method reenables logging. + To be used with C# using () statement. + + + + Increases the log enable counter and if it reaches 0 the logs are disabled. + + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Checks if logging is currently enabled. + + if logging is currently enabled, + otherwise. + Logging is enabled if the number of calls is greater + than or equal to calls. + + + + Dispose all targets, and shutdown logging. + + + + + Gets the fully qualified name of the class invoking the LogManager, including the + namespace but not the assembly. + + + + + Gets the default instance. + + + + + Occurs when logging changes. + + + + + Occurs when logging gets reloaded. + + + + + Gets or sets a value indicating whether NLog should throw exceptions. + By default exceptions are not thrown under any circumstances. + + + + + Gets or sets a value indicating whether should be thrown. + + A value of true if exception should be thrown; otherwise, false. + + This option is for backwards-compatiblity. + By default exceptions are not thrown under any circumstances. + + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. + Default value - false. + + + + + Gets or sets the current logging configuration. + + + + + + Gets or sets the global log threshold. Log events below this threshold are not logged. + + + + + Gets or sets the default culture to use. + + This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Delegate used to set/get the culture in use. + + This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Returns a log message. Used to defer calculation of + the log message until it's actually needed. + + Log message. + + + + Base implementation of a log receiver server which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Processes the log messages. + + The events to process. + + + + Processes the log messages. + + The log events. + + + + Service contract for Log Receiver client. + + This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver server. + + + + + Processes the log messages. + + The events. + + + + Service contract for Log Receiver client. + + + + + Begins processing of log messages. + + The events. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Client of + + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Gets the underlying implementation. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Implementation of which forwards received logs through or a given . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The log factory. + + + + Internal configuration of Log Receiver Service contracts. + + + + + Wire format for NLog Event. + + + + + Initializes a new instance of the class. + + + + + Converts the to . + + The object this is part of.. + The logger name prefix to prepend in front of the logger name. + Converted . + + + + Gets or sets the client-generated identifier of the event. + + + + + Gets or sets the ordinal of the log level. + + + + + Gets or sets the logger ordinal (index into . + + The logger ordinal. + + + + Gets or sets the time delta (in ticks) between the time of the event and base time. + + + + + Gets or sets the message string index. + + + + + Gets or sets the collection of layout values. + + + + + Gets the collection of indexes into array for each layout value. + + + + + Wire format for NLog event package. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + The logger name prefix to prepend in front of each logger name. + + Sequence of objects. + + + + + Converts the events to sequence of objects suitable for routing through NLog. + + + Sequence of objects. + + + + + Gets or sets the name of the client. + + The name of the client. + + + + Gets or sets the base time (UTC ticks) for all events in the package. + + The base time UTC. + + + + Gets or sets the collection of layout names which are shared among all events. + + The layout names. + + + + Gets or sets the collection of logger names. + + The logger names. + + + + Gets or sets the list of events. + + The events. + + + + List of strings annotated for more terse serialization. + + + + + Initializes a new instance of the class. + + + + + Log Receiver Client using WCF. + + + This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release. + + It provides an implementation of the legacy interface and it will be completely obsolete when the + ILogReceiverClient is removed. + + + + + Abstract base class for the WcfLogReceiverXXXWay classes. It can only be + used internally (see internal constructor). It passes off any Channel usage + to the inheriting class. + + Type of the WCF service. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Closes the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Occurs when the log message processing has completed. + + + + + Occurs when Open operation has completed. + + + + + Occurs when Close operation has completed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client facade. It allows the use either of the one way or two way + service contract using WCF through its unified interface. + + + Delegating methods are generated with Resharper. + 1. change ProxiedClient to private field (instead of public property) + 2. delegate members + 3. change ProxiedClient back to public property. + + + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Whether to use the one way or two way WCF client. + The binding. + The remote address. + + + + Causes a communication object to transition immediately from its current state into the closed state. + + + + + Begins an asynchronous operation to close a communication object. + + + The that references the asynchronous close operation. + + The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to close a communication object with a specified timeout. + + + The that references the asynchronous close operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully. + + + + Begins an asynchronous operation to open a communication object. + + + The that references the asynchronous open operation. + + The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins an asynchronous operation to open a communication object within a specified interval of time. + + + The that references the asynchronous open operation. + + The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Causes a communication object to transition from its current state into the closed state. + + The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Causes a communication object to transition from its current state into the closed state. + + was called on an object in the state.The default close timeout elapsed before the was able to close gracefully. + + + + Closes the client asynchronously. + + User-specific state. + + + + Closes the client asynchronously. + + + + + Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. + + + + + Completes an asynchronous operation to close a communication object. + + The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. + + + + Completes an asynchronous operation to open a communication object. + + The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. + + + + Ends asynchronous processing of log messages. + + The result. + + + + Causes a communication object to transition from the created state into the opened state. + + The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state. + + + + Causes a communication object to transition from the created state into the opened state within a specified interval of time. + + The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state. + + + + Opens the client asynchronously. + + + + + Opens the client asynchronously. + + User-specific state. + + + + Processes the log messages asynchronously. + + The events to send. + + + + Processes the log messages asynchronously. + + The events to send. + User-specific state. + + + + Causes a communication object to transition from its current state into the closed state. + + + + + The client getting proxied + + + + + Do we use one-way or two-way messaging? + + + + + Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. + + + + + Occurs when Close operation has completed. + + + + + Occurs when the communication object completes its transition from the closing state into the closed state. + + + + + Occurs when the communication object first enters the closing state. + + + + + Gets the target endpoint for the service to which the WCF client can connect. + + + + + Occurs when the communication object first enters the faulted state. + + + + + Gets the underlying implementation. + + + + + Occurs when Open operation has completed. + + + + + Occurs when the communication object completes its transition from the opening state into the opened state. + + + + + Occurs when the communication object first enters the opening state. + + + + + Occurs when the log message processing has completed. + + + + + Gets the current state of the communication-oriented object. + + + The value of the of the object. + + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Log Receiver Client using WCF. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + Name of the endpoint configuration. + The remote address. + + + + Initializes a new instance of the class. + + The binding. + The remote address. + + + + Begins processing of log messages. + + The events to send. + The callback. + Asynchronous state. + + IAsyncResult value which can be passed to . + + + + + Ends asynchronous processing of log messages. + + The result. + + + + Mapped Diagnostics Context - a thread-local structure that keeps a dictionary + of strings and provides methods to output them in layouts. + Mostly for compatibility with log4net. + + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The to use when converting a value to a . + The value of , if defined; otherwise . + If is null and the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item, as . + + Item name. + The value of , if defined; otherwise null. + + + + Returns all item names + + A set of the names of all items in current thread-MDC. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified exists in current thread MDC. + + + + Removes the specified from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Mapped Diagnostics Context - used for log4net compatibility. + + This class marked as obsolete before NLog 2.0 and it may be removed in a future release. + + + + Sets the current thread MDC item to the specified value. + + Item name. + Item value. + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise . + If the value isn't a already, this call locks the for reading the needed for converting to . + + + + Gets the current thread MDC named item. + + Item name. + The value of , if defined; otherwise null. + + + + Checks whether the specified item exists in current thread MDC. + + Item name. + A boolean indicating whether the specified item exists in current thread MDC. + + + + Removes the specified item from current thread MDC. + + Item name. + + + + Clears the content of current thread MDC. + + + + + Nested Diagnostics Context - for log4net compatibility. + + This class marked as obsolete on NLog 2.0 and it may be removed in a future release. + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top object off the NDC stack. The object is removed from the stack. + + The top object from the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all objects on the NDC stack. The objects are not removed from the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Nested Diagnostics Context - a thread-local structure that keeps a stack + of strings and provides methods to output them in layouts + Mostly for compatibility with log4net. + + + + + Pushes the specified text on current thread NDC. + + The text to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pushes the specified object on current thread NDC. + + The object to be pushed. + An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. + + + + Pops the top message off the NDC stack. + + The top message which is no longer on the stack. + + + + Pops the top message from the NDC stack. + + The to use when converting the value to a string. + The top message, which is removed from the stack, as a string value. + + + + Pops the top object off the NDC stack. + + The object from the top of the NDC stack, if defined; otherwise null. + + + + Clears current thread NDC stack. + + + + + Gets all messages on the stack. + + Array of strings on the stack. + + + + Gets all messages from the stack, without removing them. + + The to use when converting a value to a string. + Array of strings. + + + + Gets all objects on the stack. + + Array of objects on the stack. + + + + Gets the top NDC message but doesn't remove it. + + The top message. . + + + + Gets the top NDC object but doesn't remove it. + + The object at the top of the NDC stack if defined; otherwise null. + + + + Resets the stack to the original count during . + + + + + Initializes a new instance of the class. + + The stack. + The previous count. + + + + Reverts the stack to original item count. + + + + + Exception thrown during NLog configuration. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The inner exception. + The message. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + Exception thrown during log event processing. + + + + + 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. + Parameters for the message + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is null. + + + The class name is null or is zero (0). + + + + + TraceListener which routes all messages through NLog. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, writes the specified message to the listener you create in the derived class. + + A message to write. + + + + When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. + + A message to write. + + + + When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. + + + + + Emits an error message. + + A message to emit. + + + + Emits an error message and a detailed error message. + + A message to emit. + A detailed message to emit. + + + + Flushes the output (if is not true) buffer with the default timeout of 15 seconds. + + + + + Writes trace information, a data object and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + The trace data to emit. + + + + Writes trace information, an array of data objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + An array of objects to emit as data. + + + + Writes trace and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + + + + Writes trace information, a formatted array of objects and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A format string that contains zero or more format items, which correspond to objects in the array. + An object array containing zero or more objects to format. + + + + Writes trace information, a message, and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + One of the values specifying the type of event that has caused the trace. + A numeric identifier for the event. + A message to write. + + + + Writes trace information, a message, a related activity identity and event information to the listener specific output. + + A object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output, typically the name of the application that generated the trace event. + A numeric identifier for the event. + A message to write. + A object identifying a related activity. + + + + Gets the custom attributes supported by the trace listener. + + + A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. + + + + + Translates the event type to level from . + + Type of the event. + Translated log level. + + + + Process the log event + The log level. + The name of the logger. + The log message. + The log parameters. + The event id. + The event type. + The related activity id. + + + + + Gets or sets the log factory to use when outputting messages (null - use LogManager). + + + + + Gets or sets the default log level. + + + + + Gets or sets the log which should be always used regardless of source level. + + + + + Gets or sets a value indicating whether flush calls from trace sources should be ignored. + + + + + Gets a value indicating whether the trace listener is thread safe. + + + true if the trace listener is thread safe; otherwise, false. The default is false. + + + + Gets or sets a value indicating whether to use auto logger name detected from the stack trace. + + + + + It works as a normal but it discards all messages which an application requests + to be logged. + + It effectively implements the "Null Object" pattern for objects. + + + + + Initializes a new instance of . + + The factory class to be used for the creation of this logger. + + + + Specifies the way archive numbering is performed. + + + + + Sequence style numbering. The most recent archive has the highest number. + + + + + Rolling style numbering (the most recent is always #0 then #1, ..., #N. + + + + + Date style numbering. Archives will be stamped with the prior period + (Year, Month, Day, Hour, Minute) datetime. + + + + + Date and sequence style numbering. + Archives will be stamped with the prior period (Year, Month, Day) datetime. + The most recent archive has the highest number (in combination with the date). + + + + + Sends log messages to the remote instance of Chainsaw application from log4j. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages to the remote instance of NLog Viewer. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will crawl. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+
+
+ + + Sends log messages over the network. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ To print the results, use any application that's able to receive messages over + TCP or UDP. NetCat is + a simple but very powerful command-line tool that can be used for that. This image + demonstrates the NetCat tool receiving log messages from Network target. +

+ +

+ NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol + or you'll get TCP timeouts and your application will be very slow. + Either switch to UDP transport or use AsyncWrapper target + so that your application threads will not be blocked by the timing-out connection attempts. +

+

+ There are two specialized versions of the Network target: Chainsaw + and NLogViewer which write to instances of Chainsaw log4j viewer + or NLogViewer application respectively. +

+
+
+ + + Represents target that supports string formatting using layouts. + + + + + Represents logging target. + + + + Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts + + + + Can be used if has been enabled. + + + + + Get all used layouts in this target. + + + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Closes the target. + + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Calls the on each volatile layout + used by this target. + This method won't prerender if all layouts in this target are thread-agnostic. + + + The log event. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Writes the log to the target. + + Log event to write. + + + + Writes the array of log events. + + The log events. + + + + Writes the array of log events. + + The log events. + + + + Initializes this instance. + + The configuration. + + + + Closes this instance. + + + + + Releases unmanaged and - optionally - managed resources. + + True to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Writes async log event to the log target. + + Async Log event to be written out. + + + + Writes a log event to the log target, in a thread safe manner. + + Log event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Writes an array of logging events to the log target, in a thread safe manner. + + Logging events to be written out. + + + + Merges (copies) the event context properties from any event info object stored in + parameters of the given event info object. + + The event info object to perform the merge to. + + + + Renders the event info in layout. + + The layout. + The event info. + String representing log event. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Register a custom Target. + + Short-cut for registing to default + Type of the Target. + Name of the Target. + + + + Gets or sets the name of the target. + + + + + + Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers + Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit + + + + + + Gets the object which can be used to synchronize asynchronous operations that must rely on the . + + + + + Gets the logging configuration this target is part of. + + + + + Gets a value indicating whether the target has been initialized. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the layout used to format log messages. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Sends the + rendered logging event over the network optionally concatenating it with a newline character. + + The logging event. + + + + Try to remove. + + + + + removed something? + + + + Gets the bytes to be written. + + Log event. + Byte array. + + + + Gets or sets the network address. + + + The network address can be: +
    +
  • tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
  • +
  • tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
  • +
  • tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
  • +
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
  • +
  • http://host:port/pageName - HTTP using POST verb
  • +
  • https://host:port/pageName - HTTPS using POST verb
  • +
+ For SOAP-based webservice support over HTTP use WebService target. +
+ +
+ + + Gets or sets a value indicating whether to keep connection open whenever possible. + + + + + + Gets or sets a value indicating whether to append newline at the end of log message. + + + + + + Gets or sets the end of line value if a newline is appended at the end of log message . + + + + + + Gets or sets the maximum message size in bytes. + + + + + + Gets or sets the size of the connection cache (number of connections which are kept alive). + + + + + + Gets or sets the maximum current connections. 0 = no maximum. + + + + + + Gets or sets the action that should be taken if the will be more connections than . + + + + + + Gets or sets the maximum queue size. + + + + + Gets or sets the action that should be taken if the message is larger than + maxMessageSize. + + + + + + Gets or sets the encoding to be used. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. + + + + + + Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + + Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. + + + + + + Gets or sets a value indicating whether to include dictionary contents. + + + + + + Gets or sets a value indicating whether to include stack contents. + + + + + + Gets or sets the NDC item separator. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a named parameter. + + + + + + Gets the layout renderer which produces Log4j-compatible XML events. + + + + + Gets or sets the instance of that is used to format log messages. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a name. + + Name of the target. + + + + Writes log messages to the console with customizable coloring. + + Documentation on NLog Wiki + + + + Represents target that supports string formatting using layouts. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Gets or sets the text to be rendered. + + + + + + Gets or sets the footer. + + + + + + Gets or sets the header. + + + + + + Gets or sets the layout with header and footer. + + The layout with header and footer. + + + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified log event to the console highlighting entries + and words based on a set of defined rules. + + Log event. + + + + Gets or sets a value indicating whether the error stream (stderr) should be used instead of the output stream (stdout). + + + + + + Gets or sets a value indicating whether to use default row highlighting rules. + + + The default rules are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConditionForeground ColorBackground Color
level == LogLevel.FatalRedNoChange
level == LogLevel.ErrorYellowNoChange
level == LogLevel.WarnMagentaNoChange
level == LogLevel.InfoWhiteNoChange
level == LogLevel.DebugGrayNoChange
level == LogLevel.TraceDarkGrayNoChange
+
+ +
+ + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available. + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Gets the row highlighting rules. + + + + + + Gets the word highlighting rules. + + + + + + Color pair (foreground and background). + + + + + Colored console output color. + + + Note that this enumeration is defined to be binary compatible with + .NET 2.0 System.ConsoleColor + some additions + + + + + Black Color (#000000). + + + + + Dark blue Color (#000080). + + + + + Dark green Color (#008000). + + + + + Dark Cyan Color (#008080). + + + + + Dark Red Color (#800000). + + + + + Dark Magenta Color (#800080). + + + + + Dark Yellow Color (#808000). + + + + + Gray Color (#C0C0C0). + + + + + Dark Gray Color (#808080). + + + + + Blue Color (#0000FF). + + + + + Green Color (#00FF00). + + + + + Cyan Color (#00FFFF). + + + + + Red Color (#FF0000). + + + + + Magenta Color (#FF00FF). + + + + + Yellow Color (#FFFF00). + + + + + White Color (#FFFFFF). + + + + + Don't change the color. + + + + + The row-highlighting condition. + + + + + Initializes static members of the ConsoleRowHighlightingRule class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The condition. + Color of the foreground. + Color of the background. + + + + Checks whether the specified log event matches the condition (if any). + + + Log event. + + + A value of if the condition is not defined or + if it matches, otherwise. + + + + + Gets the default highlighting rule. Doesn't change the color. + + + + + Gets or sets the condition that must be met in order to set the specified foreground and background color. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Writes log messages to the console. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Should logging being paused/stopped because of the race condition bug in Console.Writeline? + + + Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. + See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written + and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service + + Full error: + Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. + The I/ O package is not thread safe by default.In multithreaded applications, + a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or + TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the Console.Out or + Console.Error depending on the value of the Error flag. + + The logging event. + + Note that the Error option is not supported on .NET Compact Framework. + + + + + Write to output + + text to be written. + + + + Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. + + + + + + The encoding for writing messages to the . + + Has side effect + + + + Gets or sets a value indicating whether to auto-check if the console is available + - Disables console writing if Environment.UserInteractive = False (Windows Service) + - Disables console writing if Console Standard Input is not available (Non-Console-App) + + + + + Highlighting rule for Win32 colorful console. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text to be matched.. + Color of the foreground. + Color of the background. + + + + Get regex options. + + Default option to start with. + + + + + Get Expression for a . + + + + + + Replace regex result + + + + + + + Gets or sets the regular expression to be matched. You must specify either text or regex. + + + + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + + + + Gets or sets the text to be matched. You must specify either text or regex. + + + + + + Gets or sets a value indicating whether to match whole words only. + + + + + + Gets or sets a value indicating whether to ignore case when comparing texts. + + + + + + Gets or sets the foreground color. + + + + + + Gets or sets the background color. + + + + + + Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. + + Access this property will compile the Regex. + + + + Information about database command + parameters. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the type of the command. + + The type of the command. + + + + + Gets or sets the connection string to run the command against. If not provided, connection string from the target is used. + + + + + + Gets or sets the command text. + + + + + + Gets or sets a value indicating whether to ignore failures. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + Represents a parameter to a Database target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the parameter. + The parameter layout. + + + + Gets or sets the database parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Gets or sets the database parameter size. + + + + + + Gets or sets the database parameter precision. + + + + + + Gets or sets the database parameter scale. + + + + + + Writes log messages to the database using an ADO.NET provider. + + Documentation on NLog Wiki + + + The configuration is dependent on the database type, because + there are differnet methods of specifying connection string, SQL + command and command parameters. + + MS SQL Server using System.Data.SqlClient: + + Oracle using System.Data.OracleClient: + + Oracle using System.Data.OleDBClient: + + To set up the log target programmatically use code like this (an equivalent of MSSQL configuration): + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the database. It creates + a new database command, prepares parameters for it by calculating + layouts and executes the command. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Build the connectionstring from the properties. + + + Using at first, and falls back to the properties , + , and + + Event to render the layout inside the properties. + + + + + Gets or sets the name of the database provider. + + + + The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are: + +
    +
  • System.Data.SqlClient - SQL Sever Client
  • +
  • System.Data.SqlServerCe.3.5 - SQL Sever Compact 3.5
  • +
  • System.Data.OracleClient - Oracle Client from Microsoft (deprecated in .NET Framework 4)
  • +
  • Oracle.DataAccess.Client - ODP.NET provider from Oracle
  • +
  • System.Data.SQLite - System.Data.SQLite driver for SQLite
  • +
  • Npgsql - Npgsql driver for PostgreSQL
  • +
  • MySql.Data.MySqlClient - MySQL Connector/Net
  • +
+ (Note that provider invariant names are not supported on .NET Compact Framework). + + Alternatively the parameter value can be be a fully qualified name of the provider + connection type (class implementing ) or one of the following tokens: + +
    +
  • sqlserver, mssql, microsoft or msde - SQL Server Data Provider
  • +
  • oledb - OLEDB Data Provider
  • +
  • odbc - ODBC Data Provider
  • +
+
+ +
+ + + Gets or sets the name of the connection string (as specified in <connectionStrings> configuration section. + + + + + + Gets or sets the connection string. When provided, it overrides the values + specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + + Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + + + + Gets the installation DDL commands. + + + + + + Gets the uninstallation DDL commands. + + + + + + Gets or sets a value indicating whether to keep the + database connection open between the log events. + + + + + + Obsolete - value will be ignored! The logging code always runs outside of transaction. + + Gets or sets a value indicating whether to use database transactions. + Some data providers require this. + + + + This option was removed in NLog 4.0 because the logging code always runs outside of transaction. + This ensures that the log gets written to the database if you rollback the main transaction because of an error and want to log the error. + + + + + Gets or sets the database host name. If the ConnectionString is not provided + this value will be used to construct the "Server=" part of the + connection string. + + + + + + Gets or sets the database user name. If the ConnectionString is not provided + this value will be used to construct the "User ID=" part of the + connection string. + + + + + + Gets or sets the database password. If the ConnectionString is not provided + this value will be used to construct the "Password=" part of the + connection string. + + + + + + Gets or sets the database name. If the ConnectionString is not provided + this value will be used to construct the "Database=" part of the + connection string. + + + + + + Gets or sets the text of the SQL command to be run on each log level. + + + Typically this is a SQL INSERT statement or a stored procedure call. + It should use the database-specific parameters (marked as @parameter + for SQL server or :parameter for Oracle, other data providers + have their own notation) and not the layout renderers, + because the latter is prone to SQL injection attacks. + The layout renderers should be specified as <parameter /> elements instead. + + + + + + Gets or sets the type of the SQL command to be run on each log level. + + + This specifies how the command text is interpreted, as "Text" (default) or as "StoredProcedure". + When using the value StoredProcedure, the commandText-property would + normally be the name of the stored procedure. TableDirect method is not supported in this context. + + + + + + Gets the collection of parameters. Each parameter contains a mapping + between NLog layout and a database named or positional parameter. + + + + + + A descriptor for an archive created with the DateAndSequence numbering mode. + + + + + Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. + + The date to compare the current object's date to. + True if the formatted dates are equal, otherwise False. + + + + Initializes a new instance of the class. + + + + + The full name of the archive file. + + + + + The parsed date contained in the file name. + + + + + The parsed sequence number contained in the file name. + + + + + Writes log messages to the attached managed debugger. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Initializes the target. + + + + + Closes the target and releases any unmanaged resources. + + + + + Writes the specified logging event to the attached debugger. + + The logging event. + + + + Mock target - useful for testing. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Increases the number of messages. + + The logging event. + + + + Gets the number of times this target has been called. + + + + + + Gets the last message rendered by this target. + + + + + + Default class for serialization of values to JSON format. + + + + + Interface for serialization of values, maybe even objects to JSON format. + Useful for wrappers for existing serializers. + + + + + Returns a serialization of an object + into JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + Serialized value. + + + + Returns a serialization of an object + int JSON format. + + The object to serialize to JSON. + The objects in path. + The current depth (level) of recursion. + + Serialized value. + + + + + Converts object value into JSON escaped string + + Object value + Should string be JSON encoded with quotes + Object value converted to JSON escaped string + + + + Checks input string if it needs JSON escaping, and makes necessary conversion + + Input string + JSON escaped string + + + + Singleton instance of the serializer. + + + + + Writes log message to the Event Log. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Initializes the target. + + + + + Writes the specified logging event to the event log. + + The logging event. + + + + Get the entry type for logging the message. + + The logging event - for rendering the + + + + + Get the source, if and only if the source is fixed. + + null when not + Internal for unit tests + + + + Get the eventlog to write to. + + Event if the source needs to be rendered. + + + + + (re-)create a event source, if it isn't there. Works only with fixed sourcenames. + + sourcenaam. If source is not fixed (see , then pass null or emptystring. + always throw an Exception when there is an error + + + + Gets or sets the name of the machine on which Event Log service is running. + + + + + + Gets or sets the layout that renders event ID. + + + + + + Gets or sets the layout that renders event Category. + + + + + + Optional entrytype. When not set, or when not convertable to then determined by + + + + + Gets or sets the value to be used as the event Source. + + + By default this is the friendly name of the current AppDomain. + + + + + + Gets or sets the name of the Event Log to write to. This can be System, Application or + any user-defined name. + + + + + + Gets or sets the message length limit to write to the Event Log. + + MaxMessageLength cannot be zero or negative + + + + Gets or sets the action to take if the message is larger than the option. + + + + + + Action that should be taken if the message is greater than + the max message size allowed by the Event Log. + + + + + Truncate the message before writing to the Event Log. + + + + + Split the message and write multiple entries to the Event Log. + + + + + Discard of the message. It will not be written to the Event Log. + + + + + Modes of archiving files based on time. + + + + + Don't archive based on time. + + + + + AddToArchive every year. + + + + + AddToArchive every month. + + + + + AddToArchive daily. + + + + + AddToArchive every hour. + + + + + AddToArchive every minute. + + + + + AddToArchive every Sunday. + + + + + AddToArchive every Monday. + + + + + AddToArchive every Tuesday. + + + + + AddToArchive every Wednesday. + + + + + AddToArchive every Thursday. + + + + + AddToArchive every Friday. + + + + + AddToArchive every Saturday. + + + + + Type of filepath + + + + + Detect of relative or absolute + + + + + Relative path + + + + + Absolute path + + Best for performance + + + + Writes log messages to one or more files. + + Documentation on NLog Wiki + + + + Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. + + Clean up period is defined in days. + + + + The maximum number of initialised files at any one time. Once this number is exceeded clean up procedures + are initiated to reduce the number of initialised files. + + + + + This value disables file archiving based on the size. + + + + + Holds the initialised files each given time by the instance. Against each file, the last write time is stored. + + Last write time is store in local time (no UTC). + + + + Factory used to create the file appenders in the instance. + + File appenders are stored in an instance of . + + + + List of the associated file appenders with the instance. + + + + + The number of initialised files at any one time. + + + + + The maximum number of archive files that should be kept. + + + + + It holds the file names of existing archives in order for the oldest archives to be removed when the list of + filenames becomes too long. + + + + + The filename as target + + + + + The archive file name as target + + + + + The date of the previous log event. + + + + + The file name of the previous log event. + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Refresh the ArchiveFilePatternToWatch option of the . + The log file must be watched for archiving when multiple processes are writing to the same + open file. + + + + + Removes records of initialized files that have not been + accessed in the last two days. + + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Removes records of initialized files that have not been + accessed after the specified date. + + The cleanup threshold. + + Files are marked 'initialized' for the purpose of writing footers when the logging finishes. + + + + + Flushes all pending file operations. + + The asynchronous continuation. + + The timeout parameter is ignored, because file APIs don't provide + the needed functionality. + + + + + Returns the suitable appender factory ( ) to be used to generate the file + appenders associated with the instance. + + The type of the file appender factory returned depends on the values of various properties. + + suitable for this instance. + + + + Initializes file logging by creating data structures that + enable efficient multi-file logging. + + + + + Closes the file(s) opened for writing. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Can be used if has been enabled. + + + + + Writes the specified logging event to a file specified in the FileName + parameter. + + The logging event. + + + + Get full filename (=absolute) and cleaned if needed. + + + + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes the specified array of logging events to a file specified in the FileName + parameter. + + An array of objects. + + This function makes use of the fact that the events are batched by sorting + the requests by filename. This optimizes the number of open/close calls + and can help improve performance. + + + + + Returns estimated size for memory stream, based on events count and first event size in bytes. + + Count of events + Bytes count of first event + + + + Formats the log event for write. + + The log event to be formatted. + A string representation of the log event. + + + + Gets the bytes to be written to the file. + + Log event. + Array of bytes that are ready to be written. + + + + Modifies the specified byte array before it gets sent to a file. + + The byte array. + The modified byte array. The function can do the modification in-place. + + + + Gets the bytes to be written to the file. + + The log event to be formatted. + to help format log event. + Optional temporary char-array to help format log event. + Destination for the encoded result. + + + + Formats the log event for write. + + The log event to be formatted. + Initially empty for the result. + + + + Modifies the specified byte array before it gets sent to a file. + + The LogEvent being written + The byte array. + + + + Replaces the numeric pattern i.e. {#} in a file name with the parameter value. + + File name which contains the numeric pattern. + Value which will replace the numeric pattern. + File name with the value of in the position of the numeric pattern. + + + + Determines if the file name as contains a numeric pattern i.e. {#} in it. + + Example: + trace{#}.log Contains the numeric pattern. + trace{###}.log Contains the numeric pattern. + trace{#X#}.log Contains the numeric pattern (See remarks). + trace.log Does not contain the pattern. + + Occasionally, this method can identify the existence of the {#} pattern incorrectly. + File name to be checked. + when the pattern is found; otherwise. + + + + Archives the using a rolling style numbering (the most recent is always #0 then + #1, ..., #N. When the number of archive files exceed the obsolete archives + are deleted. + + + This method is called recursively. This is the reason the is required. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Value which will replace the numeric pattern. + + + + Archives the using a sequence style numbering. The most recent archive has the + highest number. When the number of archive files exceed the obsolete + archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + + + + Archives fileName to archiveFileName. + + File name to be archived. + Name of the archive file. + + + + + Archives the using a date and sequence style numbering. Archives will be stamped + with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in + combination with the date). + + + When the number of archive files exceed the obsolete archives are deleted. + + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. + + List of the file archives. + + Items are deleted in the same order as in . No file is deleted if property is zero. + + + + + Searches a given directory for archives that comply with the current archive pattern. + + An enumeration of archive infos, ordered by their file creation date. + + + + Parse filename with date and sequence pattern + + + dateformat for archive + + the found pattern. When failed, then default + the found pattern. When failed, then default + + + + + Gets the collection of files in the specified directory which they match the . + + Directory to searched. + Pattern which the files will be searched against. + List of files matching the pattern. + + + + Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. + + File name which contains the string-based pattern. + Value which will replace the string-based pattern. + + File name with the value of in the position of the string-based pattern. + + + + + Archives the using a date style numbering. Archives will be stamped with the + prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted. + + File name to be archived. + File name template which contains the numeric pattern to be replaced. + Log event that the instance is currently processing. + + + + Deletes archive files in reverse chronological order until only the + MaxArchiveFiles number of archive files remain. + + The pattern that archive filenames will match + + + + Gets the correct formatting to be used based on the value of for converting values which will be inserting into file + names during archiving. + + This value will be computed only when a empty value or is passed into + + Date format to used irrespectively of value. + Formatting for dates. + + + + Calculate the DateTime of the requested day of the week. + + The DateTime of the previous log event. + The next occuring day of the week to return a DateTime for. + The DateTime of the next occuring dayOfWeek. + For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return + Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. + + + + Invokes the archiving process after determining when and which type of archiving is required. + + File name to be checked and archived. + Log event that the instance is currently processing. + + + + Gets the pattern that archive files will match + + Filename of the log file + Log event that the instance is currently processing. + A string with a pattern that will match the archive filenames + + + + Determine if old archive files should be deleted. + + when old archives should be deleted; otherwise. + + + + Archives the file if it should be archived. + + The file name to check for. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + + + + Indicates if the automatic archiving process should be executed. + + File name to be written. + Log event that the instance is currently processing. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the correct filename to archive + + + + + + Gets the file name for archiving, or null if archiving should not occur based on file size. + + File name to be written. + The size in bytes of the next chunk of data to be written in the file. + Filename to archive. If null, then nothing to archive. + + + + Returns the file name for archiving, or null if archiving should not occur based on date/time. + + File name to be written. + Log event that the instance is currently processing. + Filename to archive. If null, then nothing to archive. + + + + Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks + + High resolution Time + Time Resolution Level + Truncated Low Resolution Time + + + + Evaluates which parts of a file should be written (header, content, footer) based on various properties of + instance and writes them. + + File name to be written. + Log event that the instance is currently processing. + Raw sequence of to be written into the content part of the file. + Indicates that only content section should be written in the file. + + + + Initialise a file to be used by the instance. Based on the number of initialised + files and the values of various instance properties clean up and/or archiving processes can be invoked. + + File name to be written. + Log event that the instance is currently processing. + Indicates that only content section should be written in the file. + when file header should be written; otherwise. + + + + Writes the file footer and finalizes the file in instance internal structures. + + File name to close. + Indicates if the file is being finalized for archiving. + + + + Writes the footer information to a file. + + The file path to write to. + + + + Invokes the archiving and clean up of older archive file based on the values of and properties respectively. + + File name to be written. + Log event that the instance is currently processing. + + + + Creates the file specified in and writes the file content in each entirety i.e. + Header, Content and Footer. + + The name of the file to be written. + Sequence of to be written in the content section of the file. + First attempt to write? + This method is used when the content of the log file is re-written on every write. + + + + Writes the header information to a file. + + File appender associated with the file. + + + + The sequence of to be written in a file after applying any formating and any + transformations required from the . + + The layout used to render output message. + Sequence of to be written. + Usually it is used to render the header and hooter of the files. + + + + Gets or sets the name of the file to write to. + + + This FileName string is a layout which may include instances of layout renderers. + This lets you use a single target to write to multiple files. + + + The following value makes NLog write logging events to files based on the log level in the directory where + the application runs. + ${basedir}/${level}.log + All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. + You can combine as many of the layout renderers as you want to produce an arbitrary log file name. + + + + + + Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. + If set to false, nothing gets written when the filename is wrong. + + + + + Is the an absolute or relative path? + + + + + Gets or sets a value indicating whether to create directories if they do not exist. + + + Setting this to false may improve performance a bit, but you'll receive an error + when attempting to write to a directory that's not present. + + + + + + Gets or sets a value indicating whether to delete old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + + + + + + Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. + + + + + + Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. + + + Setting this property to True helps improve performance. + + + + + + Gets or sets the maximum number of log filenames that should be stored as existing. + + + The bigger this number is the longer it will take to write each log record. The smaller the number is + the higher the chance that the clean function will be run when no new files have been opened. + + [Warning] This method will be renamed to correct text casing i.e. MaxLogFilenames in NLog 5. + + + + + + Gets or sets a value indicating whether to enable log file(s) to be deleted. + + + + + + Gets or sets the file attributes (Windows only). + + + + + + Should we capture the last write time of a file? + + + + + Gets or sets the line ending mode. + + + + + + Gets or sets a value indicating whether to automatically flush the file buffers after each log message. + + + + + + Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance + in a situation where a single File target is writing to many files + (such as splitting by level or by logger). + + + The files are managed on a LRU (least recently used) basis, which flushes + the files that have not been used for the longest period of time should the + cache become full. As a rule of thumb, you shouldn't set this parameter to + a very high value. A number like 10-15 shouldn't be exceeded, because you'd + be keeping a large number of files open which consumes system resources. + + + + + + Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are + not automatically closed after a period of inactivity. + + + + + + Gets or sets the log file buffer size in bytes. + + + + + + Gets or sets the file encoding. + + + + + + Gets or sets whether or not this target should just discard all data that its asked to write. + Mostly used for when testing NLog Stack except final write + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. + + + This makes multi-process logging possible. NLog uses a special technique + that lets it keep the files open for writing. + + + + + + Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. + + + This effectively prevents files from being kept open. + + + + + + Gets or sets the number of times the write is appended on the file before NLog + discards the log message. + + + + + + Gets or sets the delay in milliseconds to wait before attempting to write to the file again. + + + The actual delay is a random value between 0 and the value specified + in this parameter. On each failed attempt the delay base is doubled + up to times. + + + Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

+ a random value between 0 and 10 milliseconds - 1st attempt
+ a random value between 0 and 20 milliseconds - 2nd attempt
+ a random value between 0 and 40 milliseconds - 3rd attempt
+ a random value between 0 and 80 milliseconds - 4th attempt
+ ...

+ and so on. + + + + +

+ Gets or sets a value indicating whether to archive old log file on startup. + + + This option works only when the "FileName" parameter denotes a single file. + After archiving the old file, the current log file will be empty. + + +
+ + + Gets or sets a value specifying the date format to use when archiving files. + + + This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. + + + + + + Gets or sets the size in bytes above which log files will be automatically archived. + + Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. + Choose: + + + Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. + + + + + + Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. + + + Files are moved to the archive as part of the write operation if the current period of time changes. For example + if the current hour changes from 10 to 11, the first write that will occur + on or after 11:00 will trigger the archiving. +

+ Caution: Enabling this option can considerably slow down your file + logging in multi-process scenarios. If only one process is going to + be writing to the file, consider setting ConcurrentWrites + to false for maximum performance. +

+
+ +
+ + + Is the an absolute or relative path? + + + + + Gets or sets the name of the file to be used for an archive. + + + It may contain a special placeholder {#####} + that will be replaced with a sequence of numbers depending on + the archiving strategy. The number of hash characters used determines + the number of numerical digits to be used for numbering files. + + + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + + Gets or sets the way file archives are numbered. + + + + + + Used to compress log files during archiving. + This may be used to provide your own implementation of a zip file compressor, + on platforms other than .Net4.5. + Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. + + + + + Gets or sets a value indicating whether to compress archive files into the zip archive format. + + + + + + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Gets or sets a value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Gets or sets a value indicating whether the footer should be written only when the file is archived. + + + + + Gets the characters that are appended after each line. + + + + + Creates an instance of class. + + The file target instance whose files to archive. + Maximum number of archive files to be kept. + + + + Adds the files in the specified path to the archive file queue. + + The folder where the archive files are stored. + + + + Adds a file into archive. + + File name of the archive + Original file name + Create a directory, if it does not exist + if the file has been moved successfully; otherwise. + + + + Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. + + Target file name. + Original file name. + Create a directory, if it does not exist. + + + + Remove old archive files when the files on the queue are more than the . + + + + + Gets the file name for the next archive file by appending a number to the provided + "base"-filename. + + Example: + Original Filename trace.log + Target Filename trace.15.log + + Original file name. + File name suitable for archiving + + + + Gets or sets the maximum number of archive files that should be kept. + + + + + Characters determining the start of the . + + + + + Characters determining the end of the . + + + + + Replace the pattern with the specified String. + + + + + + + File name which is used as template for matching and replacements. + It is expected to contain a pattern to match. + + + + + The begging position of the + within the . -1 is returned + when no pattern can be found. + + + + + The ending position of the + within the . -1 is returned + when no pattern can be found. + + + + + may be configured to compress archived files in a custom way + by setting before logging your first event. + + + + + Create archiveFileName by compressing fileName. + + Absolute path to the log file to compress. + Absolute path to the compressed archive file to create. + + + + Line ending mode. + + + + + Insert platform-dependent end-of-line sequence after each line. + + + + + Insert CR LF sequence (ASCII 13, ASCII 10) after each line. + + + + + Insert CR character (ASCII 13) after each line. + + + + + Insert LF character (ASCII 10) after each line. + + + + + Do not insert any line ending. + + + + + Initializes a new instance of . + + The mode name. + The new line characters to be used. + + + + Returns the that corresponds to the supplied . + + + The textual representation of the line ending mode, such as CRLF, LF, Default etc. + Name is not case sensitive. + + The value, that corresponds to the . + There is no line ending mode with the specified name. + + + + Compares two objects and returns a + value indicating whether the first one is equal to the second one. + + The first level. + The second level. + The value of mode1.NewLineCharacters == mode2.NewLineCharacters. + + + + Compares two objects and returns a + value indicating whether the first one is not equal to the second one. + + The first mode + The second mode + The value of mode1.NewLineCharacters != mode2.NewLineCharacters. + + + + Returns a string representation of the log level. + + Log level name. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms + and data structures like a hash table. + + + + + Determines whether the specified is + equal to this instance. + + The to compare with + this instance. + + Value of true if the specified + is equal to this instance; otherwise, false. + + + The parameter is null. + + + + + Gets the name of the LineEndingMode instance. + + + + + Gets the new line characters (value) of the LineEndingMode instance. + + + + + Provides a type converter to convert objects to and from other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + + true if this converter can perform the conversion; otherwise, false. + + An that provides a format context. A that represents the type you want to convert from. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + + An that represents the converted value. + + An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. + + + + Sends log messages to a NLog Receiver Service (using WCF or Web Services). + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Called when log events are being sent (test hook). + + The events. + The async continuations. + True if events should be sent, false to stop processing them. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Append" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Creating a new instance of WcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release. + + + + Creating a new instance of IWcfLogReceiverClient + + Inheritors can override this method and provide their own + service configuration - binding and endpoint address + + + virtual is used by endusers + + + + Gets or sets the endpoint address. + + The endpoint address. + + + + + Gets or sets the name of the endpoint configuration in WCF configuration file. + + The name of the endpoint configuration. + + + + + Gets or sets a value indicating whether to use binary message encoding. + + + + + + Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) + + + + + + Gets or sets the client ID. + + The client ID. + + + + + Gets the list of parameters. + + The parameters. + + + + + Gets or sets a value indicating whether to include per-event properties in the payload sent to the server. + + + + + + Sends log messages by email using SMTP protocol. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

+ Mail target works best when used with BufferingWrapper target + which lets you send multiple log messages in single mail +

+

+ To set up the buffered mail target in the configuration file, + use the following syntax: +

+ +

+ To set up the buffered mail target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Renders an array logging events. + + Array of logging events. + + + + Initializes the target. Can be used by inheriting classes + to initialize logging. + + + + + Create mail and send with SMTP + + event printed in the body of the event + + + + Create buffer for body + + all events + first event for header + last event for footer + + + + + Set properties of + + last event for username/password + client to set properties on + Configure not at , as the properties could have layout renderers. + + + + Handle if it is a virtual directory. + + + + + + + Create key for grouping. Needed for multiple events in one mailmessage + + event for rendering layouts + string to group on + + + + Append rendered layout to the stringbuilder + + append to this + event for rendering + append if not null + + + + Create the mailmessage with the addresses, properties and body. + + + + + Render and add the addresses to + + Addresses appended to this list + layout with addresses, ; separated + event for rendering the + added a address? + + + + Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration. + E.g when UseSystemNetMailSettings is enabled and we need to read the From attribute from system.net/mailSettings/smtp + + Internal for mocking + + + + Gets or sets sender's email address (e.g. joe@domain.com). + + + + + + Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). + + + + + + Gets or sets a value indicating whether to add new lines between log entries. + + A value of true if new lines should be added; otherwise, false. + + + + + Gets or sets the mail subject. + + + + + + Gets or sets mail message body (repeated for each log message send in one mail). + + Alias for the Layout property. + + + + + Gets or sets encoding to be used for sending e-mail. + + + + + + Gets or sets a value indicating whether to send message as HTML instead of plain text. + + + + + + Gets or sets SMTP Server to be used for sending. + + + + + + Gets or sets SMTP Authentication mode. + + + + + + Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). + + + + + + Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. + + . + + + + Gets or sets the port number that SMTP Server is listening on. + + + + + + Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. + + + + + + Specifies how outgoing email messages will be handled. + + + + + + Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. + + + + + + Gets or sets the priority used for sending mails. + + + + + Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. +
+ Only happens when is set to true. +
+ + + Gets or sets a value indicating the SMTP client timeout. + + Warning: zero is not infinit waiting + + + + Writes log messages to an ArrayList in memory for programmatic retrieval. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Renders the logging event message and adds it to the internal ArrayList of log messages. + + The logging event. + + + + Gets the list of logs gathered in the . + + + + + A parameter to MethodCall. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The layout to use for parameter value. + + + + Initializes a new instance of the class. + + Name of the parameter. + The layout. + + + + Initializes a new instance of the class. + + The name of the parameter. + The layout. + The type of the parameter. + + + + Gets or sets the name of the parameter. + + + + + + Gets or sets the type of the parameter. Obsolete alias for + + + + + + Gets or sets the type of the parameter. + + + + + + Gets or sets the layout that should be use to calculate the value for the parameter. + + + + + + Calls the specified static method on each log message and passes contextual parameters to it. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + The base class for all targets which call methods (local or remote). + Manages parameters and type coercion. + + + + + Initializes a new instance of the class. + + + + + Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). + + + The logging event. + + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + The continuation. + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Gets the array of parameters to be passed. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Initializes the target. + + + + + Calls the specified Method. + + Method parameters. + + + + Gets or sets the class name. + + + + + + Gets or sets the method name. The method must be public and static. + + Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx + e.g. + + + + + + The action to be taken when there are more connections then the max. + + + + + Just allow it. + + + + + Discard the connection item. + + + + + Block until there's more room in the queue. + + + + + Action that should be taken if the message overflows. + + + + + Report an error. + + + + + Split the message into smaller pieces. + + + + + Discard the entire message. + + + + + Represents a parameter to a NLogViewer target. + + + + + Initializes a new instance of the class. + + + + + Gets or sets viewer parameter name. + + + + + + Gets or sets the layout that should be use to calcuate the value for the parameter. + + + + + + Discards log messages. Used mainly for debugging and benchmarking. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + + Does nothing. Optionally it calculates the layout text but + discards the results. + + The logging event. + + + + Gets or sets a value indicating whether to perform layout calculation. + + + + + + Outputs log messages through the OutputDebugString() Win32 API. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Outputs the rendered logging event through the OutputDebugString() Win32 API. + + The logging event. + + + + Increments specified performance counter on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+ + TODO: + 1. Unable to create a category allowing multiple counter instances (.Net 2.0 API only, probably) + 2. Is there any way of adding new counters without deleting the whole category? + 3. There should be some mechanism of resetting the counter (e.g every day starts from 0), or auto-switching to + another counter instance (with dynamic creation of new instance). This could be done with layouts. + +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + + + + Performs installation which requires administrative permissions. + + The installation context. + + + + Performs uninstallation which requires administrative permissions. + + The installation context. + + + + Determines whether the item is installed. + + The installation context. + + Value indicating whether the item is installed or null if it is not possible to determine. + + + + + Increments the configured performance counter. + + Log event. + + + + Closes the target and releases any unmanaged resources. + + + + + Ensures that the performance counter has been initialized. + + True if the performance counter is operational, false otherwise. + + + + Gets or sets a value indicating whether performance counter should be automatically created. + + + + + + Gets or sets the name of the performance counter category. + + + + + + Gets or sets the name of the performance counter. + + + + + + Gets or sets the performance counter instance name. + + + + + + Gets or sets the counter help text. + + + + + + Gets or sets the performance counter type. + + + + + + The value by which to increment the counter. + + + + + + SMTP authentication modes. + + + + + No authentication. + + + + + Basic - username and password. + + + + + NTLM Authentication. + + + + + Marks class as a logging target and assigns a name to it. + + This attribute is not required when registering the target in the API. + + + + Initializes a new instance of the class. + + Name of the target. + + + + Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + + + + + Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + + + + + Sends log messages through System.Diagnostics.Trace. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + Name of the target. + + + + Writes the specified logging event to the facility. + If the log level is greater than or equal to it uses the + method, otherwise it uses + method. + + The logging event. + + + + Web service protocol. + + + + + Use SOAP 1.1 Protocol. + + + + + Use SOAP 1.2 Protocol. + + + + + Use HTTP POST Protocol. + + + + + Use HTTP GET Protocol. + + + + + Do an HTTP POST of a JSON document. + + + + + Do an HTTP POST of an XML document. + + + + + Calls the specified web service on each log message. + + Documentation on NLog Wiki + + The web service must implement a method that accepts a number of string parameters. + + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ This assumes just one target and a single rule. More configuration + options are described here. +

+

+ To set up the log target programmatically use code like this: +

+ +

The example web service that works with this example is shown below

+ +
+
+ + + dictionary that maps a concrete implementation + to a specific -value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target + + + + Calls the target method. Must be implemented in concrete classes. + + Method call parameters. + + + + Invokes the web service method. + + Parameters to be passed. + The continuation. + + + + Flush any pending log messages asynchronously (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. + + + + + + + Write from input to output. Fix the UTF-8 bom + + + + + + + + + Gets or sets the web service URL. + + + + + + Gets or sets the Web service method name. Only used with Soap. + + + + + + Gets or sets the Web service namespace. Only used with Soap. + + + + + + Gets or sets the protocol to be used when calling web service. + + + + + + Should we include the BOM (Byte-order-mark) for UTF? Influences the property. + + This will only work for UTF-8. + + + + + Gets or sets the encoding. + + + + + + Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + A value of true if Rfc3986; otherwise, false for legacy Rfc2396. + + + + + Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) + + A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. + + + + + Gets or sets the name of the root XML element, + if POST of XML document chosen. + If so, this property must not be null. + (see and ). + + + + + + Gets or sets the (optional) root namespace of the XML document, + if POST of XML document chosen. + (see and ). + + + + + + base class for POST formatters, that + implement former PrepareRequest() method, + that creates the content for + the requested kind of HTTP request + + + + + Win32 file attributes. + + + For more information see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. + + + + + Read-only file. + + + + + Hidden file. + + + + + System file. + + + + + File should be archived. + + + + + Device file. + + + + + Normal file. + + + + + File is temporary (should be kept in cache and not + written to disk if possible). + + + + + Sparse file. + + + + + Reparse point. + + + + + Compress file contents. + + + + + File should not be indexed by the content indexing service. + + + + + Encrypted file. + + + + + The system writes through any intermediate cache and goes directly to disk. + + + + + The system opens a file with no system caching. + + + + + Delete file after it is closed. + + + + + A file is accessed according to POSIX rules. + + + + + Asynchronous request queue. + + + + + Initializes a new instance of the AsyncRequestQueue class. + + Request limit. + The overflow action. + + + + Enqueues another item. If the queue is overflown the appropriate + action is taken as specified by . + + The log event info. + Queue was empty before enqueue + + + + Dequeues a maximum of count items from the queue + and adds returns the list containing them. + + Maximum number of items to be dequeued (-1 means everything). + The array of log events. + + + + Dequeues into a preallocated array, instead of allocating a new one + + Maximum number of items to be dequeued + Preallocated list + + + + Clears the queue. + + + + + Gets or sets the request limit. + + + + + Gets or sets the action to be taken when there's no more room in + the queue and another request is enqueued. + + + + + Gets the number of requests currently in the queue. + + + + + Provides asynchronous, buffered execution of target writes. + + Documentation on NLog Wiki + +

+ Asynchronous target wrapper allows the logger code to execute more quickly, by queueing + messages and processing them in a separate thread. You should wrap targets + that spend a non-trivial amount of time in their Write() method with asynchronous + target to speed up logging. +

+

+ Because asynchronous logging is quite a common scenario, NLog supports a + shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to + the <targets/> element in the configuration file. +

+ + + ... your targets go here ... + + ]]> +
+ +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Base class for targets wrap other (single) targets. + + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Writes logging event to the log target. Must be overridden in inheriting + classes. + + Logging event to be written out. + + + + Gets or sets the target that is wrapped by this target. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of requests in the queue. + The action to be taken when the queue overflows. + + + + Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target by starting the lazy writer timer. + + + + + Shuts down the lazy writer timer. + + + + + Starts the lazy writer thread which periodically writes + queued log messages. + + + + + Attempts to start an instant timer-worker-thread which can write + queued log messages. + + Returns true when scheduled a timer-worker-thread + + + + Stops the lazy writer thread. + + + + + Adds the log event to asynchronous queue to be processed by + the lazy writer thread. + + The log event. + + The is called + to ensure that the log event can be processed in another thread. + + + + + Write to queue without locking + + + + + + Gets or sets the number of log events that should be processed in a batch + by the lazy writer thread. + + + + + + Gets or sets the time in milliseconds to sleep between batches. + + + + + + Gets or sets the action to be taken when the lazy writer thread request queue count + exceeds the set limit. + + + + + + Gets or sets the limit on the number of requests in the lazy writer thread request queue. + + + + + + Gets or sets the limit of full s to write before yielding into + Performance is better when writing many small batches, than writing a single large batch + + + + + + Gets the queue of lazy writer thread requests. + + + + + The action to be taken when the queue overflows. + + + + + Grow the queue. + + + + + Discard the overflowing item. + + + + + Block until there's more room in the queue. + + + + + Causes a flush on a wrapped target if LogEvent statisfies the . + If condition isn't set, flushes on each write. + + Documentation on NLog Wiki + +

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + + + + Initializes a new instance of the class. + + + The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} + + The wrapped target. + Name of the target + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Forwards the call to the .Write() + and calls on it if LogEvent satisfies + the flush condition or condition is null. + + Logging event to be written out. + + + + Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). + + The asynchronous continuation. + + + + Closes the target. + + + + + Gets or sets the condition expression. Log events who meet this condition will cause + a flush on the wrapped target. + + + + + A target that buffers log events and sends them in batches to the wrapped target. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + + + + Initializes a new instance of the class. + + The wrapped target. + Size of the buffer. + The flush timeout. + + + + Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. + + The asynchronous continuation. + + + + Initializes the target. + + + + + Closes the target by flushing pending events in the buffer (if any). + + + + + Adds the specified log event to the buffer and flushes + the buffer in case the buffer gets full. + + The log event. + + + + Gets or sets the number of log events to be buffered. + + + + + + Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed + if there's no write in the specified period of time. Use -1 to disable timed flushes. + + + + + + Gets or sets a value indicating whether to use sliding timeout. + + + This value determines how the inactivity period is determined. If sliding timeout is enabled, + the inactivity timer is reset after each write, if it is disabled - inactivity timer will + count from the first event written to the buffer. + + + + + + A base class for targets which wrap other (multiple) targets + and provide various forms of target routing. + + + + + Initializes a new instance of the class. + + The targets. + + + + Returns the text representation of the object. Used for diagnostics. + + A string that describes the target. + + + + Writes logging event to the log target. + + Logging event to be written out. + + + + Flush any pending log messages for all wrapped targets. + + The asynchronous continuation. + + + + Gets the collection of targets managed by this compound target. + + + + + Provides fallback-on-error. + + Documentation on NLog Wiki + +

This example causes the messages to be written to server1, + and if it fails, messages go to server2.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to the sub-targets until one of them succeeds. + + The log event. + + The method remembers the last-known-successful target + and starts the iteration from it. + If is set, the method + resets the target to the first target + stored in . + + + + + Gets or sets a value indicating whether to return to the first target after any successful write. + + + + + + Filtering rule for . + + + + + Initializes a new instance of the FilteringRule class. + + + + + Initializes a new instance of the FilteringRule class. + + Condition to be tested against all events. + Filter to apply to all log events when the first condition matches any of them. + + + + Gets or sets the condition to be tested. + + + + + + Gets or sets the resulting filter to be applied when the condition matches. + + + + + + Filters log entries based on a condition. + + Documentation on NLog Wiki + +

This example causes the messages not contains the string '1' to be ignored.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The condition. + + + + Initializes a new instance of the class. + + The wrapped target. + The condition. + + + + Checks the condition against the passed log event. + If the condition is met, the log event is forwarded to + the wrapped target. + + Log event. + + + + Gets or sets the condition expression. Log events who meet this condition will be forwarded + to the wrapped target. + + + + + + Impersonates another user for the duration of the write. + + Documentation on NLog Wiki + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes the impersonation context. + + + + + Closes the impersonation context. + + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Changes the security context, forwards the call to the .Write() + and switches the context back to original. + + Log events. + + + + Flush any pending log messages (in case of asynchronous targets). + + The asynchronous continuation. + + + + Gets or sets username to change context to. + + + + + + Gets or sets the user account password. + + + + + + Gets or sets Windows domain name to change context to. + + + + + + Gets or sets the Logon Type. + + + + + + Gets or sets the type of the logon provider. + + + + + + Gets or sets the required impersonation level. + + + + + + Gets or sets a value indicating whether to revert to the credentials of the process instead of impersonating another user. + + + + + + Helper class which reverts the given + to its original value as part of . + + + + + Initializes a new instance of the class. + + The windows impersonation context. + + + + Reverts the impersonation context. + + + + + Limits the number of messages written per timespan to the wrapped target. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the target. + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + + + + Initializes a new instance of the class. + + The wrapped target. + Maximum number of messages written per interval. + Interval in which the maximum number of messages can be written. + + + + Initializes the target and resets the current Interval and . + + + + + Writes log event to the wrapped target if the current is lower than . + If the is already reached, no log event will be written to the wrapped target. + resets when the current is expired. + + Log event to be written out. + + + + Gets or sets the maximum allowed number of messages written per . + + + Messages received after has been reached in the current will be discarded. + + + + + Gets or sets the interval in which messages will be written up to the number of messages. + + + Messages received after has been reached in the current will be discarded. + + + + + Gets the DateTime when the current will be reset. + + + + + Gets the number of written in the current . + + + + + Logon provider. + + + + + Use the standard logon provider for the system. + + + The default security provider is negotiate, unless you pass NULL for the domain name and the user name + is not in UPN format. In this case, the default provider is NTLM. + NOTE: Windows 2000/NT: The default security provider is NTLM. + + + + + Filters buffered log entries based on a set of conditions that are evaluated on a group of events. + + Documentation on NLog Wiki + + PostFilteringWrapper must be used with some type of buffering target or wrapper, such as + AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. + + +

+ This example works like this. If there are no Warn,Error or Fatal messages in the buffer + only Info messages are written to the file, but if there are any warnings or errors, + the output includes detailed trace (levels >= Debug). You can plug in a different type + of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different + functionality. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Evaluates all filtering rules to find the first one that matches. + The matching rule determines the filtering condition to be applied + to all items in a buffer. If no condition matches, default filter + is applied to the array of log events. + + Array of log events to be post-filtered. + + + + Gets or sets the default filter to be applied when no specific rule matches. + + + + + + Gets the collection of filtering rules. The rules are processed top-down + and the first rule that matches determines the filtering condition to + be applied to log events. + + + + + + Sends log messages to a randomly selected target. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt + chosen randomly on a per-message basis. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the log event to one of the sub-targets. + The sub-target is randomly chosen. + + The log event. + + + + Repeats each log event the specified number of times. + + Documentation on NLog Wiki + +

This example causes each log message to be repeated 3 times.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The repeat count. + + + + Initializes a new instance of the class. + + The wrapped target. + The repeat count. + + + + Forwards the log message to the by calling the method times. + + The log event. + + + + Gets or sets the number of times to repeat each log message. + + + + + + Retries in case of write error. + + Documentation on NLog Wiki + +

This example causes each write attempt to be repeated 3 times, + sleeping 1 second between attempts if first one fails.

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Initializes a new instance of the class. + + The wrapped target. + The retry count. + The retry delay milliseconds. + + + + Special SyncObject to allow closing down Target while busy retrying + + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Writes the specified log event to the wrapped target in a thread-safe manner. + Uses instead of + to allow closing target while doing sleep and retry. + + The log event. + + + + Writes the specified log event to the wrapped target, retrying and pausing in case of an error. + + The log event. + + + + Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. + + + + + + Gets or sets the time to wait between retries in milliseconds. + + + + + + Distributes log events to targets in a round-robin fashion. + + Documentation on NLog Wiki + +

This example causes the messages to be written to either file1.txt or file2.txt. + Each odd message is written to file2.txt, each even message goes to file1.txt. +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the write to one of the targets from + the collection. + + The log event. + + The writes are routed in a round-robin fashion. + The first log event goes to the first target, the second + one goes to the second target and so on looping to the + first target when there are no more targets available. + In general request N goes to Targets[N % Targets.Count]. + + + + + Impersonation level. + + + + + Anonymous Level. + + + + + Identification Level. + + + + + Impersonation Level. + + + + + Delegation Level. + + + + + Logon type. + + + + + Interactive Logon. + + + This logon type is intended for users who will be interactively using the computer, such as a user being logged on + by a terminal server, remote shell, or similar process. + This logon type has the additional expense of caching logon information for disconnected operations; + therefore, it is inappropriate for some client/server applications, + such as a mail server. + + + + + Network Logon. + + + This logon type is intended for high performance servers to authenticate plaintext passwords. + The LogonUser function does not cache credentials for this logon type. + + + + + Batch Logon. + + + This logon type is intended for batch servers, where processes may be executing on behalf of a user without + their direct intervention. This type is also for higher performance servers that process many plaintext + authentication attempts at a time, such as mail or Web servers. + The LogonUser function does not cache credentials for this logon type. + + + + + Logon as a Service. + + + Indicates a service-type logon. The account provided must have the service privilege enabled. + + + + + Network Clear Text Logon. + + + This logon type preserves the name and password in the authentication package, which allows the server to make + connections to other network servers while impersonating the client. A server can accept plaintext credentials + from a client, call LogonUser, verify that the user can access the system across the network, and still + communicate with other servers. + NOTE: Windows NT: This value is not supported. + + + + + New Network Credentials. + + + This logon type allows the caller to clone its current token and specify new credentials for outbound connections. + The new logon session has the same local identifier but uses different credentials for other network connections. + NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. + NOTE: Windows NT: This value is not supported. + + + + + Writes log events to all targets. + + Documentation on NLog Wiki + +

This example causes the messages to be written to both file1.txt or file2.txt +

+

+ To set up the target in the configuration file, + use the following syntax: +

+ +

+ The above examples assume just one target and a single rule. See below for + a programmatic configuration that's equivalent to the above config file: +

+ +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the target. + The targets. + + + + Initializes a new instance of the class. + + The targets. + + + + Forwards the specified log event to all sub-targets. + + The log event. + + + + NOTE! Will soon be marked obsolete. Instead override Write(IList{AsyncLogEventInfo} logEvents) + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Writes an array of logging events to the log target. By default it iterates on all + events and passes them to "Write" method. Inheriting classes can use this method to + optimize batch writes. + + Logging events to be written out. + + + + Current local time retrieved directly from DateTime.Now. + + + + + Defines source of current time. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to the same form + as time values originated from this source. + + + + There are situations when NLog have to compare the time originated from TimeSource + to the time originated externally in the system. + To be able to provide meaningful result of such comparisons the system time must be expressed in + the same form as TimeSource time. + + + Examples: + - If the TimeSource provides time values of local time, it should also convert the provided + to the local time. + - If the TimeSource shifts or skews its time values, it should also apply + the same transform to the given . + + + + + + Gets current time. + + + + + Gets or sets current global time source used in all log events. + + + Default time source is . + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets current local time directly from DateTime.Now. + + + + + Current UTC time retrieved directly from DateTime.UtcNow. + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets current UTC time directly from DateTime.UtcNow. + + + + + Fast time source that updates current time only once per tick (15.6 milliseconds). + + + + + Gets raw uncached time from derived time source. + + + + + Gets current time cached for one system tick (15.6 milliseconds). + + + + + Fast local time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to local time. + + + + + Gets uncached local time directly from DateTime.Now. + + + + + Fast UTC time source that is updated once per tick (15.6 milliseconds). + + + + + Converts the specified system time to the same form as the time value originated from this time source. + + The system originated time value to convert. + + The value of converted to UTC time. + + + + + Gets uncached UTC time directly from DateTime.UtcNow. + + + + + Marks class as a time source and assigns a name to it. + + + + + Initializes a new instance of the class. + + Name of the time source. + + + diff --git a/MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.dll b/MTC_Adapter/packages/NLog.4.4.5/lib/net40/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..d4fabdbdb9f8a9c86507a22b5b467a76ec8a9dc7 GIT binary patch literal 591872 zcmcG%2Y_Tnwf}$T-k#gtw`XRzcV>ISh8Y%ixb*Z4uuE8$oDmTTf-EA*$SPdC%_8p5 z<6^)BnA0k#iUsWVKBKBX%>bJdfs zxr*=!e*=p+D=U0=|C{iM>N;O!}m!Cm@Pf51u6hFWd$1 zI7N5=n~+@jC*FLo*Bg3A;JtBEua~EM>dn6QuBgX5W5V;cfb;kMUG2Sn`8hYe_>~8)eZxEd=Ydx}__r0;?*D`M)A#*#<6-}M^RfR?zI5%M7p?T;y*w|f=k9tJ z_Jg<=c>td6L5B5Je$X;cj+eU~{3ydmkPhEGlYUT(5pq~Rw@rC~pkIh-WtIW0$R#ij zIZ|Z~ka>pVB|`0FHI$`Y%F%N9g5FJ(X7}b5+R5Kq`&DWti>8QpTRoaasVjid>Mh7s@u4QUu32Ql?d2+m+ z-Hy!GWa)S$@m%{LIsdKRt`50l4y+r;9%I71h1qfWSK~>%2ju-=AF#I7rS^ zYJZkWjFNr%na*N{@)+th%HsDkZ=K)xe3B(o`09hueJph8Ow}fJ8AV~xn#K(atr