diff --git a/EonaCatDeDupText.sln b/EonaCatDeDupText.sln new file mode 100644 index 0000000..a4197f9 --- /dev/null +++ b/EonaCatDeDupText.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.271 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EonaCatDeDupText", "EonaCatDeDupText\EonaCatDeDupText.csproj", "{DC0E2907-A4A1-459E-90A6-3F0FB7C2060A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DC0E2907-A4A1-459E-90A6-3F0FB7C2060A}.Debug|x86.ActiveCfg = Debug|x86 + {DC0E2907-A4A1-459E-90A6-3F0FB7C2060A}.Debug|x86.Build.0 = Debug|x86 + {DC0E2907-A4A1-459E-90A6-3F0FB7C2060A}.Release|x86.ActiveCfg = Release|x86 + {DC0E2907-A4A1-459E-90A6-3F0FB7C2060A}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {A6953877-CB0F-447A-97A9-37043380A1AD} + EndGlobalSection +EndGlobal diff --git a/EonaCatDeDupText/EonaCatDeDupText.csproj b/EonaCatDeDupText/EonaCatDeDupText.csproj new file mode 100644 index 0000000..0fad702 --- /dev/null +++ b/EonaCatDeDupText/EonaCatDeDupText.csproj @@ -0,0 +1,95 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {DC0E2907-A4A1-459E-90A6-3F0FB7C2060A} + WinExe + Properties + EonaCatDeDupText + EonaCatDeDupText + v3.5 + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + redIcon.ico + + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/EonaCatDeDupText/Form1.Designer.cs b/EonaCatDeDupText/Form1.Designer.cs new file mode 100644 index 0000000..1502c3a --- /dev/null +++ b/EonaCatDeDupText/Form1.Designer.cs @@ -0,0 +1,166 @@ +namespace EonaCatDeDupText +{ + partial class Form1 + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.InputBrowse = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.InputRTB = new System.Windows.Forms.RichTextBox(); + this.OutputRTB = new System.Windows.Forms.RichTextBox(); + this.OutputBrowse = new System.Windows.Forms.Button(); + this.ProceedBtn = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // InputBrowse + // + this.InputBrowse.Location = new System.Drawing.Point(461, 20); + this.InputBrowse.Name = "InputBrowse"; + this.InputBrowse.Size = new System.Drawing.Size(66, 23); + this.InputBrowse.TabIndex = 0; + this.InputBrowse.Text = "Browse"; + this.InputBrowse.UseVisualStyleBackColor = true; + this.InputBrowse.Click += new System.EventHandler(this.InputBrowse_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(8, 26); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(39, 16); + this.label1.TabIndex = 1; + this.label1.Text = "Input:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(8, 58); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(49, 16); + this.label2.TabIndex = 2; + this.label2.Text = "Output:"; + // + // InputRTB + // + this.InputRTB.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.InputRTB.Location = new System.Drawing.Point(58, 23); + this.InputRTB.Multiline = false; + this.InputRTB.Name = "InputRTB"; + this.InputRTB.Size = new System.Drawing.Size(397, 21); + this.InputRTB.TabIndex = 3; + this.InputRTB.Text = ""; + // + // OutputRTB + // + this.OutputRTB.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.OutputRTB.Location = new System.Drawing.Point(58, 54); + this.OutputRTB.Multiline = false; + this.OutputRTB.Name = "OutputRTB"; + this.OutputRTB.Size = new System.Drawing.Size(397, 21); + this.OutputRTB.TabIndex = 4; + this.OutputRTB.Text = ""; + // + // OutputBrowse + // + this.OutputBrowse.Location = new System.Drawing.Point(461, 51); + this.OutputBrowse.Name = "OutputBrowse"; + this.OutputBrowse.Size = new System.Drawing.Size(66, 23); + this.OutputBrowse.TabIndex = 5; + this.OutputBrowse.Text = "Browse"; + this.OutputBrowse.UseVisualStyleBackColor = true; + this.OutputBrowse.Click += new System.EventHandler(this.OutputBrowse_Click); + // + // ProceedBtn + // + this.ProceedBtn.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ProceedBtn.Location = new System.Drawing.Point(448, 126); + this.ProceedBtn.Name = "ProceedBtn"; + this.ProceedBtn.Size = new System.Drawing.Size(90, 29); + this.ProceedBtn.TabIndex = 6; + this.ProceedBtn.Text = "Proceed"; + this.ProceedBtn.UseVisualStyleBackColor = true; + this.ProceedBtn.Click += new System.EventHandler(this.ProceedBtn_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.OutputBrowse); + this.groupBox1.Controls.Add(this.OutputRTB); + this.groupBox1.Controls.Add(this.InputRTB); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.InputBrowse); + this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.groupBox1.Location = new System.Drawing.Point(5, 28); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(533, 93); + this.groupBox1.TabIndex = 7; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "File locations"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(550, 161); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.ProceedBtn); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "Form1"; + this.Text = "EonaCat Duplicate Line Remover"; + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Button InputBrowse; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.RichTextBox InputRTB; + private System.Windows.Forms.RichTextBox OutputRTB; + private System.Windows.Forms.Button OutputBrowse; + private System.Windows.Forms.Button ProceedBtn; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; + } +} + diff --git a/EonaCatDeDupText/Form1.cs b/EonaCatDeDupText/Form1.cs new file mode 100644 index 0000000..951f2c6 --- /dev/null +++ b/EonaCatDeDupText/Form1.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; + +namespace EonaCatDeDupText +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + + private void ProceedBtn_Click(object sender, EventArgs e) + { + if (!File.Exists(InputRTB.Text)) + { + MessageBox.Show("Error, please insert a correct file path to remove duplicate lines."); + return; + } + else if (String.IsNullOrEmpty(OutputRTB.Text)) + { + MessageBox.Show("Error, please insert a file path to save new file without duplicate lines."); + return; + } + + try + { + + string content = File.ReadAllText(InputRTB.Text); + + List repeatedList = content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).ToList(); + + List UnrepeatedList = repeatedList.Distinct().ToList(); + + File.WriteAllLines(OutputRTB.Text, UnrepeatedList.ToArray()); + + + } + catch (Exception exp) + { + MessageBox.Show("Error. " + exp.Message); + } + + MessageBox.Show("File successfully created."); + } + + + + private void InputBrowse_Click(object sender, EventArgs e) + { + openFileDialog1.FileName = ""; + DialogResult result = openFileDialog1.ShowDialog(); + if (result == DialogResult.OK) + { + InputRTB.Text = openFileDialog1.FileName; + + string ext = Path.GetExtension(InputRTB.Text); + OutputRTB.Text = openFileDialog1.FileName.Replace(ext, "_DeDuped" + ext); + } + } + + private void OutputBrowse_Click(object sender, EventArgs e) + { + saveFileDialog1.Filter = "All Files (*.*)|*.*"; + DialogResult result = saveFileDialog1.ShowDialog(); + saveFileDialog1.InitialDirectory = InputRTB.Text; + + if (result == DialogResult.OK) + { + OutputRTB.Text = saveFileDialog1.FileName; + } + } + } +} diff --git a/EonaCatDeDupText/Form1.resx b/EonaCatDeDupText/Form1.resx new file mode 100644 index 0000000..3a9d2ca --- /dev/null +++ b/EonaCatDeDupText/Form1.resx @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 23 + + + 157, 23 + + + + + AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAOgoAADoKAAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ACwuqQAyNfkAMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuZDE07t8xNO41MTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4A////AP///wAsLqkAMjX5ADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07o4xNO7/MTTuljE07gAxNO4AMTTuADE07goxNO63MTTuszE0 + 7goxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8ALC6pADI1 + +QAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO57MTTu/zE07uIxNO4MMTTuADE0 + 7gAxNO6BMTTu/zE07v8xNO4jMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gD///8A////ACwuqQAyNfkAMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTudTE0 + 7v8xNO7/MTTuWDE07gAxNO4bMTTu8DE07v8xNO75MTTuJjE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4A////AP///wAsLqkAMjX5ADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07nExNO7/MTTu/zE07skxNO4AMTTufjE07v8xNO7/MTTu/TE07jAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8ALC6pADI1+QAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO5kMTTu/zE07v8xNO7/MTTuVzE07t8xNO70MTTu1jE0 + 7v8xNO46MTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7mExNO5RMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gD///8A////ACwu + qQAyNfkAMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuXzE07v8xNO7kMTTu/jE0 + 7u8xNO7/MTTunTE07pgxNO7/MTTuOjE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07jYxNO7/MTTu5jE07gcxNO4AMTTuADE07gAxNO4AMTTuUjE07rIxNO4sMTTuADE0 + 7gAxNO4A////AP///wAsLqkAMjX5ADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7lIxNO7/MTTumTE07tQxNO7/MTTu/zE07jExNO6YMTTu/zE07joxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gExNO67MTTu/zE07vcxNO4iMTTuADE07gAxNO4AMTTuZTE0 + 7vkxNO7/MTTugjE07gAxNO4AMTTuAP///wD///8ALS+xADM2/wAxNPcAMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO5IMTTu/zE07ooxNO5wMTTu/zE07rwxNO4AMTTuozE07v8xNO4vMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO5WMTTu/zE07v8xNO7/MTTuUzE0 + 7gAxNO4AMTTuiDE07v8xNO7/MTTu/zE07ncxNO4AMTTuADE07gD///8A////ACcoZgAoKXUALS+fADI1 + 9gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuOTE07v8xNO6jMTTuDDE07o0xNO4uMTTuADE0 + 7qgxNO7/MTTuizE07kYxNO4hMTTuBzE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4EMTTuzzE0 + 7v4xNO66MTTu/zE07oMxNO4AMTTulTE07v8xNO7tMTTu6jE07v8xNO5DMTTuADE07gAxNO4A////AP// + /wAgIBoAHx8RACkpIgAxM74AMTT4ADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07jIxNO7/MTTuuDE0 + 7gAxNO4AMTTuADE07gAxNO6uMTTu/zE07v8xNO7/MTTu/jE07t8xNO66MTTuizE07lgxNO4oMTTuCDE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuMjE07v8xNO7DMTTuPTE07v8xNO63MTTumzE07v8xNO7fMTTuWTE07u8xNO7iMTTuCzE0 + 7gAxNO4AMTTuAP///wD///8AISEhACAgIAApKSEALi9KADE06AAxNPIAMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4mMTTu/zE07sExNO4AMTTuADE07gAxNO4AMTTuIzE07l4xNO58MTTuqjE07tIxNO7zMTTu/zE0 + 7v8xNO7/MTTu/zE07uAxNO67MTTukzE07mUxNO47MTTuGzE07gUxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07n4xNO7/MTTuejE07gcxNO7wMTTu/zE07v8xNO7cMTTuHjE0 + 7m4xNO7/MTTuiDE07gAxNO4AMTTuADE07gD///8A////ACEhIQAgICAAKSkpAC4uIgAxMoEAMTT5ADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuHzE07v4xNO7PMTTuATE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4BMTTuFDE07jUxNO5mMTTunTE07swxNO7zMTTu/zE07v8xNO7/MTTu/zE07voxNO7cMTTuuzE0 + 7pExNO5pMTTuRzE07isxNO4TMTTuAjE07gAxNO4AMTTuADE07gAxNO7BMTTu/zE07joxNO4AMTTupjE0 + 7v8xNO7bMTTuIzE07gAxNO7dMTTu/DE07i0xNO4AMTTuADE07gAxNO4A////AP///wAhISEAICAgACkp + KQAvLi0AMDApADAysQAxNPkAMTTuADE07gAxNO4AMTTuADE07hMxNO71MTTu3jE07gYxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuFTE07jgxNO5hMTTuiDE0 + 7rExNO7VMTTu9TE07v8xNO7/MTTu/zE07v8xNO7/MTTu8jE07tQxNO6wMTTuizE07mUxNO5RMTTu9DE0 + 7uQxNO4JMTTuADE07hQxNO5wMTTuHjE07gAxNO5CMTTu/zE07sMxNO4AMTTuADE07gAxNO4AMTTuAP// + /wD///8AISEhACAgIAApKSkALy8vADAwKgAuLz8AMTTgADE09AAxNO4AMTTuADE07gAxNO4HMTTu3zE0 + 7vQxNO4SMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuAjE07hYxNO42MTTuWjE07n4xNO6eMTTuvzE07uExNO7+MTTu/zE0 + 7v8xNO7/MTTu/zE07v8xNO6qMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuqjE07v8xNO5jMTTuADE0 + 7gAxNO4AMTTuADE07gD///8A////ACEhIQAgICAAKSkpAC8vLwAwMDAALi4jADAxdgAxNPYAMTTvADE0 + 7gAxNO4AMTTuATE07s0xNO7/MTTuIjE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO0JMTTtIDE07jkxNO5bMTTugDE07qsxNO6/MTTuMzE07gAxNO4AMTTuADE07gAxNO4AMTTuEDE0 + 7u4xNO7tMTTuETE07gAxNO4AMTTuADE07gAxNO4A////AP///wAhISEAICAgACkpKQAvLy8AMDAwAC4u + LQAvLyQAMDGZADE0+gAxNO4AMTTuADE07gAxNO6wMTTu/zE07jYxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTtADE07QAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07i4xNO7/MTTuwjE07gAxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8AISEhACAg + IAAmJiYALi4uADAwMAAuLi4ALy8sAC8vLwAwMsYAMTT4ADE07gAxNO4AMTTukzE07v8xNO5RMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07QAxNO0AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO5AMTTu/zE07qsxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gD///8A////ACIiIgAhISEAPT09IjAwMAMqKioALi4uAC8vLwAvLyYALy9NADE05gAxNPMAMTTuADE0 + 7nExNO7/MTTucjE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07wAxNO4AMTTuADE07gAxNO0AMTTtADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuUjE07v8xNO6XMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4A////AP///wAnJycAIiIiAFlZWU6GhoaLUlJSPSgoKAArKysALy8vAC8v + IwAxMm0AMTTzADE08AAxNO5MMTTu/zE07qIxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNPMAMDP2ADAz + 9wAxNPgAMTT3ADE0+QAxNfgAMTTvADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7mIxNO7/MTTuijE07gAxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8AJiYmACUlJQAkJCQAPj4+HnV1 + dXWBgYGGREREKCcnJwArKysAMDAkADAxkAAxNPUAMTTuJzE07v4xNO7nMTTuADE07gAxNO4JMTTuFjE0 + 7iUxNO4qMTTuKTE07hsxNO4QMTTuCDE07gAxNO8AMTTvADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 8AAwM+cALy9wAD4/dwA7PIMAMDF6ADAyfwAwMYcALzGwADE08QAxNPEAMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO56MTTu/zE07nAxNO4AMTTuADE07gAxNO4AMTTuADE07gD///8A////ACgo + KAAlJSUAKysrACwsLAAmJiYAREREKnx8fIJ8fHyCREREJycnIgArLDYAMTTiADE08gAxNO7WMTTu9zE0 + 7oYxNO62MTTu4zE07vgxNO7/MTTu/zE07v8xNO78MTTu8jE07uEwM+vDMDPpmzAz6msxNO85MTTvEjE0 + 7wAxNO4AMTTuADE07gAxNPEAMDPmAC4uPwBFRTUAQkI3AC8vJAAwMCUALy8iACcnHQAlJVwAMDPmADE0 + 8QAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuljE07v8xNO5KMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4A////AP///wAqKioAMTExAC4uLgAuLi4ALy8vACgoKAAnJycARkZAMICAd4Z2dml1RkZIGyks + 3RUtMPJzMTTu5TE07v8xNO7/MTTu/zE07vExNO7XMTTuyDE0770xNO/DMTTuzzE07t8xNO/vLzLk/ywv + 2/8tMN3/LTDf/y4x4u4vMui6MTTtZTE07hYxNO4AMTTxADAz5gAuLkcAREQ+AEFBQQAvLy8AMDAwAC8v + LwAnJyMAICAiAC8y1gAxNPMAMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07qIxNO7/MTTuQTE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8AKioqADQ0NAAwMDAALi4uAC0tLQA0NDMAMTEyACgo + SwApKl4ATE2TQn9/ysx9eufoS0zz/yot8foqLe68MTT4gTI1+EUxNPAUMTTvAzI1+AAxNfMAMjX2ADE1 + +QAxNPcHMjX1EDE07jExNO5YMDPrhS8y5rktMODpLjHh/zAz7P8xNO7mMTTuZDE08QAwM+cALi5IAERE + PgBBQUEALy8vADAwMAAvLy8AJyckACEhKgAvMtgAMTTzADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO6kMTTu/zE07kIxNO4AMTTuADE07gAxNO4AMTTuADE07gD///8A////ACQkJAAsLCwAKCgoACcn + JwAlJSUANDQxADAwNgArLtUALjH7QCkt88ooLPb/TE37/oB90bZ8fa6wXl+UUC8wdwArLbIAMTTuADE0 + 9wAtL7YAJyhWACcocwAsLYQAKSpmAC4vuwAyNfkAMTTyADE07gAxNPAAMTT2DjA0+UgxNPihMTT2/zAz + 7v8vMvJrLjDdACwsOgBDQz4AQEBAAC0tLQAtLS0AKysrACYmIwAhISoALzLYADE08wAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTupDE07v8xNO5CMTTuADE07gAxNO4AMTTuADE07gAxNO4A////AP// + /wBTU1NFaGhoWGRkZFheXl5QWlpaTGZmXUxhYFw/U1PWf0lK8f9GR/f/PkDizS4xujkkJVoAOTkoDWRk + W1M+PjIkJSUdACssWwAqK2gAIiIcAEA/NiwvLyYXNTUqEkdGOzMhIB0AKStxADAz4AAxNPUAMjXyADU4 + ywA7PI4ANDWAADE0vFQ2OPL8PT/39D0+qy84NysNTU1LDUtLSA9AQD0aSEhFKklJRiswMCcQICAgAC8y + 2AAxNPMAMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07qQxNO7/MTTuQjE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuAP///wD///8AWVlZPFtbW0xfX2BNe3t2TmhoXVZ5ephba2zi33Fv7P+Cfev2g4Cqm4GC + hH9/f3Z9dnZweGpqa2JSUlJCKCgpASgoKAAoJyEAJCQbACAgHwA4ODgnjIyMmpKSkp5DQ0MyIiIfACQk + EgAtL6oAMTPvAC0uWQAuLisAOjouE35+coKCgn2BhoTAw4aC8P+EgtjrgoORi4eIiXSHiI10fn+HcHd3 + hGV+foplRERaHSgpigAxNO0AMTTvADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO6eMTTu/zE0 + 7kIxNO4AMTTuADE07gAxNO4AMTTuADE07gD///8A////AC8vLwAfHx8AJycdAEVFUgAvMZkAKSzjZiot + 8/4pLPDkKi72Ni0uWQAsLCAAMjIxBkBAQBtMTEwyUlJSPCoqKgUnJycAKCgoACQkJAAiIiIAKCgoEJCQ + kKKSkpKhNjY2ISAgIAAjIx4AJidQACosbwAmJRsAJSUjACIiIwAqKisAKSgbAjM0jAguMf3BLjHy/y4x + 2I8uMct5LjHPhCwu0n8qLdl8Ki3Zfi8x5XQyNfldMTTvPTE07jAxNO4tMTTuLjE07i0xNO4tMTTuLDE0 + 7hAxNO4AMTTukDE07v8xNO5VMTTuADE07gAxNO4AMTTuADE07gAxNO4A////AP///wA0NDEAJyccAC8w + aQAzNt0AMTT6GTE08fAxNO74MTTvNzI19QA0NF8AMDAmAC4uLgAvLy8ALCwsACwsLAAmJiYAJSUlACYm + JgAnJycAJCQkAD4+PiVBQUEuNzc3G2pqanIjIyMEJCQlACQkHgAmJh0AJycoACoqKgZQUFA9REREJTU2 + MA0rK1AAKCvSJikt8/gsL/L/LjH6/zAz/P8xNPr/MTT2/zE09f8xNPL/MTTv/zE07v8xNO7/MTTu/zE0 + 7v8xNO7/MTTu/zE07v8xNO7LMTTuADE07ngxNO7/MTTucjE07gAxNO4AMTTuADE07gAxNO4AMTTuAP// + /wD///8ANDQ1ACwtlQAxNPQAMTT0ADE07mgxNO7/MTTunTE07gAxNfgAMDGOADAwIwAvLy8AMTExADAw + MAAxMTEAJycnACYmJgAkJCQAIyMjACMjIwAjIyMAJCQkACUlJQAlJSUAKCgoAScnJwAmJiYAJSUlACUl + JQAnJycFXV1dVnNzc3J4eHl8e3pxfnJzi2hiYuPnU1Pv/0RGyZE2Ob5rLC/HWyks1FEqLd1SLTDoYS8y + 84MxNfioMTTwvDE07sAxNO7AMTTuwDE07sAxNO7pMTTu/zE07kIxNO5OMTTu/zE07pQxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gD///8A////ADM1xgAxNPkAMTTwADE07gAxNO6kMTTu/zE07kcxNO4AMTTxADE0 + 6gAxMVQAMDApADAwMAAuLi4AMDAwAC4uLgAoKCgAIiIiACMjIwAjIyMAJiYmACgoKAAoKCgAJycnACcn + JwAnJycAJiYmACYmJgAlJSUAJSUlACgoKAApKSkALS0uADw8ORdVVVE8aGfOqnJv9P90dK2ifXxqcH5+ + fnJtbXhbXF1uQU9PbyY/QHQMLjCfADAz6wAxNPEAMTTuADE07gAxNO4AMTTuXzE07v8xNO6NMTTuJDE0 + 7v8xNO7DMTTuADE07gAxNO4AMTTuADE07gAxNO4A////AP///wAxNPUAMTTuADE07gAxNO4AMTTuyTE0 + 7v8xNO4lMTTuADE07gAxNPgAMDPHACkpKQAjIiEAKCgoAC8vLwAyMjIAKSkpACIiIgAiIiIAIyMjACYm + JgAoKCgAKCgoACcnJwAnJycAJiYmACIiIgAsLCwALCwsACcnJwAuLi4AMDAxADAwKwAvLyoALC6gACkt + 9FEpLPH/Ky7rkzEydwA+PTAXTk5KNVtbV01wcGlreXlvezAvIhYmJlcAMTTrADE08AAxNO4AMTTuADE0 + 7i4xNO7/MTTutjE07gIxNO7nMTTu8zE07hMxNO4AMTTuADE07gAxNO4AMTTuAP///wD///8AMTTuADE0 + 7gAxNO4AMTTuCjE07uYxNO7xMTTuETE07gAxNO4AMjX6ACosnwAgIBkAICAfACcnJwAqKioALi4uACkp + KQAiIiIAIiIiACIiIgAmJiYAKCgoACgoKAAnJycAJiYmACMjIwAhISEALCwsAC8vLwAtLS0AKioqADAw + LgAwMTQAMDKrADE0+QAxNO4oMTTu/zE08s0xNPQALzB4ACsrHwAoKCcAKSkqACkpKQAjIx4AJCUyADAz + 4gAxNPEAMTTuADE07gAxNO4UMTTu9TE07uAxNO4AMTTurjE07v8xNO5DMTTuADE07gAxNO4AMTTuADE0 + 7gD///8A////ADE07gAxNO4AMTTuADE07hcxNO74MTTu3TE07gYxNO4AMTTxADAy4QAiIjYAICAaAB4e + HgAqKioETk5OOERERCIjIyMAIiIiACIiIgAiIiIAJCQkACcnJwAoKCgAJiYmACMjIwAiIiIAISEhACoq + KgAqKioAKysrACIiIgAkJBoALzGdADI1/wAxNO4AMTTuBzE07uAxNO73MTTyGTE08wAwMn0ALy4iADEx + LwAuLi4AJCQfACQlOAAwM+MAMTTxADE07gAxNO4AMTTuATE07s0xNO7+MTTuGjE07mcxNO7/MTTugzE0 + 7gAxNO4AMTTuADE07gAxNO4A////AP///wAxNO4AMTTuADE07gAxNO4hMTTu/jE07tQxNO4CMTTuADI1 + +gAsLpgAJCQYACUlJgAiIiIBcHBweHJycnF7e3uDZWVlZh0dHQAiIiIAIiIiACIiIgAiIiIAIyMjACIi + IgAhISEAIiIiAB4eHgA2NjYSU1NTPTc3NxMdHR0AHx8XACUlXgAxNPIAMTTvADE07gAxNO6mMTTu/zE0 + 7k0xNPEAMTT1ADAxigAwMCcALi4sACQkHwAkJTcAMDPiADE08QAxNO4AMTTuADE07gAxNO6SMTTu/zE0 + 7lIxNO4kMTTu/zE07r8xNO4AMTTuADE07gAxNO4AMTTuAP///wD///8AMTTuADE07gAxNO4AMTTuJjE0 + 7v8xNO7OMTTuADE07gAxNPkAMTOGADIyJgAxMTEANzc3CXt7e4YmJiYAIyMjAHh4eIc9PT0kJiYmACkp + KQApKSkAKioqACQkJAAkJCQAJycnACQkJAArKysPfn5+jWhoaGuEhISUQEBAMB8fHgAjIxkALS+lADI1 + +QAxNO4AMTTuaTE07v8xNO6IMTTuADE08AAxNPkAMDKSAC4uJAAkIxkAJCU7ADEz5wAxNPEAMTTuADE0 + 7gAxNO4AMTTuWjE07v8xNO6PMTTuADE07uwxNO7wMTTuEjE07gAxNO4AMTTuADE07gD///8A////ADE0 + 7gAxNO4AMTTuADE07jUxNO7/MTTuujE07gAxNO4AMTT6AC0vhQAqKh4AKioqACgoKAF7e3uIMDAwDxkZ + GQBoaGhtS0tLOCYmJgArKysALS0tACIiIgAFBQUACAgIACAgIAArKysAREREKm9vb3YaGhoAOTk5IXt7 + e4glJSUBKCgeACssXgAxNPQAMTTuADE07TwxNO7/MTTurTE07gAxNO4AMTTwADE0+AAvMZAAJCQjACkq + fgAyNfcAMTTuADE07gAxNO4AMTTuADE07iQxNO78MTTu2jE07gAxNO6uMTTu/zE07kcxNO4AMTTuADE0 + 7gAxNO4A////AP///wAxNO4AMTTuADE07gAxNO5GMTTu/zE07qQxNO4AMTTuADI1+AAtL6YAJSUbACYm + JgAfHx8AVlZWTnV1dYNcXFxXfn5+jSoqKgwlJSUAJycnACYmJgAJCQkAAAAAAAAAAAADAwMAIiIiADAw + MAx/f3+RJycnBSIiIgBzc3N8OTk5GigoIwArK0AAMTPlADE08QAxNO4hMTTu/jE07ssxNO4AMTTuADE0 + 7gAxNPAAMTTzADAz3wAxNOsAMTTvADE07gAxNO4AMTTuADE07gAxNO4BMTTuxjE07v8xNO4oMTTuYzE0 + 7v8xNO6BMTTuADE07gAxNO4AMTTuAP///wD///8AMTTuADE07gAxNO4AMTTuTzE07v8xNO6TMTTuADE0 + 7gAxNPEAMDPlACMkOQAhIRYAIiIfAB0dHQBXV1dLa2trYC8vLw4eHh4AIiIhACEhIQAKCgoAAAAAAAAA + AAAAAAAAAAAAAAMDAgAWFhYAW1tbV25ubnceHh4AdnZ2fkBAQCArKygALi42ADAz2wAxNPMAMTTuCzE0 + 7uoxNO7uMTTuEDE07gAxNO4AMTTuADE07wAxNPIAMTTwADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7nYxNO7/MTTufzE07iYxNO7/MTTuwDE07gAxNO4AMTTuADE07gD///8A////ADE07gAxNO4AMTTuADE0 + 7k8xNO7/MTTukDE07gAxNO4AMTTuADI1+QArLZsAIyMzACIjKQAhIRcAJyciACsqKAAnJyEAISEXACEh + IQAKCgkAAAAAAAAAAAAAAAAADAw5bRMUXJ8BAQopBAQDARgYGABpaWlnhoaGl25ubnUgICADIyIdACQl + NgAwM+MAMTTxADE07gAxNO67MTTu/zE07jsxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4qMTTu/jE07twxNO4PMTTu4zE07vcxNO4cMTTuADE07gAxNO4A////AP// + /wAxNO4AMTTuADE07gAxNO5JMTTu/zE07p8xNO4AMTTuADE07gAxNO4AMTTwADEz6AAvMdUAKiuJAC0t + PwAyMjcAKitGACosjgApK7gAAAAGAAAAAAAAAAAACAgnUxASUKMaHIDdCAglbAAAAAEREQ8AKCgmAEJC + QyAoKCgDHh4eAB8fEwAnKHQAMjX4ADE07gAxNO4AMTTukTE07v8xNO5YMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07r0xNO7/MTTuSjE07pYxNO7/MTTuVDE0 + 7gAxNO4AMTTuAP///wD///8AMTTuADE07gAxNO4AMTTuPDE07v8xNO6xMTTuADE07gAxNO4AMTTuADE0 + 7wAxNPEAMTX0ADI1+gAxNOIAMTPYADE06gAyNfoAMzb9ABgZcgAAAAAAAAAAAA8QSZohI6DwDA08fQAA + AAAAAAAADw8UAC0tLwAtLSAAJiUcAB8fFAAhISIALjHRADI19QAxNO4AMTTuADE07ogxNO7/MTTuYDE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO5PMTTu/zE0 + 7r4xNO5aMTTu/zE07psxNO4AMTTuADE07gD///8A////ADE07gAxNO4AMTTuADE07jExNO7/MTTuwjE0 + 7QAxNO0AMTTtADE07gAxNO4AMTTuADE07gAxNO4AMTTxADE08wAxNPAAMTTuADE07wA0N/sAGRp3AAAA + AAAJCi50GRp48QkJKpgAAAAGBAUVACAingAxNMcAMDKMAC0vnAArLacALS+5ADE08gAxNO4AMTTuADE0 + 7gAxNO6LMTTu/zE07lsxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuAzE07s0xNO7/MTTuaDE07u8xNO7kMTTuCjE07gAxNO4A////AP///wAxNO4AMTTuADE0 + 7gAxNO4dMTTu+zE07toxNO0EMTTtADE07QAxNO4AMTTuADE07gAxNO5NMTTuczE07mcxNO5MMTTuLDE0 + 7g0xNO4AMTTwADM29gAhI6EACws0DAUFGBkJCSoBGRp6AC0w2gAzNvkAMTT2ADE0+gAyNfkAMjX5ADI1 + 9wAxNO4AMTTuADE07gAxNO4AMTTumTE07v8xNO5UMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO5bMTTu/zE07rkxNO62MTTu/zE07kExNO4AMTTuAP// + /wD///8AMTTuADE07gAxNO4AMTTuBjE07twxNO74MTTuGzE07gAxNO4AMTTuADE07gAxNO5lMTTu/zE0 + 7v8xNO7/MTTu/zE07v8xNO7pMTTuxjE07qUwNO+DMjb7YDAz6UEtMNstMDPpLTQ3+yoyNfQjMTTuHTE0 + 7hoxNO4fMTTuCzE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07rkxNO7/MTTuOTE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuBzE07tAxNO7/MTTuxzE0 + 7v8xNO6fMTTuADE07gD///8A////ADE07gAxNO4AMTTuADE07gAxNO6wMTTu/zE07kMxNO4AMTTuADE0 + 7gAxNO4xMTTu6jE07v8xNO6DMTTuejE07poxNO7GMTTu6S8z7v8pMO7/LzDu/y8w7v8sMvD/MjXz/zI1 + 8f8xNO7/MTTu/zE07v0xNO78MTTu/DE07tIxNO4YMTTuADE07gAxNO4AMTTuADE07gUxNO7aMTTu+DE0 + 7hgxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO5AMTTu/zE07vkxNO7+MTTu8jE07hwxNO4A////AP///wAxNO4AMTTuADE07gAxNO4AMTTumjE0 + 7v8xNO5HMTTuADE07gAxNO5CMTTu6zE07v8xNO6SMTTuADE07gAxNO4AMTTuAC0y7g40Ne4nfFjxfLaA + 9P+4g/T/Vj7vxCkv7bAxNO69MTTuwDE07scxNO7MMTTuzjE07t4xNO7/MTTuoDE07gAxNO4AMTTuADE0 + 7gAxNO4QMTTu9DE07tsxNO4FMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07qYxNO7/MTTu/zE07v8xNO56MTTuAP///wD///8AMTTuADE0 + 7gAxNO4AMTTuADE07nsxNO7/MTTuaDE07gAxNO5rMTTu+DE07v8xNO6NMTTuATE07gAxNO4AMTTuAC8z + 7gAyNu4Ap4nyAOaS90rSYtL/0WrP/82H9z5PS/AAKzDuADE07gAxNO4AMTTuADE07gAxNO4ZMTTu5jE0 + 7v8xNO5FMTTuADE07gAxNO4AMTTuLDE07v8xNO7AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4cMTTu6jE07v8xNO7/MTTu1jE0 + 7gb///8A////ADE07gAxNO4AMTTuADE07gAxNO5QMTTu/zE07rIxNO6oMTTu/zE07v4xNO5zMTTuADE0 + 7gAxNO4AMTTuADE07gArMe4ATkbvANWb8gDVl/IE0mnrbc9z62foyf0Ce3H0ACcs7QAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07l8xNO7/MTTu4DE07hIxNO4AMTTuADE07m8xNO7/MTTuijE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7lIxNO7/MTTu/zE07v8xNO5G////AP///wAxNO4AMTTuADE07gAxNO4AMTTuMTE07v8xNO7/MTTu/zE0 + 7tUxNO5AMTTuADE07gAxNO4AMTTuADE07gAxNO4AKzHuAE5F7wDNjfEAz5HxAMaH8QDJjfMA5sr9AHlw + 9AAnLO0AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuqjE07v8xNO6uMTTuATE07gIxNO7YMTTu/zE0 + 7joxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTudjE07v8xNO7/MTTul////wD///8AMTTuADE07gAxNO4AMTTuADE0 + 7hYxNO72MTTu/zE07pQxNO4OMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuACsx7gBORe8AzY7xANCS + 8QDHhPAAyoryAObJ/QB5cPQAJyztADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07hYxNO7XMTTu/zE0 + 7pkxNO59MTTu/zE07rsxNO4BMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO6QMTTu/zE07uX///8A////ADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuVTE07lwxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gArMe4ATkXvAM2O8QDQkvEAx4TwAMqK8gDmyf0AeXD0ACcs7QAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuIjE07tsxNO7/MTTu/zE07vcxNO4xMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuAjE0 + 7rAxNO7F////AP///wAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AKzHuAE5F7wDNjvEA0JLxAMeE8ADKivIA5sn9AHlw9AAnLO0AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4nMTTuvzE07uUxNO5WMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE07gAxNO4AMTTuADE0 + 7gAxNO4AMTTuADE07gAxNO4AMTTuBP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A///////////////////////////////////////////////////////j/////////+OH//// + ////4Yf////////hB////////+EH////////4Af///+f///gB////w8f/+AH///+Dh//4Ef///4MH//g + QP///Agf/+PAB//8AB//48AAH/wAP//h/AAAPEI//+H/8AAARH//4f//gAD8f//h////APh///H///// + +P//8f/////4/8/x//////j/x/H/////+P/h8YB////4//h4AAP///j//gAAAH//+P//gB4AP//4//8B + //gf//j/AAjw/wAf+P8AAPD8AB/4//hg8P8AAAj/8P/weEAACP/x//94AAAA//H///+AD8D/8f///+IH + wH/h////4//Ef+H4///h/8B/4fB/4/H/4H/j8z/B8f/iP+PxP8jx/+I/4/g/xPH/4D/j/H/k8P/wP+P/ + /hD4//Af4//8Gfj/+B/j//x/+P/4H+P//D/4//gP4fA8f/j//A/h4AAB+P/8D/HAAADw//4H8YeAAPD/ + /wfxB+H4cf//A/Af4fwx//+D8D///gH//8Pwf//+Af//4/n///8D///j/////4f///v///////////// + //////////////////////////////////////////////////8= + + + \ No newline at end of file diff --git a/EonaCatDeDupText/Program.cs b/EonaCatDeDupText/Program.cs new file mode 100644 index 0000000..d27c4d1 --- /dev/null +++ b/EonaCatDeDupText/Program.cs @@ -0,0 +1,16 @@ +using System; +using System.Windows.Forms; + +namespace EonaCatDeDupText +{ + class Program + { + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} \ No newline at end of file diff --git a/EonaCatDeDupText/Properties/AssemblyInfo.cs b/EonaCatDeDupText/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..890b61b --- /dev/null +++ b/EonaCatDeDupText/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("EonaCatDeDupText")] +[assembly: AssemblyDescription("Remove duplicate lines from file")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EonaCatDeDupText")] +[assembly: AssemblyCopyright("Copyright © 2001")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5d261ea9-ba7c-432c-b851-c164e6360e9b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/EonaCatDeDupText/Properties/Resources.Designer.cs b/EonaCatDeDupText/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b542910 --- /dev/null +++ b/EonaCatDeDupText/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 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 EonaCatDeDupText.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EonaCatDeDupText.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [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/EonaCatDeDupText/Properties/Resources.resx b/EonaCatDeDupText/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/EonaCatDeDupText/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/EonaCatDeDupText/Properties/Settings.Designer.cs b/EonaCatDeDupText/Properties/Settings.Designer.cs new file mode 100644 index 0000000..6a5af6e --- /dev/null +++ b/EonaCatDeDupText/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 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 EonaCatDeDupText.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.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/EonaCatDeDupText/Properties/Settings.settings b/EonaCatDeDupText/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/EonaCatDeDupText/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/EonaCatDeDupText/redIcon.ico b/EonaCatDeDupText/redIcon.ico new file mode 100644 index 0000000..e053cea Binary files /dev/null and b/EonaCatDeDupText/redIcon.ico differ