From ddf33d4bc7d49cb4e026df17439b6576be808710 Mon Sep 17 00:00:00 2001
From: qwqdanchun <287182701@qq.com>
Date: Sun, 24 May 2020 14:59:29 +0800
Subject: [PATCH] first commit
---
Compiler.sln | 25 +
Compiler/Compiler.csproj | 104 +
Compiler/FodyWeavers.xml | 3 +
Compiler/FodyWeavers.xsd | 111 +
Compiler/Form1.Designer.cs | 366 ++
Compiler/Form1.cs | 216 ++
Compiler/Form1.resx | 1277 +++++++
Compiler/Program.cs | 21 +
Compiler/Properties/AssemblyInfo.cs | 35 +
Compiler/Properties/Resources.Designer.cs | 63 +
Compiler/Properties/Resources.resx | 117 +
Compiler/Properties/Settings.Designer.cs | 26 +
Compiler/Properties/Settings.settings | 7 +
Compiler/me.ico | Bin 0 -> 67646 bytes
Compiler/packages.config | 6 +
packages/Costura.Fody.4.1.0/.signature.p7s | Bin 0 -> 9477 bytes
.../Costura.Fody.4.1.0.nupkg | Bin 0 -> 46481 bytes
.../build/Costura.Fody.props | 5 +
.../Costura.Fody.4.1.0/lib/net40/Costura.dll | Bin 0 -> 4096 bytes
.../Costura.Fody.4.1.0/lib/net40/Costura.xml | 18 +
.../weaver/Costura.Fody.dll | Bin 0 -> 74240 bytes
.../weaver/Costura.Fody.xcf | 85 +
packages/FCTB.2.16.24/.signature.p7s | Bin 0 -> 9471 bytes
packages/FCTB.2.16.24/FCTB.2.16.24.nupkg | Bin 0 -> 155228 bytes
.../FCTB.2.16.24/lib/FastColoredTextBox.dll | Bin 0 -> 330752 bytes
.../FCTB.2.16.24/lib/FastColoredTextBox.xml | 3243 +++++++++++++++++
packages/Fody.6.0.0/.signature.p7s | Bin 0 -> 9466 bytes
packages/Fody.6.0.0/Fody.6.0.0.nupkg | Bin 0 -> 731719 bytes
packages/Fody.6.0.0/build/Fody.targets | 110 +
packages/Fody.6.0.0/netclassictask/Fody.dll | Bin 0 -> 43520 bytes
.../Fody.6.0.0/netclassictask/FodyCommon.dll | Bin 0 -> 10752 bytes
.../Fody.6.0.0/netclassictask/FodyHelpers.dll | Bin 0 -> 40448 bytes
.../netclassictask/FodyIsolated.dll | Bin 0 -> 31744 bytes
.../netclassictask/Mono.Cecil.Pdb.dll | Bin 0 -> 87552 bytes
.../netclassictask/Mono.Cecil.Pdb.pdb | Bin 0 -> 24496 bytes
.../netclassictask/Mono.Cecil.Rocks.dll | Bin 0 -> 27648 bytes
.../netclassictask/Mono.Cecil.Rocks.pdb | Bin 0 -> 7912 bytes
.../Fody.6.0.0/netclassictask/Mono.Cecil.dll | Bin 0 -> 343552 bytes
.../Fody.6.0.0/netclassictask/Mono.Cecil.pdb | Bin 0 -> 172408 bytes
packages/Fody.6.0.0/netstandardtask/Fody.dll | Bin 0 -> 43520 bytes
.../Fody.6.0.0/netstandardtask/FodyCommon.dll | Bin 0 -> 10752 bytes
.../netstandardtask/FodyHelpers.dll | Bin 0 -> 40448 bytes
.../netstandardtask/FodyIsolated.dll | Bin 0 -> 31744 bytes
.../netstandardtask/Mono.Cecil.Pdb.dll | Bin 0 -> 87552 bytes
.../netstandardtask/Mono.Cecil.Pdb.pdb | Bin 0 -> 24496 bytes
.../netstandardtask/Mono.Cecil.Rocks.dll | Bin 0 -> 24576 bytes
.../netstandardtask/Mono.Cecil.Rocks.pdb | Bin 0 -> 7000 bytes
.../Fody.6.0.0/netstandardtask/Mono.Cecil.dll | Bin 0 -> 343552 bytes
.../Fody.6.0.0/netstandardtask/Mono.Cecil.pdb | Bin 0 -> 172032 bytes
49 files changed, 5838 insertions(+)
create mode 100644 Compiler.sln
create mode 100644 Compiler/Compiler.csproj
create mode 100644 Compiler/FodyWeavers.xml
create mode 100644 Compiler/FodyWeavers.xsd
create mode 100644 Compiler/Form1.Designer.cs
create mode 100644 Compiler/Form1.cs
create mode 100644 Compiler/Form1.resx
create mode 100644 Compiler/Program.cs
create mode 100644 Compiler/Properties/AssemblyInfo.cs
create mode 100644 Compiler/Properties/Resources.Designer.cs
create mode 100644 Compiler/Properties/Resources.resx
create mode 100644 Compiler/Properties/Settings.Designer.cs
create mode 100644 Compiler/Properties/Settings.settings
create mode 100644 Compiler/me.ico
create mode 100644 Compiler/packages.config
create mode 100644 packages/Costura.Fody.4.1.0/.signature.p7s
create mode 100644 packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
create mode 100644 packages/Costura.Fody.4.1.0/build/Costura.Fody.props
create mode 100644 packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
create mode 100644 packages/Costura.Fody.4.1.0/lib/net40/Costura.xml
create mode 100644 packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
create mode 100644 packages/Costura.Fody.4.1.0/weaver/Costura.Fody.xcf
create mode 100644 packages/FCTB.2.16.24/.signature.p7s
create mode 100644 packages/FCTB.2.16.24/FCTB.2.16.24.nupkg
create mode 100644 packages/FCTB.2.16.24/lib/FastColoredTextBox.dll
create mode 100644 packages/FCTB.2.16.24/lib/FastColoredTextBox.xml
create mode 100644 packages/Fody.6.0.0/.signature.p7s
create mode 100644 packages/Fody.6.0.0/Fody.6.0.0.nupkg
create mode 100644 packages/Fody.6.0.0/build/Fody.targets
create mode 100644 packages/Fody.6.0.0/netclassictask/Fody.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/FodyCommon.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.pdb
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.pdb
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
create mode 100644 packages/Fody.6.0.0/netclassictask/Mono.Cecil.pdb
create mode 100644 packages/Fody.6.0.0/netstandardtask/Fody.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.pdb
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.pdb
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
create mode 100644 packages/Fody.6.0.0/netstandardtask/Mono.Cecil.pdb
diff --git a/Compiler.sln b/Compiler.sln
new file mode 100644
index 0000000..1f808c6
--- /dev/null
+++ b/Compiler.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29123.88
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compiler", "Compiler\Compiler.csproj", "{F88F7DD1-7762-408F-B5FD-078809CFE0E3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F88F7DD1-7762-408F-B5FD-078809CFE0E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F88F7DD1-7762-408F-B5FD-078809CFE0E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F88F7DD1-7762-408F-B5FD-078809CFE0E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F88F7DD1-7762-408F-B5FD-078809CFE0E3}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {E5AAB030-EA7C-4886-9F90-A19A481A1FA1}
+ EndGlobalSection
+EndGlobal
diff --git a/Compiler/Compiler.csproj b/Compiler/Compiler.csproj
new file mode 100644
index 0000000..2eb726e
--- /dev/null
+++ b/Compiler/Compiler.csproj
@@ -0,0 +1,104 @@
+
+
+
+
+
+ Debug
+ AnyCPU
+ {F88F7DD1-7762-408F-B5FD-078809CFE0E3}
+ WinExe
+ Compiler
+ Compiler
+ v4.0
+ 512
+ true
+
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ none
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ me.ico
+
+
+
+ ..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll
+
+
+ ..\packages\FCTB.2.16.24\lib\FastColoredTextBox.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+ Form1.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
\ No newline at end of file
diff --git a/Compiler/FodyWeavers.xml b/Compiler/FodyWeavers.xml
new file mode 100644
index 0000000..5029e70
--- /dev/null
+++ b/Compiler/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Compiler/FodyWeavers.xsd b/Compiler/FodyWeavers.xsd
new file mode 100644
index 0000000..44a5374
--- /dev/null
+++ b/Compiler/FodyWeavers.xsd
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+ A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks
+
+
+
+
+ A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.
+
+
+
+
+ A list of unmanaged 32 bit assembly names to include, delimited with line breaks.
+
+
+
+
+ A list of unmanaged 64 bit assembly names to include, delimited with line breaks.
+
+
+
+
+ The order of preloaded assemblies, delimited with line breaks.
+
+
+
+
+
+ This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.
+
+
+
+
+ Controls if .pdbs for reference assemblies are also embedded.
+
+
+
+
+ Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.
+
+
+
+
+ As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.
+
+
+
+
+ Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.
+
+
+
+
+ Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.
+
+
+
+
+ A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |
+
+
+
+
+ A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.
+
+
+
+
+ A list of unmanaged 32 bit assembly names to include, delimited with |.
+
+
+
+
+ A list of unmanaged 64 bit assembly names to include, delimited with |.
+
+
+
+
+ The order of preloaded assemblies, delimited with |.
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/Compiler/Form1.Designer.cs b/Compiler/Form1.Designer.cs
new file mode 100644
index 0000000..c32fec1
--- /dev/null
+++ b/Compiler/Form1.Designer.cs
@@ -0,0 +1,366 @@
+namespace Compiler
+{
+ 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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.txtBox = new FastColoredTextBoxNS.FastColoredTextBox();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.wordWraoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.label4 = new System.Windows.Forms.Label();
+ this.comboFrame = new System.Windows.Forms.ComboBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.comboType = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.listBoxReferences = new System.Windows.Forms.ListBox();
+ this.menuReferences = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.label1 = new System.Windows.Forms.Label();
+ this.comboLang = new System.Windows.Forms.ComboBox();
+ this.panel2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.txtBox)).BeginInit();
+ this.menuStrip1.SuspendLayout();
+ this.panel1.SuspendLayout();
+ this.menuReferences.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // panel2
+ //
+ this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.panel2.Controls.Add(this.txtBox);
+ this.panel2.Location = new System.Drawing.Point(8, 22);
+ this.panel2.Margin = new System.Windows.Forms.Padding(2);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(579, 319);
+ this.panel2.TabIndex = 1;
+ //
+ // txtBox
+ //
+ this.txtBox.AutoCompleteBracketsList = new char[] {
+ '(',
+ ')',
+ '{',
+ '}',
+ '[',
+ ']',
+ '\"',
+ '\"',
+ '\'',
+ '\''};
+ this.txtBox.AutoIndentCharsPatterns = "\r\n^\\s*[\\w\\.]+(\\s\\w+)?\\s*(?=)\\s*(?[^;]+);\r\n^\\s*(case|default)\\s*[^:]" +
+ "*(?:)\\s*(?[^;]+);\r\n";
+ this.txtBox.AutoScrollMinSize = new System.Drawing.Size(27, 14);
+ this.txtBox.BackBrush = null;
+ this.txtBox.BracketsHighlightStrategy = FastColoredTextBoxNS.BracketsHighlightStrategy.Strategy2;
+ this.txtBox.CharHeight = 14;
+ this.txtBox.CharWidth = 8;
+ this.txtBox.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.txtBox.DisabledColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));
+ this.txtBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtBox.Font = new System.Drawing.Font("Courier New", 9.75F);
+ this.txtBox.IsReplaceMode = false;
+ this.txtBox.Language = FastColoredTextBoxNS.Language.CSharp;
+ this.txtBox.LeftBracket = '(';
+ this.txtBox.LeftBracket2 = '{';
+ this.txtBox.Location = new System.Drawing.Point(0, 0);
+ this.txtBox.Margin = new System.Windows.Forms.Padding(2);
+ this.txtBox.Name = "txtBox";
+ this.txtBox.Paddings = new System.Windows.Forms.Padding(0);
+ this.txtBox.RightBracket = ')';
+ this.txtBox.RightBracket2 = '}';
+ this.txtBox.SelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(255)))));
+ this.txtBox.ServiceColors = ((FastColoredTextBoxNS.ServiceColors)(resources.GetObject("txtBox.ServiceColors")));
+ this.txtBox.Size = new System.Drawing.Size(579, 319);
+ this.txtBox.TabIndex = 3;
+ this.txtBox.Zoom = 100;
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.optionsToolStripMenuItem,
+ this.editToolStripMenuItem});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Padding = new System.Windows.Forms.Padding(4, 1, 0, 1);
+ this.menuStrip1.Size = new System.Drawing.Size(741, 24);
+ this.menuStrip1.TabIndex = 2;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // optionsToolStripMenuItem
+ //
+ this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.runToolStripMenuItem});
+ this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
+ this.optionsToolStripMenuItem.Size = new System.Drawing.Size(66, 22);
+ this.optionsToolStripMenuItem.Text = "Options";
+ //
+ // runToolStripMenuItem
+ //
+ this.runToolStripMenuItem.Name = "runToolStripMenuItem";
+ this.runToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5;
+ this.runToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
+ this.runToolStripMenuItem.Text = "Compile";
+ this.runToolStripMenuItem.Click += new System.EventHandler(this.RunToolStripMenuItem_Click);
+ //
+ // editToolStripMenuItem
+ //
+ this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.wordWraoToolStripMenuItem});
+ this.editToolStripMenuItem.Name = "editToolStripMenuItem";
+ this.editToolStripMenuItem.Size = new System.Drawing.Size(42, 22);
+ this.editToolStripMenuItem.Text = "Edit";
+ //
+ // wordWraoToolStripMenuItem
+ //
+ this.wordWraoToolStripMenuItem.Name = "wordWraoToolStripMenuItem";
+ this.wordWraoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.wordWraoToolStripMenuItem.Text = "Word Wrap";
+ this.wordWraoToolStripMenuItem.Click += new System.EventHandler(this.WordWraoToolStripMenuItem_Click);
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.label4);
+ this.panel1.Controls.Add(this.comboFrame);
+ this.panel1.Controls.Add(this.label3);
+ this.panel1.Controls.Add(this.comboType);
+ this.panel1.Controls.Add(this.label2);
+ this.panel1.Controls.Add(this.listBoxReferences);
+ this.panel1.Controls.Add(this.label1);
+ this.panel1.Controls.Add(this.comboLang);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel1.Location = new System.Drawing.Point(591, 24);
+ this.panel1.Margin = new System.Windows.Forms.Padding(2);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(150, 324);
+ this.panel1.TabIndex = 3;
+ //
+ // label4
+ //
+ this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(3, 136);
+ this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(59, 12);
+ this.label4.TabIndex = 7;
+ this.label4.Text = "Framework";
+ //
+ // comboFrame
+ //
+ this.comboFrame.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.comboFrame.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboFrame.FormattingEnabled = true;
+ this.comboFrame.Items.AddRange(new object[] {
+ "v2.0",
+ "v4.0"});
+ this.comboFrame.Location = new System.Drawing.Point(5, 157);
+ this.comboFrame.Margin = new System.Windows.Forms.Padding(2);
+ this.comboFrame.Name = "comboFrame";
+ this.comboFrame.Size = new System.Drawing.Size(138, 20);
+ this.comboFrame.TabIndex = 6;
+ //
+ // label3
+ //
+ this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(3, 77);
+ this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(35, 12);
+ this.label3.TabIndex = 5;
+ this.label3.Text = "Type:";
+ //
+ // comboType
+ //
+ this.comboType.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.comboType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboType.FormattingEnabled = true;
+ this.comboType.Items.AddRange(new object[] {
+ "winexe",
+ "library"});
+ this.comboType.Location = new System.Drawing.Point(5, 98);
+ this.comboType.Margin = new System.Windows.Forms.Padding(2);
+ this.comboType.Name = "comboType";
+ this.comboType.Size = new System.Drawing.Size(138, 20);
+ this.comboType.TabIndex = 4;
+ //
+ // label2
+ //
+ this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(3, 201);
+ this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(71, 12);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "References:";
+ //
+ // listBoxReferences
+ //
+ this.listBoxReferences.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.listBoxReferences.ContextMenuStrip = this.menuReferences;
+ this.listBoxReferences.FormattingEnabled = true;
+ this.listBoxReferences.ItemHeight = 12;
+ this.listBoxReferences.Items.AddRange(new object[] {
+ "System.dll",
+ "System.Windows.Forms.dll",
+ "Microsoft.VisualBasic.dll",
+ "System.Management.dll",
+ "System.Drawing.dll"});
+ this.listBoxReferences.Location = new System.Drawing.Point(5, 223);
+ this.listBoxReferences.Margin = new System.Windows.Forms.Padding(2);
+ this.listBoxReferences.Name = "listBoxReferences";
+ this.listBoxReferences.Size = new System.Drawing.Size(138, 88);
+ this.listBoxReferences.TabIndex = 2;
+ //
+ // menuReferences
+ //
+ this.menuReferences.ImageScalingSize = new System.Drawing.Size(24, 24);
+ this.menuReferences.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.addToolStripMenuItem,
+ this.removeToolStripMenuItem});
+ this.menuReferences.Name = "menuReferences";
+ this.menuReferences.ShowImageMargin = false;
+ this.menuReferences.Size = new System.Drawing.Size(99, 48);
+ //
+ // addToolStripMenuItem
+ //
+ this.addToolStripMenuItem.Name = "addToolStripMenuItem";
+ this.addToolStripMenuItem.Size = new System.Drawing.Size(98, 22);
+ this.addToolStripMenuItem.Text = "Add";
+ this.addToolStripMenuItem.Click += new System.EventHandler(this.AddToolStripMenuItem_Click);
+ //
+ // removeToolStripMenuItem
+ //
+ this.removeToolStripMenuItem.Name = "removeToolStripMenuItem";
+ this.removeToolStripMenuItem.Size = new System.Drawing.Size(98, 22);
+ this.removeToolStripMenuItem.Text = "Remove";
+ this.removeToolStripMenuItem.Click += new System.EventHandler(this.RemoveToolStripMenuItem_Click);
+ //
+ // label1
+ //
+ this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(3, 7);
+ this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(59, 12);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Language:";
+ //
+ // comboLang
+ //
+ this.comboLang.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.comboLang.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboLang.FormattingEnabled = true;
+ this.comboLang.Items.AddRange(new object[] {
+ "C#",
+ "VB.NET"});
+ this.comboLang.Location = new System.Drawing.Point(5, 28);
+ this.comboLang.Margin = new System.Windows.Forms.Padding(2);
+ this.comboLang.Name = "comboLang";
+ this.comboLang.Size = new System.Drawing.Size(138, 20);
+ this.comboLang.TabIndex = 0;
+ this.comboLang.SelectedIndexChanged += new System.EventHandler(this.ComboLang_SelectedIndexChanged);
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(741, 348);
+ this.Controls.Add(this.panel1);
+ this.Controls.Add(this.menuStrip1);
+ this.Controls.Add(this.panel2);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MainMenuStrip = this.menuStrip1;
+ this.Margin = new System.Windows.Forms.Padding(2);
+ this.Name = "Form1";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "Compiler";
+ this.Load += new System.EventHandler(this.Form1_Load);
+ this.panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.txtBox)).EndInit();
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.menuReferences.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem runToolStripMenuItem;
+ private FastColoredTextBoxNS.FastColoredTextBox txtBox;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.ListBox listBoxReferences;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox comboLang;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.ComboBox comboType;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.ComboBox comboFrame;
+ private System.Windows.Forms.ContextMenuStrip menuReferences;
+ private System.Windows.Forms.ToolStripMenuItem addToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem wordWraoToolStripMenuItem;
+ }
+}
+
diff --git a/Compiler/Form1.cs b/Compiler/Form1.cs
new file mode 100644
index 0000000..387817d
--- /dev/null
+++ b/Compiler/Form1.cs
@@ -0,0 +1,216 @@
+using FastColoredTextBoxNS;
+using Microsoft.CSharp;
+using Microsoft.VisualBasic;
+using System;
+using System.CodeDom.Compiler;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace Compiler
+{
+ public partial class Form1 : Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ comboLang.SelectedIndex = 0;
+ comboType.SelectedIndex = 0;
+ comboFrame.SelectedIndex = 0;
+ }
+
+ private void Form1_Load(object sender, EventArgs e)
+ {
+
+ }
+
+ private void RunToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (listBoxReferences.Items.Count == 0)
+ {
+ MessageBox.Show("No references!", "Compiler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ return;
+ }
+
+ if (string.IsNullOrWhiteSpace(txtBox.Text))
+ {
+ MessageBox.Show("Empty code!", "Compiler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ return;
+ }
+
+ using (SaveFileDialog saveFile = new SaveFileDialog())
+ {
+ if (comboType.SelectedIndex == 0)
+ saveFile.Filter = "Executable (*.exe)|*.exe";
+ else
+ saveFile.Filter = "Library (*.dll)|*.dll";
+
+ if (saveFile.ShowDialog() == DialogResult.OK)
+ {
+ switch (comboLang.Text)
+ {
+ case "C#":
+ {
+ Compiler(new CSharpCodeProvider(new Dictionary() { { "CompilerVersion", comboFrame.Text } }),
+ txtBox.Text, GetReference(),
+ saveFile.FileName);
+ break;
+ }
+
+ case "VB.NET":
+ {
+ Compiler(new VBCodeProvider(new Dictionary() { { "CompilerVersion", comboFrame.Text } }),
+ txtBox.Text, GetReference(),
+ saveFile.FileName);
+ break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Compiler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ return;
+ }
+ finally
+ {
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+ }
+ }
+
+ private string[] GetReference()
+ {
+ List reference = new List();
+ foreach (string r in listBoxReferences.Items)
+ {
+ reference.Add(r);
+ }
+ return reference.ToArray();
+ }
+
+ private void Compiler(CodeDomProvider codeDomProvider, string source, string[] referencedAssemblies, string output)
+ {
+ try
+ {
+ var compilerOptions = $"/target:{comboType.Text} /platform:anycpu /optimize+";
+
+ var compilerParameters = new CompilerParameters(referencedAssemblies)
+ {
+ GenerateExecutable = true,
+ GenerateInMemory = false,
+ CompilerOptions = compilerOptions,
+ TreatWarningsAsErrors = false,
+ IncludeDebugInformation = false,
+ OutputAssembly = output,
+ };
+ var compilerResults = codeDomProvider.CompileAssemblyFromSource(compilerParameters, source);
+
+ if (compilerResults.Errors.Count > 0)
+ {
+ foreach (CompilerError compilerError in compilerResults.Errors)
+ {
+ throw new Exception(string.Format("{0}\nLine: {1}", compilerError.ErrorText, compilerError.Line));
+ }
+ }
+ else
+ {
+ MessageBox.Show("Done!", "Compiler", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ }
+
+ private void AddToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ string reference = Interaction.InputBox("Add Reference", "References", "");
+ if (string.IsNullOrEmpty(reference))
+ return;
+ else
+ {
+ foreach (string item in listBoxReferences.Items)
+ {
+ if (item == reference)
+ {
+ return;
+ }
+ }
+ listBoxReferences.Items.Add(reference);
+ }
+ }
+
+ private void RemoveToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (listBoxReferences.SelectedItems.Count == 1)
+ {
+ listBoxReferences.Items.Remove(listBoxReferences.SelectedItem);
+ }
+ }
+
+ private void ComboLang_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (comboLang.SelectedIndex == 0)
+ {
+ txtBox.Language = Language.CSharp;
+ txtBox.Text = txtBox.Text = @"// c#
+
+using System;
+using System.Windows.Forms;
+
+namespace Compiler
+{
+ public class Program
+ {
+ public static void Main()
+ {
+ try
+ {
+ MessageBox.Show(""Hello World"");
+ }
+ catch { }
+ }
+ }
+}";
+ }
+ else
+ {
+ txtBox.Language = Language.VB;
+ txtBox.Text = @"' VB
+
+Imports System
+Imports System.Windows.Forms
+
+ Public Class Program
+ Public Shared Sub Main()
+ Try
+ MessageBox.Show(""Hello World"")
+ Catch
+ End Try
+ End Sub
+ End Class
+
+";
+ }
+ }
+
+ private void WordWraoToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (txtBox.WordWrap)
+ {
+ txtBox.WordWrap = false;
+ wordWraoToolStripMenuItem.Checked = false;
+ }
+ else
+ {
+ txtBox.WordWrap = true;
+ wordWraoToolStripMenuItem.Checked = true;
+ }
+ }
+ }
+}
diff --git a/Compiler/Form1.resx b/Compiler/Form1.resx
new file mode 100644
index 0000000..8515f74
--- /dev/null
+++ b/Compiler/Form1.resx
@@ -0,0 +1,1277 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdGYXN0Q29sb3JlZFRleHRCb3gsIFZlcnNpb249Mi4xNi4yNC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWZiOGFhMTJiOTk0ZWY2MWIMAwAAAFFTeXN0
+ ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
+ PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACJGYXN0Q29sb3JlZFRleHRCb3hOUy5TZXJ2aWNlQ29sb3JzBgAA
+ ACg8Q29sbGFwc2VNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxDb2xsYXBzZU1hcmtlckJh
+ Y2tDb2xvcj5rX19CYWNraW5nRmllbGQqPENvbGxhcHNlTWFya2VyQm9yZGVyQ29sb3I+a19fQmFja2lu
+ Z0ZpZWxkJjxFeHBhbmRNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkJjxFeHBhbmRNYXJrZXJC
+ YWNrQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxFeHBhbmRNYXJrZXJCb3JkZXJDb2xvcj5rX19CYWNraW5n
+ RmllbGQEBAQEBAQUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAA
+ ABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5E
+ cmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAACAAAABfz///8UU3lzdGVtLkRy
+ YXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAACgAAAAAA
+ AAAAlgABAAH7/////P///woAAAAAAAAAAKQAAQAB+v////z///8KAAAAAAAAAACWAAEAAfn////8////
+ CgAAAAAAAAAAjQABAAH4/////P///woAAAAAAAAAAKQAAQAB9/////z///8KAAAAAAAAAACWAAEACw==
+
+
+
+ 17, 17
+
+
+ 214, 17
+
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ 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////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////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////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///8Auev2ALnr9gC56/YAuev2ALnr
+ 9gC56/YAuev2ALnr9gC56/YAv/H8AJnK1ghbipgcZ5SgpWiUoJ8xYG6ON2VyHBdHVSIuX2kAQ3mBAAco
+ MQAXNj8AK05YACA/TAAkRFMAHD5NAFB8iQBxpLAAbJ6qAGyeqgBsnqoAbJ6qAGyeqgBsnqoAbp+rAFp5
+ gwAyW2gAKlNgABxDUQAYQk8AJFZgACNVXwAjVV8AI1VfACNVXwAeUFoAUH+IADNXYgAlSFQADi87ABgw
+ PgAuRlQACC88AA8/TgAJOEoSHFBin1+KmNg/ZXjYPWBx2mCBkdpOc4LBSHWDMNb//wDA8/sAvvH5AL7x
+ +QC+8fkAvvH5AL7x+QC+8fkAvvH5AL7x+QC+8fkAvvH5AL7x+QC+8fkAvvH5AL7x+QD///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///wCEs8AAhLPAAISzwACEs8AAhLPAAISzwACEs8AAhLPAAISzwACIuMQAXoyah3uf
+ qrzc9/v70u7z/2WJlduFrrbfaZeg7CJUX4Q9dH0JBicwABc2PwArTlgAID9MACREUwAcPk0AUHyJAHGk
+ sABsnqoAbJ6qAGyeqgBsnqoAbJ6qAGyeqgBun6sAWnmDADJbaAAqU2AAHENRABhCTwAkVmAAI1VfACNV
+ XwAjVV8AI1VfAB5QWgBQf4gAM1diACVIVAAOLzsAGDA+AC9GVAAEKzgAADBALU14hM2Ns7+65Pz//6a6
+ yP+qvMP/8P7//9jr9ddqkZzeVX+LOLfq8gDH+v8AxPf/AMT3/wDE9/8AxPf/AMT3/wDE9/8AxPf/AMT3
+ /wDE9/8AxPf/AMT3/wDE9/8AxPf/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////ACxYZQAsWGUALFhlACxY
+ ZQAsWGUALFhlACxYZQAsWGUALFhlAC5caCZKb3zyrsPI/+Ty9v/V4+j/2Ont/9ry9P/V9PX/tNfa/1qE
+ jKIAISoUFDM8ACtOWAAgP0wAJERTABw+TQBQfIkAcaSwAGyeqgBsnqoAbJ6qAGyeqgBsnqoAbJ6qAG6f
+ qwBaeYMAMltoACpTYAAcQ1EAGEJPACRWYAAjVV8AI1VfACNVXwAjVV8AHlBaAFB/iAAzV2IAJUhUAA4v
+ OwAZMT8AKEBOAA82Q058oauC1O3z/+Tz+v/e6PL/wcvV/8rU3P/q9Pn/3+30/7fS1v8bQU7ykMHLQqfZ
+ 4gCj1d8Ao9XfAKPV3wCj1d8Ao9XfAKPV3wCj1d8Ao9XfAKPV3wCj1d8Ao9XfAKPV3wCj1d8A////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///8AN2l1ADdpdQA3aXUAN2l1ADdpdQA3aXUAN2l1ADdpdQA1Z3QASniErczq
+ 7v/T4uX/5uns/+/w8f/n6+z/2+fn/9vr7P/j8vP/5/b434KcodEVN0BIJEhSACA/TAAkRFMAHD5NAFB8
+ iQBxpLAAbJ6qAGyeqgBsnqoAbJ6qAGyeqgBsnqoAbp+rAFp5gwAyW2gAKlNgABxDUQAYQk8AJFZgACNV
+ XwAjVV8AI1VfACNVXwAeUFoAUH+IADNXYgAlSFQADy87AA8oNgA3Tl0sq8LM1ePx+f/l6vH/7u31/+vq
+ 8f/u8fX/6PH0/9ro6//b6+//0+nt/8Tk6/83Y3HQJVJgAClWZAApVmQAKVZkAClWZAApVmQAKVZkAClW
+ ZAApVmQAKVZkAClWZAApVmQAKVZkAClWZAD///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///wA/doQAP3aEAD92
+ hAA/doQAP3aEAD92hAA/doQAP3aEADdwfkN/r7n11O7y/+Ts7//s6ev/7+zt/+np6//r8vP/2+jq/+Lr
+ 7f/f5+n/8P///562vMEwUlwYGjlGBSREUwAcPk0AUHyJAHGksABsnqoAbJ6qAGyeqgBsnqoAbJ6qAGye
+ qgBun6sAWnmDADJbaAAqU2AAHENRABhCTwAkVmAAI1VfACNVXwAjVV8AI1VfAB5QWgBQf4gAM1diACZI
+ VAAIKjYHITlITLnFz+Dt8/z/4eXs/+/v9f/n5u3/7ezy/+ru8//i7O//3ezu/9zs8P/Z6ez/3vP2/ypR
+ XMgAJjMABS05AAUtOQAFLTkABS05AAUtOQAFLTkABS05AAUtOQAFLTkABS05AAUtOQAFLTkABS05AP//
+ /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////AEF6jABBeowAQXqMAEJ6jABBeowAQHmKAEB5igBAeYoAOXOFNn6u
+ vOzQ6u//5Ozu//Lv8P/y7e7/7e7w/+bu8v/g7vX/4O3x/+Tu7//a6On/6/n9/7vQ17xLZ3M8Gz1MAx0/
+ TgBQfIkAcaSwAGyeqgBsnqoAbJ6qAGyeqgBsnqoAbJ6qAG6fqwBaeYMAMltoACpTYAAcQ1EAGEJPACRW
+ YAAjVV8AI1VfACNVXwAjVV8AHlBaAFB/iAA0WGMAIUVRAREyPzehtb7W7vb8/+Hq8P/l7PL/5u3z/+Xs
+ 8v/j6vD/5Ozy/+Xt8//j7fL/4+zx/97o6P/e8vH/NV1n0GKVngBjlZ4AY5WeAGOVngBjlZ4AY5WeAGOV
+ ngBjlZ4AY5WeAGOVngBjlZ4AY5WeAGOVngBjlZ4A////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///8ATImbAEyJ
+ mwBMiZsATImaAE+LnQBWkqQAVZCiAFmVpwBWlKcBdae2R8/r8fXc6On/6+zs//Du7//q7vD/5O7y/9/u
+ 9P/f7PH/5O/w/9zp6//Y5uv/5PT6/83j6cA5WmgYETBBAE98iABxpLAAbJ6qAGyeqgBsnqoAbJ6qAGye
+ qgBsnqoAbp+rAFp5gwAyW2gAKlNgABxDUQAYQk8AJFZgACNVXwAjVV8AI1VfACNVXwAeUFoAUH+IAC5S
+ XQAWOUUAXXuFYuP1+uzf5+7/4uvx/+Tt8//l7fP/4+vx/+Lq8P/k7PL/5e3z/+Pr8f/h6u//4O3s/8zm
+ 5fBaipKkx///AMT//wDE//8Aw///AMb//wDJ//8Ayf//AMn//wDJ//8Ayf//AMn//wDJ//8Ayf//AMn/
+ /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///wAnaHgAJ2h4ACdoeAAkZXQAOHeGAE6LmgBPkqAANW9/ACpg
+ cQApXGuu0fP2/9rs7f/k6+v/6u7u/+jv8P/i7/P/3+/0/+Tw9f/j7u//4+/z/9zp7//U5Ov/4fX4/6O/
+ xbUEIDA+SnaEAHWotABsnqoAbJ6qAG6grABvoa0Ab6GtAG2grABuoKwAWnmDADJbaAAqU2AAHENRABhC
+ TwAkV2EAI1VfACNVXwAjVV8AI1VfAB5QWgBRgIkACi45AFN0fWLe9/r62+zx/+Hp7//j6/H/5e3z/+Xt
+ 8//k7PL/5Ozy/+Xt8//l7fP/4+vx/97p7v/l9vf/iamt5WqephHB/v8Au/f+ALn1/AC8+f8Apd3mAJLF
+ zwCUydMAlMnTAJTJ0wCUydMAlMnTAJTJ0wCUydMAlMnTAP///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////AClp
+ eQApaXkAKWl5ACZmdgA7eogAQ4GNAEePmgAscXwAMWdyADRodXikzdGd2fDx/97q6v/m7e3/5u7x/+Hv
+ 8//h8PX/5PH1/97p7P/d6e7/5vP4/+Dv9f/U6fD/2/T7/4KirLwaQU8SXo6aAnCfqgBunqkAZZaiAF+Q
+ nQBgkZ4AaZejAG6PmQBadX8AMlxpACpTYAAcQ1EAF0BNACNVXwAjVl8AIlVfACJVXgAhVF4AHlFbA0Fw
+ eQY+Ymuqy+ft/9jt8v/Y5uv/5e3z/+Xt8//l7fP/5Ozy/+Pr8f/l7fP/5e3z/+Ts8v/h6vD/4Ovx/9rx
+ 9N1chY20OGZyJU18hQBHdH8AaJupAH2zwAB2o7AAbpqnAG+bqABvm6gAb5uoAG+bqABvm6gAb5uoAG+b
+ qABvm6gA////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///8AKWl5AClpeQApaXkAJmZ2ADt6iABEgo8AR46aADZ+
+ iQA6eYMAOW55AFR+hvDb9vj/3O3t/+Hu7v/j7/H/4fDz/+Hw9f/h7/P/6PP3/+Pv8//d6u//3+3y/9nq
+ 7//Z7fL/1/H24ENnczwdQk0AfKGpAHugpwBGb30AIlFhACdUZABacXwAcISNAFp2gAAyXGkAKlNgAB1F
+ UwAROUcAFj5LACZWYQAnVmEAKVhjAC9daAApV2IACjNANajJz/3f9vn/2unv/9/s8f/l7vP/5u70/+bu
+ 9P/k7PL/4+vx/+bu9P/m7vT/5Ozy/+Hq8P/k8PX/s8/U8BlBTjccRVIAGkJOAE19iwBsobIAa56tAHOg
+ rQB0oa4AdKGuAHShrgB0oa4AdKGuAHShrgB0oa4AdKGuAHShrgD///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//
+ /wApaXkAKWl5AClpeQAmZnYAO3qIAEKAjQFGjJhYOH6Jzzl4gtFJfojLOmNs+qS+wf/j9vb/4u/w/9zq
+ 7P/e7u//2+rv/+Hw9P/m8fX/5+/z/+Ls8f/h7fL/3Orv/9rr8P/X7vX/uNXb6jVYYnJlipMBZoqTAEBp
+ dwAmVWUAKldnAFtzfgBwhY4AWnaAADJcaQAqU2AAHUVTABI6SAAQNEMAKFRgACtXYwAtWWUAPGZxACNM
+ WApQc31/2/X6+tDj6P/l8vb/4evw/+Ps8f/k7PL/5e3z/+bu9P/j7PL/6fD3/+Xt8//l7fP/4uvx/+Tw
+ 9f+PrrdjPWh0AGqXoQA4Ym0AX5KjAG6ktABuobAAdKGuAHShrgB0oa4AdKGuAHShrgB0oa4AdKGuAHSh
+ rgB0oa4AdKGuAP///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////ACdndwAnZ3cAJ2d3ACRkdAE5eYgRSYWRKEJ9
+ iP87dH7/NWpz/zRgav89X2j/WXR7/+Dw8v/W5Ob/3uvs/+Lv8P/f7e//5fH0/+Xv8//m7vL/5e7y/+Pt
+ 8v/f7PD/3Orw/9Xo7v/h+P3/hqOq2g8vOxAfQU4AJ1NiACtZaQAqV2cAW3N+AHCFjgBadoAAMlxpACpT
+ YAAdRVMAEjpIABE1RAAoVGAAKFZiADhjbwA9ZG8AKU9bIaXDysTZ7vL/4e/0/+Hr8P/h6u//4+vx/+Ts
+ 8v/l7fP/5u70/+Xu9P/q8ff/5Ozy/+Xt9P/f5u3/5fD1/3GNmBhkj5oAfq63AERvegBekqIAcqm5AXGl
+ tAB1oq8AdKGuAHimswB2pLEAdqOwAHajsAB2o7AAdqOwAHajsAB2o7AA////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///8AM3GBADNxgQAzcYEAMnKBADNvfhY9b3y5HUVQ/ld7hP+BqLD/Z4eQ/563vv9OW2T/t8PI/+r1
+ 9//i7u//5PDx/+Ht7v/j7vD/5e/0/+bu8v/l7vL/5O3x/+Xu8v/f6e//5PH2/9bo7f/N5OfYRGJsLB1E
+ UgArW2sBKlhoACZUZABacn0AcIWOAFp2gAAyXGkAKlNgAB1FUwASOkgAETVEAClUYAAoV2MBQ296BUNk
+ cQJXdoFP6v///9fm7P/o8vb/4+rv/+Xs8f/j6/H/5Ozy/+Xt8//m7vT/5+/1/+jw9v/k7PL/5Ozy/9zj
+ 6v/n8vj/LkNQPUBibgCbv8cAT3aAACFOXABfkKAAYpCeAHKfrAN5qLUBYYyZAGqVogBsl6QAa5ekAGuX
+ pABrl6QAa5ekAGuXpAD///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///wBjm6gAY5uoAGObqABmnqsAT4OROnWc
+ pv+QsLb/1/Dz/9Xq7//e8PX/3u3y/9nm7P+AjJT/7vb6/93n6//i6+3/5e/w/+Tv8v/l7/T/5u3z/+fu
+ 8v/l7PD/7PL1/+Tq7//m7/T/2ujq/+f5+f+XsreUFD1MESVTYwEqV2cASGx5AGJ4ggBvhI0AWnaAADJc
+ aQAqU2AAHUVTABI6SAASNkQAJ0pZABU+TAA0W2gATGx5ALrP18Lc7PD/4e3y/+Do7P/s8fT/6e/0/+Lq
+ 8P/k7PL/5e3z/+bu9P/n7/X/5u70/+Xt8//i6vD/4Ojv/9Xg5/86SVSldYyWAJKxuh19oakrXoCIAAMf
+ KiYjPEkFP11qADdSXgAFJzEANlpkAEJncwBAZXEAQGVxAEBlcQBAZXEAQGVxAP///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////AGKToQBik6EAYpOhAGCRoAZolaMrvdzjttnu8v/c6ev/4ezw/+Lr7//c5ev/4Obt/5Wd
+ qP/W3uT/6fDz/+Xr7v/f6en/5O/y/+Xv9P/m7fP/5+7y/+br8P/n7fH/6O7y/9/p6v/j8fH/2+vr/9Tr
+ 7fo2XGk1FTtKACxTYwBog40AaX6HAG+EjQBZdoAALlpnACVPXAAVPk0ABzE/AQIoNwYnSVcAK01bDyVF
+ U2xqhpGM3/H3/Nvp7v/h6+//5Oru/+rv8f/k6/D/5Ozy/+Xt8//l7fP/5u70/+bu9P/j6/H/6PD2/9zk
+ 6//q8vj/v8rR+lljbYzk9vnVyOLn5sbj5urt///WaoGJ6puutdt+jpiLEx4qjRA0PQY0WWQARGl1AEJn
+ cwBCZ3MAQmdzAEJncwBCZ3MA////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///8AQG+CAEBvggBAb4IAPGt+Dk17
+ jmK11+PA4vT8/9nj5v/l7e//4uvu/+rx9P/j7O7/q7S7/6u2u//s9Pb/6/P0/+Pt7v/p8/X/5e/z/+Xt
+ 8v/p8fX/5+/z/+Dp7f/m7vL/5e/x/+Dr7v/V4uX/5fX4/6fAyOZSbnqPa4iTXHCJkgBkeoMAaoCJAFt1
+ fwBFZnFLSGp0h1BxfJdZeYOpZ4ONtJeutojS5euIlq22/rTGzP/m8/j/7fn9/+jw9f/l7fD/4Ojs/+Lr
+ 8P/c5ez/3OXt/+jw9v/o8Pb/3ubs/+Hp7//l7/P/4Ont/+31+f+1v8f/sba//+Lp7//Y7O3/1Ozr/9z1
+ 8v+80ND/ydfY//H7+/+XqbDrVnB4iz9jb2hCZ3MAQmdzAEJncwBCZ3MAQmdzAEJncwD///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///wA/coYAP3KGAD9yhgBAcoYAOGh+LJfC1PXc8/z/3ejq/+Dr7P/f6er/2eXm/+z2
+ 9/+7x8r/pbK1/+bx8v/l8PH/4uzu/+fw8//i7PD/6PH1/+Ps8P/e6Oz/6vP2/+Dq7v/h6/D/7PX5/+z2
+ +v/j7vL/usXI/5Geo/+ir7P/jJqh1mx8gtZicnjVX2511GFudflqd37/e4qQ/4GOlf+BjpX/eoeP/3uI
+ j/9QXGb/Ym52/4eTnP+fq7L/vcfM/83V2P/f6u3/7fb8//H4///j6/T/2+Pq/+Lq8P/j6/D/7PT3/9/q
+ 6//i7e7/5O7w/6Otsv+/vsb/6eru/93r6//Y8O3/z+fk/+H17//e6+j/4enr/8PQ0//K3OHxTG982DJY
+ ZgA3XGoAN1xqADdcagA3XGoAN1xqAP///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////AAEzSQABM0kAATNJAAEz
+ SQAAKkAnVYKW0tLt9//b5+n/4uzt/+r09f/p8vT/097g/6Wxtf+Mmp//4Orr/+bv8f/i7O7/4evu/+Xv
+ 8//i6u//5u/z/+v0+P/k7PH/7PL0/9Xe5P+otLv/h5Ka/36Lk/92hIn/doOI/5Oeo/+tub3/v8vO/9nk
+ 5v/m8PH/6fPz/+r09f/o8vP/5vDy/+fw9P/i6+//4Ojt/+Lr7//V3+T/vsnP/6Crsf+BjZT/eoaP/4aT
+ m/+Ik5z/oqu2/9/n8P/v9/3/4Oju/+Do7v/g6u7/6PL0/9rl5v/t9/j/lZ6k/8vO0//u7/H/3Onq/+H0
+ 8f/Y6+n/2ero/93q6f/i7/L/4/n8/6nI0OM+aXlrPWl4AD9regA/a3oAP2t6AD9regA/a3oA////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///8AADVHAAA1RwAANUcAADlLAAA5Sw0SRlnDnbW///f////P2dv/oK2x/42a
+ n/+hrrL/rrq+/4iVmv/e6Or/5vDx/+Pu7//h6+7/5u/z/+vz9//h6+7/xtDU/6GttP99iI//fIiQ/5Wh
+ qf+8xsv/y9TX/93o6v/y+/z/8Pr6/+fy8v/l7/D/3+rr/9vm6P/f6er/4Ovr/97q6v/g6uz/2+Xp/93n
+ 7P/k7fD/4+zw/+Ps8P/n8PT/6/T4//L7/v/q8/f/zdfc/7nDy/+Yoq//b3mE/4KMl/+7xMr/4env/+zz
+ 9v/f6er/3+rr/+/4+f+Tn6P/aHR7/32Kjv+Vp6n/vM3O/+j19P/o8vP/1eLm/9Hm7v/S9vy7WIaSpQk5
+ Sh8UR1YAFEZWABRGVgAURlYAFEZWABRGVgD///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///wAYYnMAGGJzABll
+ dgAISVkAADZHLBVLXYkqP0z5dYKH/4GNk/+2wcX/5/Hy/+Pu7//t9/j/n6yw/9ni5P/Y4+T/5e/w/+73
+ +f/V3uT/o660/3+Mk/+AjJT/prG3/9Tf5P/q8/b/7vX5/+Ps8f/h6+//4uvu/9vk5//b5un/6PL0/+Dq
+ 7P/j7O7/5/Hz/+Pt8P/i7O7/4uzu/+Tu8f/i6/D/5O3x/+bv8//c5er/5e7z/+fw9P/f6e3/3ufr/+Lr
+ 7//k7fH/3+jv/+nx+f/q8vb/t8DH/4KMlf9yf4n/n6Wr/+Hq7P/j7vD/7/j4/5SgpP/O3N3/3u7t/7TG
+ x/9wgIT/k56i/9jh5f/0////0+3zu2iaqI4AMkQ4CDxMAAg7TAAIO0wACDtMAAg7TAAIO0wACDtMAP//
+ /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////ADKPoAAyj6AANZKjABtsewALPk8AT4COAExueohHVV3/aHV7/5yp
+ rf/BzM//1eDi//f///+irrL/1eDh/+v19f/a4+X/maas/4aSmv+bpq3/0Njc/+Tt8v/w+fz/4+3w/97p
+ 7f/g6u7/5O3x/+Xv8//i6+//5Ozx/+fw9f/j6/D/5Ozx/+jx9f/g6u7/4+zx/+Tt8v/m7/T/4+zw/+fw
+ 9P/j7fH/3+nt/+Ps8P/h6+//5O7y/+Tu8v/k7fH/5O3x/+Tt8f/m7/X/4ury/97m8P/r8/n/6/P5/9DZ
+ 3f+RnqT/YG51/52qrf/i7e7/l6Wp/8bX1//l9vX/5fT0/9rl5v96g4n/OkVQ/01caP9+nqxxJ1tuHAU9
+ TgARSVgAEUhXABFIVwARSFcAEUhXABFIVwARSFcA////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///8AL4maAC+J
+ mgAxjJ0WE2NzdEl3hQBLfotTdpKc+PX9/v/d5+j/rbm9/4iWm/+EkZb/n6mt/46boP/d5+n/p7O3/36L
+ j/+xub3/5O3x/+nx9f/i7PD/4eru/+Pt8v/j7PD/5O3x/+Xu8v/k7fH/4uzw/+Pr8f/j6/H/5e3z/+bu
+ 9P/m7vT/5e3z/9/o7//o7/X/5Ozy/+bu9P/l7vP/6PH1/+Xu8v/m7/P/5/D0/+bw9P/l7/P/5u/z/+bv
+ 8//m7/P/5u/z/+fv9v/k7PX/4Ory/+Dq8P/h6e//4erw/+/3+v/a5Ob/iZSZ/257gP9canD/vM/P/5Sn
+ qf96jJD/dYWJ/42Wm/+WmqD/U2Bt/0Vjc24oWWgAKGl2ADB5hQAvd4MAL3eDAC93gwAvd4MAL3eDAC93
+ gwD///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///wAriJkAK4iZAC6LnAsXano+Byo6rRM8TPqhvsb/u8jL/9vk
+ 5v/u+fr/+f///9Lc3/+3wsX/RFNZ/zdBR/9IU1r/qre6/93l6P/f6O3/5O7y/93n6//h6u7/4uvv/+Tt
+ 8f/l7vL/5e7y/+Xu8v/k7fH/4+vx/+Ts8v/l7fP/5e3z/+bu9P/l7fL/5e3x/9rj6P/l7PL/4env/+bu
+ 8//i7PD/5O3x/+bv8//m7/P/5/D0/+bv8//m7/P/5u/z/+bv8//m7/P/5e70/+Ts9P/l7fX/5e3z/+Hp
+ 8P/c5Ov/ydLY/7bBxf+lsrb/UWBn/yMtNP84Qkj/lKep/8DP0f/X4eL/5ezt/+3y9P/S3ub/RGFu5iVV
+ YTA7eoUWLHWBDS51gQAudYEALnWBAC51gQAudYEALnWBAP///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////AEmT
+ ogBJk6IASZSjAEOJlwAfT19PZIqV/4qiq/+Mm6D/gY6U/46an/+RnqL/vcnM/+Ls7v9VY2n/qLO3/9Ld
+ 3/+ap6v/kp+m/56qsv/X4eX/6fL1/+vz9//f6O3/5e7y/+bv8//m7/P/5u/z/+Tt8f/l7fP/5e30/+Xt
+ 9P/l7fT/5e30/+Do8P/g6O//6/P4/+Xt8v/l7fP/3+ju/+Xu8v/o8fX/5e7y/+Ls8P/j7fH/5u/z/+bv
+ 8//m7/P/5u/z/+bv8//l7vT/5Oz0/+bu9v/n7/X/5u70/8jR2f97h4//jZmd/5KfpP/G0dP/4Ors/7TB
+ xP92hYr/scLE/+Px8f/z+fn/1+Dh/7TBxf9adHz/FzlF4Td3goEocn4eK3N/ACtzfwArc38AK3N/ACtz
+ fwArc38A////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///8AKF5tAChebQAoX24AHVJhCER2g9XN7PP/4PH4/+Hs
+ 7v/c5ub/usbJ/7nEyP+Nm6D/NEJI/0pXXv+grbL/vcnL/9bh4v/W4OT/zdfd/+Pt8P/i6+//6PH1/+Xu
+ 8v/l7vL/5u/z/+bv8//m7/P/5e7y/+bu9f/l7fX/5e31/+Xt9f/l7fX/3ubv/+Ts8P/e5u7/1+Dn/+Ts
+ 9P/i6/L/3OXq/+bv8//n8PP/5e7y/+jx9f/n8PT/5u/z/+bv8//m7/P/5u/z/+bu9f/l7fX/5u72/+bu
+ 9P/i6vD/3ubt/97o7P/3////8vz8/+Lt7f/O2Nv/ydHU/5ynrP8vQUj/VWls/3SDhv97h4r/mKWp/7/T
+ 1f9tjJH/XJGWbKHb3wCRys8AksvQAJLL0ACSy9AAksvQAJLL0AD///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//
+ /wAsdIQALHSEAC96igAANEUEQGdz+Of8///f7PL/5vDy/+Ls7v/y/P3/3+rs/4WTmf+5xMf/5O7v/7/M
+ z/+bpqv/oayy/5unrv/V3+T/3ujt/+Tt8f/f6O3/4+3x/+bv8//m7/P/5/D0/+bv8//l7vP/5u72/+bu
+ 9v/l7fX/5Oz0/+Xt9P/f5/D/p7K7/7a/x/90gI3/jpik/5Gbpv/h6u7/5/H1/+Xu8//h6u//5e7y/+bv
+ 8//m7/P/5u/z/+bv8//m7/P/6PD4/+fv9//k7PT/5e3z/+Ps8f/i6vD/5O7y/5unrP+HlJr/i5mg/5Ke
+ pf+KkJr/lqCm/667vv9dcHP/hJaX//r////g7ev/4vTz/8Pe3v9XgIW4ZpmiEGSWnwBkl58AZJefAGSX
+ nwBkl58AZJefAP///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////AC94iAAveIgAMXyNMhVSYL0wWGT9eo2U/4iS
+ m/+eq7P/s8DI/8PN0v9ba3X/kZ+m/9Xh5v/H1Nn/1N/k/+Hr8P/g6u//1Nzj/9ng5//n7fP/6O70/+ju
+ 9P/o7vT/6e/1/+nv9f/o7vT/5+3z/+ft8//l7PT/5e31/+Xt9f/k7PT/4uvy/+ry+v+SnKb/WGNw/8jS
+ 3P9mcn//pa65/+rv9v/n7vX/6O71/+ft9P/o7vX/6O71/+jt9f/o7vX/6O71/+jt9f/n7fb/5+31/+fs
+ 9f/l6vP/5Ory/+Lo8P/s8ff/2N7k/8bN1P/Ax9D/zNPZ/9Xf4//U4OH/1+Pk/7zLzP9DVVv/e4uO/6i3
+ uv+MnKD/oLS3/zhITv9NeIE3aZqkAGWWnwBllp8AZZafAGWWnwBllp8A////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///8AKGl4AChpeAAmZ3YBM3F9obDX3f/j8fP/2N/i/7vIzv+uvML/LjpE/3J/h/+Zpq7/m6qy/52s
+ tP+isLj/p7W9/6u5wP+yvsX/ztfd/+ju9P/o7/T/5u3z/+rx9v/o7/T/6O/0/+fu8//m7fP/5u3z/+Xs
+ 9P/l7fX/5e31/+Ts9P/h6vL/4+vz/9ff5f+BjZn/kp2p/4+bpP/r8/j/5Ony/+br9P/n7PX/6O32/+nu
+ 9//o7fb/6O32/+jt9v/o7fb/6O32/+bs9f/m7PX/5uz1/+Tq8//j6vP/4unw/7vCy/+TnKn/oKm1/5af
+ rf+Qmqb/l6Wr/5alqf+NnKH/oK+z/52prf9EU1v/qrm8/+Tw8f/l8fL/vsrN/0lmcLhAYWwAQ2JtAENi
+ bQBDYm0AQ2JtAENibQD///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///wALP00ACz9NAAk+SwAQRVOtv+Pn/+Lw
+ 8P/a4uP/7/n8/5+ssv+UoKb/7vr9/+35/P/n8vb/5/L2/+Xw9P/i7vL/4Ozw/97o7f/l7/L/6vP3/+Dr
+ 7v/g6u7/5vD0/+Tu8v/l7vL/5O7y/+Tu8v/k7vL/5Ozy/+Xt9f/l7fX/5Oz0/+Hq8v/d5u7/7PP5/8TN
+ 1/96hZL/4enw/+Pq8v/l6/P/5uv0/+fs9f/o7fb/6O32/+fs9f/n7PX/5+z1/+fs9f/n7PX/5u31/+Tt
+ 9f/k7fX/4uvz/+Dq8v/g6fH/zNbf/8TO1//X4Oj/1d/n/97n7v/h7fD/7Pj4/+f09P/o9fX/9v///7vI
+ yv9ren//4u3u/9bj5f/t+vr/KkRPzgQeKwALJTIACyUyAAslMgALJTIACyUyAP///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////AAtATgALQE4ACT5MABRJV6vP8fP/4+3u/+ns7v/FzdL/b3yF/+Xv8//i7PD/3+jt/9/p
+ 7f/g6e7/4uvv/+Ps8P/l7vL/5vH1/+Ds8P/d6e3/4+/z/+fz9//k7/P/4ezx/+Ht8f/i7vL/4u7y/+Lu
+ 8v/j7PL/5e3z/+Xt8//k7PL/4erw/93m7P/n7/T/4uvx/+/3+//c5Ov/4ejv/+ft8v/n7fP/5+3z/+ft
+ 8//n7vP/5u3y/+bt8v/m7fL/5u3y/+bt8v/k7fL/4u7z/+Hu8//g7PH/3urv/9/q8P/o9Pn/6/b7/9/q
+ 8P/l7/T/3+rv/+Dq7v/h7O3/3Ojp/9jj5f/f6ev/6/X2/32Jjv+eqq7/6PP0/+jw8f9adoHKPWZ2AENr
+ egBDa3oAQ2t6AENregBDa3oA////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///8ACDVAAAg1QAAHMz8ACzdDq6zM
+ 0f/m7e7/6Ors/3uHjf/U3uD/4+7v/97p7P/c5un/3+rs/+Hs7f/h7O7/5e/x/+bw8f/j7vD/3u3v/9/t
+ 7//h7/H/3u3v/9zr7P/d7O3/3ezu/9/t7//g7/D/4e7x/+Pr8f/l7fP/5e3z/+Ts8v/f6O//4urx/+Ps
+ 8v/h6e//2OHn/+Tt8P/j6fD/6O3z/+ft8//n7fP/5+3z/+ft8//m7PL/5uzy/+bs8v/m7PL/5Ozy/+Pu
+ 8//h7vP/4O3y/97s8f/d6/D/3erv/97s8v/f7fL/4O3y/+Pw9v/d6u//4+3w/+bx8f/q9PX/4Ors/97p
+ 6v/d6On/3efo/3F/hP/Q293/4Ojq/3aVoM5Zk6UIXpanAF6WpwBelqcAXpanAF6WpwD///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///wAAIi4AACEtAAEiLgACIy+rXX6F/+Tr7P+tr7L/V2Nq/8bQ0//l7u//4err/+Pr
+ 7f/m7/D/4uvt/+jw8v/c5ef/4Onr/+Pv8P/h8PD/4fDw/9/t7//i8fL/4/Hy/+Du7//c6+z/3Ors/+Dv
+ 8P/f7e7/6vL2/+Ts8v/j7PH/5u7z/+Xu8//o8fb/3+ju/+Xu8//l7fP/5Ozy/+Lq8P/n7fP/5+3z/+ft
+ 8//n7fP/6O7z/+ft8//k6u//5evx/+Xs8f/o7/T/3Ofs/9/s8f/f7PH/3erv/9zq7v/e7PD/2Obr/97r
+ 7//d6/D/1+Tp/+by9//l7/D/4uvs/+jw8f/f6On/5/Dx/9ni5P++yc3/VGBn/4+an//7////XHmF/UJ2
+ iVpHeowAR3qMAEd6jABHeowAR3qMAP///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////AA9IUwAQSVQAC0JNAAc4
+ RKtBZGz/i5WZ/1dcYf9EUFf/XWlw/5GaoP/X3uH/5Ovt/97l6P/n7e//3+bo//H3+P/o7/H/0Nnb/7/L
+ zf+xvsH/rbq9/7TBxP/CztD/1uLj//D7/P/o8/T/2ubn/+Tv8P/d5ur/5/Dz/+Tu8f/m8PP/6fL1/9zl
+ 6v/s9ff/3ebp/+Tt8f/f6Oz/5+/z/+fu8v/n7vL/5+7y/+fu8v/n7vH/6O/z/+nw8//j6e3/5+3x/9/n
+ 6v/l7fH/5/H1/+r09//t9/v/7/j7/+75/P/s9vn/5/D0/+Pu8f/i7fD/2uTo/+Do6//l6+3/2N/i/87V
+ 2f+LlZz/ZnJ5/1hkbP9KVl7/Vl9m/6Gprv8aMTzkT4WVKE+DkwBPg5MAT4OTAE+DkwBPg5MA////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///8ASJmlAEygrAAwdoEAACkzsEtvdv9CUFX/AAAF/wwUG/8kLzb/JDA2/15o
+ bv+xurz/7fT0/+jv7//l6+z/oqqt/4ONkv96hor/gIuP/46Xm/+Pl5v/iJKW/4CLj/+EkJT/kZyg/8XQ
+ 0f/o8PD/5+/w/97o6f/l8PH/4ezt/+r19f/f6uv/6PLy/97o6f/i7O3/6fT0/93n6f/k7e//5+3v/+bt
+ 7//m7e//5u3v/+bt7//j6uz/4ejr/+bt7//q8PL/6fDy/+bs7//Fz9L/q7W5/6Stsv+lr7P/pK2y/6Ot
+ sv+1vsL/3OTm//L5+f/q8PL/6/Hz/8/V2P+cpav/VWFp/0VQWP8nLzf/FRsk/wYPF/8HDRT/Fh0m/xMg
+ Ks5fmqUAW5SfAFuUnwBblJ8AW5SfAFuUnwD///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///wBGl6MASZyoADZ/
+ igAMP0iVL1NZ/Sw8P/8AAwj/AQkP/wAGDf8ACxH/AwwT/0FNVP+GkJX/m6So/3iBhv+dqKv/zdHT/+/1
+ 9f/6/v///f////7////+////8/f4/9fd3/+7wcP/eIGG/4WNkv/Iz9H/7fb3/9/p6//l8PD/3Obo/+r0
+ 9f/Z4+X/4evs/+z39//Y5Ob/6fT1/9/p6//l6+3/5ezu/+Xs7v/l7O7/5ezu/9/m6f/u9fb/7vT2/7O8
+ wP+Gj5X/bHV9/4aOlP+Zoaf/q7K3/7m/xP+9xMf/qrK3/4OLkv9gaG7/dn6F/7a7v/+mrbL/cnyD/z9H
+ UP8fJS3/BQkP/wAJEf8BBAz/BQ0V/woUHP8CChL/DiIrzEx8hQBId4AASHeAAEh3gABId4AASHeAAP//
+ /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////AEeZpQBFmaUAUp6oAGCZoAgRKC7yGysu/x8kJv8NFhz/AwkP/wUP
+ Ff8CDRP/CRUc/1pla/+fpqn/6/Hx//T6+f/u9fX/8PX1//L09f/x8/T/8fP0//Hz9P/z9fb/8vX1//r7
+ /P/v8fL/vsLG/3yDif+UnqP/5/Dy/9zn6P/q8/T/2eTm/+rz9f/e6uv/i5SX/zE5PP+LlJj/3efp/+bs
+ 7v/k6+3/5Ovt/+Tr7f/k6+3/6u7w/8DIzP9veYD/ho+V/8PLz//y9vj/9PX3//X3+f/y8/b/9/j6//3+
+ ///5+vz/8PHz/+/v8f/Hys//eX6E/zdBSv9KVV3/KS83/wAEDP8ACBD/AgsT/wQJEv8xO0T/WWRs/xsi
+ K/8FDxbMBxEaAAYRGQAGERkABhEZAAYRGQAGERkA////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///8AO4mUAD6O
+ mgAvbHYAEigvCgALEfo4SEz/VGFn/xghKP8DCQ//AQcO/wgRGf9sdXr/5uzs///////s8fH/7fHy//H1
+ 9f/v8fL/+fj5//f39//39/j/+Pj5//T19f/39/j/7u/w//P09P/7+/z/9/n6/5mhpv+Bi5D/6fHx/+Dq
+ 6//h6+z/6PLz/5ajqP8nMzv/PUdM/1RgZ//DztL/5e/x/+Xs7//k6+3/5Ovt/+309v+qsbX/WmRs/8jO
+ 0P/6////5+3v//L09v/u7vH/8fH0//j3+v/29fj/7+/y//Pz9f/y8fT/7+/y//Dw8///////3N/i/2Rr
+ cv80Pkj/MzpC/woQGf8ABg7/AQMK/zI5Qf9hbnb/ISgw/yA7RM0tTlYAK0xUACtMVAArTFQAK0xUACtM
+ VAD///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///wAxaXIAMWpyADBocQAybHQFG0tVwj1RXP8tNj//AgUM/w8V
+ Hf8bIir/e3+E/+/x8v/z8/T/7/Hy//T09f/09fb/9/b3//b29//19vf/8/T1//b39//p6uv/8/T1//Hx
+ 8v/09fb/6ers//b29//w8fL//////5Sbnv+epaj/6vPz/9vm6P/d6+z/3evs/+r2+v/w+v7/7fX5/+Hp
+ 7//g6vD/4ezw/+Tu8v/t9ff/t7/C/3aAh//k5+n/9/n5/+3v8P/z9PX/9fX2/+3u7//v7/D/8fLz//Dx
+ 8v/29vf/8/P0//X19v/x8vP/7/Dx/+7v8P/19ff/+fn6/4GEif9BR0//VVlh/yYtNP8BBgz/AAMK/zlL
+ UP8uPkP/XH6CZXaeogBymp4AcpqeAHKangBymp4AcpqeAP///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////AFeT
+ nABXk5wAV5OcAFyYoQA/dX9cHTQ//wgNFf8PFRz/QEdO/290ef/7+/z/7u/w/+/x8v/z9PX/9vb3//f3
+ +P/39vj/9vf3/+bo6f/3+Pj/9vb3//Dx8v/e4OL/4uPl/+fp6//6+/v/5efo//X29//x8vL/9Pb3/2x2
+ e//W3d//4+3u/+Lw8f/e7e7/3Ojs/93n6//i6u//5Ovy/+Hr8f/W4uf/5vD0/9Ha3v+CjJL/5uvt/+ns
+ 7f/09fX/6uvs//r5+f/4+Pj//v7/////////////8/T0//Hy8//s7e7/7e7v//X29//u7/D/8/T0/+/w
+ 8f/q6uz//v39/4aJjf9CSE//Z210/0NPVv8OFx3/AQ8U/wkeI/+BpagbnMTGAJe+wQCXvsEAl77BAJe+
+ wQCXvsEA////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///8AOnV+ADp1fgA6dX4AO3aABTtye80JHin/DhIZ/1df
+ Zv9aYGf/5ufo/+zt7v/w8fL/9/f4//b29//39/j/9/f4//b29//s7e7//f7+/+fp6/+goqb/U1dd/yw0
+ O/8oLjX/S05R/6aoq//29vj/5Obn//Lz9P/09vf/r7e5/5qjp//z/f3/3Orr/+Ty9P/h7fH/4uzw/+Xs
+ 8f/h6fD/4u3y/97q7v/m8PT/pK61/6ausv/1+Pn/7fDx/+/w8f/z8/T/9fP1/76/wv+Ul5v/g4SH/4uO
+ kv+0uLv/5ujp//z8/f/v8PH/7O3u//r6+//x8vP/8fLz/+3t7f/u7e3/9fT1/2ltc/9YXmb/aHN5/1Rj
+ af8aLjT/AAQJ/4OkpyOexskAmcDDAJnAwwCZwMMAmcDDAJnAwwD///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//
+ /wAfWWMAH1ljAB9ZYwAdWGILK2Fr9zNLVv9XYWn/XmVt/4mOk//4+fn/8vPz//Hy8//19fb/9/f4//f3
+ +P/19fb/8fLz//n6+v/FyMv/NjpA/wAABf8AAAH/AQYO/wQID/8AAAX/CgwQ/4OFi//09fb/8/P0//L0
+ 9f/Cycv/lqGl/+v29v/f7e7/4O7w/+Xw9P/m8PT/5Ozx/97m7f/h6/H/4u7y/9/p7v+JlJz/0trd/+rx
+ 8v/k5+n/8/T1/8HFyP9KTFL/DhEY/wAAB/8AAAL/AAAG/wsNE/8jJiz/lpqf///////09PT/8PDy//P0
+ 9f/x8vP/9PX1//j39//29fX/x8fK/0JJUf9ga3H/XGtx/1pvdP8ZJiv/fp+jJZvCxQCWvcAAlr3AAJa9
+ wACWvcAAlr3AAP///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////ABtVXwAbVV8AG1VfABdTXQorYWvyWXJ8/2Vu
+ dv9FTFT/zM7Q//Hy8//v8PH/8vLz//j4+P/29vf/9fX2//Hz9P/x8vP/3eDh/x0hKP8AAgn/AwcO/wMJ
+ EP8AAgn/CAwT/wcMEv8MERj/BwgL/7a4u//4+fr/8vT1/9fe3/+VoaX/4Ozt/9/t7v/f7u//5PD0/+jx
+ 9f/o7/T/6e/2/+Tu8//Z5uv/5e7x/3J8hP/p7/H/6e/w//X4+f++v8L/DxMX/wAAAv8BBQz/AAEI/wED
+ Cf8AAwr/AAAH/wAEDP8CBQz/mJug//v8/f/t7u//9PX2//f3+P/x8PH/9vX2//Lw8v/n5uj/Ymhu/1hi
+ aP9VZWr/XXJ2/zJKTv9wlZoqhq6yAISqrwCEqq8AhKqvAISqrwCEqq8A////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///8AFE5YABROWAAUTlgAEUxWCiVbZfJbdX//Zm93/05VXP/k5eb/7/Hx/+3u7//29/f/9fb3//P0
+ 9f/29vf/7u/w//3+/v9+gof/AAAB/wMGDP8ECA//AQMK/wEEC/8BAwr/AQQL/wMID/8AAQb/QURK/+/w
+ 8v/t8PH/4ujp/5ikqP/Y4+X/4O7v/+Du8P/h7fH/5e7y/+fu8//k6/L/5/D2/9nl6v/g6u7/bXd///D2
+ +P/q8PH/9vn6/09TWf8AAAX/BQkQ/wAABf8AAQj/AAUM/wAHDv8AAwr/AgUM/wACCf8tLzX/6+3u//Hy
+ 8//39/j/8vLz//X19v/59/j/8/Hy//////+KjZL/N0FI/1ViZ/9SZ2v/OFFV/2iOkjN9pakAeqGlAHqh
+ pQB6oaUAeqGlAHqhpQD///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///wAWT1oAFk9aABZPWgAWUVsKGEpV9iY6
+ RP8sND3/KS41/+Dh4//19vb/9fb2/+/v8f/z9PX/9PX2//j3+P/09fb///7//1NWWv8AAAL/AQUM/wAA
+ Bv8AAwn/AQUM/wAEC/8DBw//AAEH/wQJEf8FCA//3d7g//X3+P/T3N3/namt/9nl5v/f7u//4e/x/+Lu
+ 8v/l7vL/5+7z/+Tr8v/h6/H/3Oft/+Lt8P99iZD/6O/x/+jv8f/l6ev/Gx4k/wAABv8DBw7/AAIJ/wAD
+ Cv8ABQz/AAUM/wAEC/8AAAb/AwYN/xUaIv/Iy87/+fr5//X19v/39/n/9vX2//r3+P/y8fL//Pv7/6yv
+ s/8FDRT/AAoS/xInLf8TIif/cJKWLYeusgCDqq0Ag6qtAIOqrQCDqq0Ag6qtAP///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////ACxmcAAsZnAALGZwAC9sdgkdSFLgAAAM/wAKE/8KDBP/3t7g//Pz9P/z9PT/8vP1//X2
+ 9//5+vr/8vLz//Hy8//s7e//SEtQ/wAABP8DBw3/AQQL/wAAB/8DCA//AAQK/wIHDv8BBAv/AgYM/wUK
+ Ef/Q0dP/9ff4/8bNzv+bpqr/6fT1/9/u7//h7/H/4u7y/+Xu8v/m7vP/5ezz/+Dq7//e6u7/6fP3/5ei
+ qv/GztH/7vX2/9vf4f8REhf/AQcO/wEDCv8ABAv/AAUM/wAEC/8ABAv/AAMK/wACCf8DBw//GBsi/9HU
+ 1v/19vb/8fLy//n6+v/49/j/+vf4//Lw8f/19PX/y83R/w4TGv8AAAb/AA4U/wABBv+DpKcmnMbJAJfA
+ wwCXwMMAl8DDAJfAwwCXwMMA////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///8AYZ+mAGGfpgBhn6YAaKivAEJu
+ dlUAAAj/AgoS/wEFDP/Iysz/9PT1/+3u7//29vf/9PX2//j5+f/z9PX/8vP0//Hy9P9FR0v/AAAA/wUK
+ Ef8BBAv/AQUM/wADCv8BBAr/AAIJ/wMIDv8DCA//AgQL/9bX2P/z9vf/usHD/56oq//u+fr/3evt/+Hv
+ 8f/i7vL/5e7y/+bt8//m7fP/4ezx/9/r7//q9fn/rLe9/56nq//2+/3/4eXn/xsfJf8BBg3/AQMK/wAE
+ C/8AAwr/AAMK/wADCv8AAwr/AQgP/wAAA/81Nz3/9/j5/+vt7v/29/f/+Pj5//j3+P/69/j/8vDx//b1
+ 9v/BxMj/NEBF/yo2PP8NHiP/AAwR/0NbXyNPbXEATWpuAE1qbgBNam4ATWpuAE1qbgD///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///wAWQEsAFkBLABZASwAXQk0ADTQ/UBosNv84P0j/LjQ8/6uus//5+fr/8vLz//Ly
+ 8//y8/P/9PT1//j4+f/y8/T//v///4GEiP8AAAL/BQgQ/wAECv8CBg3/AQUL/wADCv8AAgj/AgUM/wMH
+ Dv8aHiX/5+jp//D09P+jra//x9HS/+bw8f/f7e7/4e/x/+Lu8v/l7vL/5u7z/+bt8//c5+3/4u7y/+Tw
+ 9P/Hz9X/hY6V/+vw8v/y9fb/TFFX/wAAA/8DBQz/AAEI/wABCP8AAQj/AAEI/wEGDf8DCRD/AAAB/4+S
+ l//6+/v/7O7v//b3+P/19fb/9vX2//r3+P/z8vP//Pv7/6uusv9UX2X/XGxy/1Vqb/8sRUn/BxogIwQV
+ GgAEFhsABBYbAAQWGwAEFhsABBYbAP///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////ABg/SQAYP0kAGD9JABc+
+ SAAXQEpTQmFq/2h0e/9MVlv/fISG//n6+//z9fX/8/X2//T09f/y8vT/9vX3//Dv8P/09PX/6uvt/yUp
+ MP8AAAD/AwgP/wABCP8FChH/AQQK/wQKEf8AAgn/AAAA/4WKjv/v8/X/5evt/4iTmP/v+fj/5O7x/9/r
+ 7f/k7vP/5O7z/+Xu8//n7vT/4urx/9/q7v/k8PT/4ezw/+fw8/91gYf/1tzf//n9/v+orrD/AwgQ/wEE
+ C/8BAwr/AAAG/wECCf8CCA//AAMK/wAAB/88Qkn/8PHy/+vs7v/19fb/9PT1//T09f/y8vL/+Pf4//Du
+ 8P//////l5yi/01YYf9aaHD/XnF3/ys9RP8nQkcaRm1xAERqbgBEam4ARGpuAERqbgBEam4A////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///8AtebnALXm5wC15ucAtuXmAKrb3R1CYGjHVmVs/1lmaP9LVlj/7vTz/+Ln
+ 5//v8vP/8PH0//Pz9v/18/b/9vT1//Xz9P//////q6+z/xkbIP8AAAD/BQkQ/wADCf8AAQf/AAAD/wID
+ B/9obXL/7O/w/+/29/+uub3/rLi8/+z19v/e5+v/6PH1/+Ts8//m7vT/5u72/+Xt9f/g6fH/5vH1/+Lu
+ 8v/j7fL/7vf6/52prf+5wsb/6vHx//H29v9rdHj/AAMF/wAAB/8DChD/AwkP/wAAAP8ABg7/VFhf/+rr
+ 7f/w8fP/8fHz//n5+v/t7u//+/n5//f19f/09PX/8/P2/+/w9f+AhY7/SlZh/15sdP9ebHT/GSYu/zJT
+ WKODwMMAfrm8AH65vAB+ubwAfrm8AH65vAD///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///wCe2dwAntncAJ7Y
+ 3ACs4eQAp9faSQwjL/xVYWr/YGtw/z5KT/+vuLn/9fr7/+rt7v/z9vf/9PX2//b39//29/j/+Pb3/+rq
+ 7P/19vf/yMrN/2Nma/8tMDb/GyMr/zs+RP9aXF3/o6er//j4+f/x8/T/4Ofp/5Shpv/i7O7/4+3u/+Dq
+ 7f/p8fX/5Ozy/+bu9P/m7vb/5e31/+bu9f/i7vP/3+zw/+Tu8//g6e3/2uTl/295f//0+vv/4+vr//H4
+ +P+UnaD/Jy00/wADC/8OExr/T1BT/6aprv/3+Pn/8vPz/+3u7v/09fb/8/P0//b29//7+fr/+Pb3//Hw
+ 8f/x8fT/2t3g/1dhaf9eanL/WGdu/0dXXf84SE3/OVpg7lGMjzRRio0AUYqNAFGKjQBRio0AUYqNAP//
+ /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////AD13gAA9d4AAPXeBADt2gGA5YWvXIzRE/1FaZv9kb3X/TVpg/1tm
+ a//u9fX/7PLz//L19v/09fb/9/f4//f3+P/49/j/9PT1//Pz9P/29/j/9vf4/+Xm6P/S1Nb/5ujq//T2
+ 9//6+/v/5ufo//P19f+ZpKn/ws3P/+v09f/h6+3/5e7y/+Do7v/l7fP/5u70/+bu9v/l7fX/4+zz/+Hu
+ 8v/j7vL/4uzw/+Pt8P/t9/j/jJWb/6+4u//+////3+bn//T8+//c3+D/xcbI/87R0v/v8fP/+fn6/+zu
+ 7//y8/T//f39/+3u8P/5+vr/9vb4//Pw8//w7vH/9vX3//X3+P+epan/RFBX/2Jvdf9gb3T/QFFW/z9R
+ Vf9Nb3L/AC0xgAAwNAAAMDQAADA0AAAwNAAAMDQA////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///8AABwqAAAc
+ KgAAGygAACIwsU5vff9caHv/PkNU/19qdP9gbHT/N0NK/5mhpf/4/v7/6u/u//H09f/19vf/9ff4//b2
+ +P/4+fr/7e/w/+rs7f/19/j/9Pb3//X3+P/u7/D/6+3u/+Tn6P/4+fn/wcXI/5WfpP/p9PT/3unq/+r0
+ 9f/k7fH/5e3y/+Ts8//m7vT/5u72/+Xt9f/h6/L/5fD1/+Pu8//e6e3/5/D0/+Ht7v/R2dz/b3h+/+vw
+ 8P/r8vL/7vX1/+rt7v/39/j//f3+//X19v/u7/D/8fLz//Lz9P/3+Pj/+vr7/+/w8f/v8PH/9PL2//Dv
+ 8//09ff/2Nvd/0hSWP9kcXP/Wmpt/1tsb/82SEz/Wmxw/z9iZv8LREh5DkZKAA5GSgAORkoADkZKAA5G
+ SgD///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///wAYQVIAGEFSABlCUgAON0irTGR4/4eNo/9RVGn/WGFv/2Fs
+ d/9bZ3D/O0ZO/8rS0//5//3/6e7v/+zw8v/y9fj/9vX5//b2+P/x9fb/9Pb3//T3+P/z9vf/9Pf3//f5
+ +v/s8PH/8/X2/9zf4f9+h43/2eHi/+Dq7P/k7u//5O7v/+Xu8v/h6e//5e3z/+bu9P/m7vb/5e31/+Ts
+ 8//m8vb/4Ozw/+Hs8P/k7vH/4u3u//D3+f+dpqr/fIaK//f8/P/r8vL/7/Lz//b19//w8fL/9vX3//n6
+ +v/y8/T/9fb2//X29v/z9PX/9vf3//T19v/r7PD/+Pj6/+3w8v9ocHX/Tltd/2Jxcv9YaGv/Wmxw/yk6
+ P/9cb3T/PF5j/Thwc2U5cHMAOXBzADlwcwA5cHMAOXBzAP///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////ALTe
+ 6wCz3usAwu76AEJmd6hIXHL/ubzV/3l8lP9ASlz/X2x6/1xodP9OWWH/PElO/8zU0//x+Pb/7PHy/+rt
+ 8P/w8vf/8vX3//f5+f/y9fb/8PP0//P29//u8fL/7vHy//X4+P/Y293/foWK/9LZ2v/m7vD/4evs/+Lt
+ 7v/j7e//4+3w/+Tt8v/m7vT/5u70/+bu9v/m7vb/5e71/+Dt8f/k7/P/4ezw/+Hr7v/n8fL/4ejr/+zz
+ 9P+Zo6b/j5ic//T6+v/r7/D/7/Dx//Hy8//19fb/9fX2//Dx8v/19vb/9fb2//P09f/4+Pn/7/Dx/+/w
+ 9f/3+fz/dHuA/0hTWf9lcnP/VWVo/2N0eP82R07/coOM/2Z2g/83VV/6TX+DTUl6fwBKen8ASnp/AEp6
+ fwBKen8A////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///8AxPf6AMn4+gCt3uUlMlRo3HGBmv/Gy+X/rLPL/z5I
+ X/9aZXb/WGVy/2h2fP9IVVr/OkdK/6+3uP/z+Pj/9vv9/+rv8v/q7vH/8vf3/+3z8//r8vL/8Pb2//D1
+ 9f/4/f3/v8fJ/1BZYP92gIX/6/Hx/9/n6f/n8fL/5vDx/9zo6f/j7PD/6PD1/+bu9P/m7vT/5u72/+bu
+ 9v/l7vX/4e7y/+Tv8//h7PD/3+ns/+Lt7v/k7O7/5u3u/9DY2f8+SVD/h5CV//H29v/29/j/8vLz//Ly
+ 9P/19fb/+Pj5//Lz8//v8PH/9fX2/+nq6///////4uXp/290fP9DTVX/anZ7/1pna/9gb3P/UmJp/0ZW
+ Yv+6x9X/j5uy/zZPYv9QfoJrhrW1AH6srQB+rK0AfqytAH6srQD///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//
+ /wDT//8A4P//AIe2u00pRFv/lKW//7/K5//Ezun/VmB5/0dSZv9kcH7/VGJq/2d1ef9baWr/Lz1A/213
+ e/+yur3/6O3z//z////2+/v/8vj4/+719f/0+vr/4enp/4eRlv9MWF//XWpv/1lkav+mr7L/7/j5/9nl
+ 5v/l7/D/5O/w/97n6//l7fL/5e3z/+Xt8//l7fX/5e31/+Tt9P/h7fL/4e7y/+Tu8//j7PD/4ezt/+Do
+ 6//i6ur/doGG/15qb/8+SlH/cXd8/7/BxP/4+fr/9fb3/+7v8f/y8/T/8fHz//f4+f/19vb/8vP1/7W4
+ uv9aYGj/RlFZ/2Vxd/9XZGj/YnF1/1Jiaf9OXmn/eYeZ/8HN4/+0vdv/VGaB/0Jpb7OMubkLi7i5AIq3
+ uACKt7gAire4AP///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////AFWIkwBZiZQIRHJ/zEdjef+0x+H/s8Xk/7bE
+ 4v+pscn/NkFY/1xpef9jcXr/WGhr/19ubv9icXH/S1hd/0FMVP9WXmn/fYaN/5+orP+stbj/nqir/3qF
+ if9WYWb/SVVc/2Fscv9fa3D/Y25z/2Ftc/+st7z/8Pn6/97o6f/f6uv/7fb5/+Hq7//j6/H/4+vx/+Ts
+ 9P/k7PT/4+z0/9/s8f/f7PD/5e/z/+Tu8f/g7O3/6O/y/4qUmf9ZZGr/X2px/2Vwdv9OV13/RElR/19k
+ av+gpKj/1tjZ/97f4f/b3d7/3d7g/8LEx/9qb3X/QUhQ/1ZfaP9hbHT/Xmpw/2Nxc/9RX2X/X252/z5N
+ Xv+st83/xs7s/7zC6/+GkrP/O1df/2SMkEZ7pakAeaKmAHmipgB5oqYA////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///8AHU9fABhJWQMNOkv6e5et/7bI5f+swOH/s8Pi/8XM5v9mcYj/Q1Fi/15udv9ca2//W2ts/11r
+ bP9ib3P/Xmlw/1dhbf9IU13/SVVc/0hVW/9NWWD/VGFo/1lmbP9jbnT/ZHF3/1lmbP9fbHL/VmRq/2h2
+ fP/BzND/6PLz/93o6//i7PD/5Ozy/+Pr8f/j6/H/5Oz0/+Ts9P/k7PT/4+7z/9/r7v/g6u7/3efq/9rj
+ 5f+QmaD/XGdu/1pma/9eaW//ZG91/2Bpb/9kanL/VFtj/0NJUf9ES1L/T1Vc/0xTW/9JUFj/REpS/1th
+ af9gZ27/X2hw/11nbv9daW7/XGpv/2NyeP9EUl7/d4SX/8HK5f+Nlr3/srjo/6my1v9ab3v/LlJZ1m+c
+ oQRrmJ0Aa5idAGuYnQD///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///wBViZcAUIOSVy1SZ/yYrcf/tMPk/7C/
+ 5v+5yOz/tMPi/6271P84Rl3/VmJz/2Bqdf9jbHP/X2Zs/19lbP9ianH/WGJr/2Rudf9jb3X/aHR6/19q
+ cP9daW//WGRq/1lla/9gbHL/YGxy/19rcP9caG//X2pz/2p0fv++x87/6O71/9zl6//j6/H/5u7z/+Pu
+ 8//k7vT/5/H3/+Pr8P/o7/L/4enr/+fv8P/a4uT/iZOY/1diaf9ibXT/YGtx/11pb/9fa3H/XGdt/2Vw
+ df9jbXP/Ymxy/2Zvdv9ibHP/ZW91/2Fqcf9jbHP/Ymty/19nbv9iamz/Y2xu/1xobv9danP/XGx8/zJB
+ Wf+CkK7/cX6i/5ijzP+2v+z/usPp/3iJoP89WGb6PWRrbld+hQJSeIAAUniAAP///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////ABU/UwAXQlavSmmB/6m61/+2w+b/vcnv/7PC6f+8z+7/xdXx/3+Lpf83P1P/YWp5/1hg
+ a/9lanH/XGJp/2lvdv9YYWj/X2pw/0RQV/8oMDb/QUxS/1pmbP9kcHb/YGxy/15pb/9eaW//Y21z/2Js
+ c/9aY2//WGFt/2dxfP++xs3/5+/0/9/n7v/f6e7/4+7y/+Ds8f/e6u//6vH1/+bt7f/q8PH/0dfZ/4CK
+ kP9aZWv/YWxy/1NfZf9daW//YWxy/1lkav9lcHb/QU1T/0lVW/9ZZWv/WGNp/1NeZP9HU1n/XWhv/19q
+ cP9fa3H/Ymxx/19oZ/9nb27/ZW91/1hlc/8/TmX/RVRz/3qJrv+ottv/wMz0/6+75/+7xu7/jJm2/1Bl
+ ef8wUVz5WoKIHGaNkwBki5EA////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///8ARHeHABlFWa9ffJT/t8fk/7TB
+ 5P+9yvH/jJvF/2V2m/9hcZT/ZnOR/zdAV/9JUWT/YGh0/2Fpcf9ja3H/VV5l/2lyef8xPEP/BAwS/wAB
+ B/9OWV//Ym50/z5JT/89SE//Y291/1ZhZ/9aZmz/XWhu/2Bpc/9bZXD/ICk1/0RQWv+rtLv/4uvv/+Tt
+ 8f/h6u//3unu/+Dr8P/f6ev/6O/w/8bO0P9mcnf/X2px/0xYXv9MWF7/YGtx/1hkav9ZZWv/WGRq/0RP
+ Vf8FDRP/BQsS/1ZgZv9hbHL/Iy41/wMIDv8YICf/VF9l/11pb/9faG7/Zm5v/2Boav9eaHH/WGN1/0xZ
+ cf+yv9z/usjr/7TC6f+1wOv/t8Lt/7bB6f+rttT/X3OI/y5MWf9mkZVCeaWoAHahpQD///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///wBFfYs3NmR27nWQp/+6yOX/ucXq/7G+6P+1xO7/s8Dp/7XC5/+7xub/r7jS/z1G
+ W/9eZ3b/Xmhy/1djaf9baG3/SlVa/wAHDf8ABw3/Exwj/2Fuc/9baG7/MjtB/wEFCP9ATFL/X2pw/1pm
+ bP9VYWf/XWhx/zxFUP8AAAn/QUtX/1plcP+Jk5z/3ubr/+bu8f/Y4eb/5fD1/9nj5v+ao6j/XWlv/1xo
+ bv9fanD/FR4k/w8ZH/9aZmz/VWBm/2Ftcv8yPkT/AgMK/wQOFf8CChH/WmVr/2Nvdf9AS1L/BQ8W/wAB
+ B/8FChD/P0tR/2Zwdv9kbHL/XGRs/11mdf87SV3/oq3G/8LP7f+vvuH/uMTs/7K+6f+1v+v/tsDp/8DK
+ 6v9md5D/T2t6/ydNVM5GcncARXF2AP///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////AAAzQlcyXnD/karC/7vH
+ 5v+5xOv/t8Tv/7nG9P+tueb/t8Hq/7nD5v/J0e7/i5Su/zVBVf9hbXr/WWVu/1dkaf8fKS3/AAUK/wAG
+ DP8xOUD/YGxy/1tnbf9FUFb/AAUK/wUMEv8/SlH/WmZs/11obv9eaHD/DRIb/wAEDf8+SFD/Xmly/1Vh
+ av9qdX3/rbW6/9/q7f+5xsr/ZnR6/1djaf9fa3H/ZG91/1plbP8SGB//AAUL/zM+Rf9bZm3/HyYs/wAD
+ CP8DCxH/AAMJ/yAoLv9aZ23/WWVr/1pla/8oMzr/AAcN/wYNFP8EChH/RlFY/1pkbv9dZ3P/R1Jk/3B7
+ kf+8yeP/rr3d/7rH7P+wvOb/xM/4/7O96P+krNL/qLTY/4WTr/9OZnj/NVhg2GSUlg5ejJAA////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///8AHU5dUS5VaP+qv9f/vMbn/7W+5/+6xvL/rrvq/7zF8f+1ver/uMHm/7O8
+ 3//L0/D/aXWM/0JPYv9hb3z/TVpk/wAID/8FEBf/AggP/0dQVv9daW//W2dt/1JeZP8HEhn/AAcM/wEI
+ EP83Q0n/VWFn/yQqMv8ABg7/AAEJ/zk+Rv9ga3P/Xmpy/1Ziav9caHD/WGRs/0NQV/9daXD/ZG91/1pm
+ bP9XY2n/U15k/woSGP8AAwj/BxIY/wkRF/8AAgj/Aw0T/wAHDf8CBgz/T1th/1djaf9XY2n/YW1y/1Fc
+ Yv8ECA//BA8V/wAHDf8+SE7/Ymt5/1Jcbv9XYnj/vMjf/7jG5P+6yOv/sr/n/8PN9/+dqdP/fIiy/2dy
+ n/+ptNz/oKvJ/0xhdP9La3P/IEhOdT5obQD///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///wBTjZlZOF1w/6/A
+ 2v+5wuT/vMPs/7bB8P+oteb/srvp/7a+6f+0vef/rbfe/6m11v+Tn7v/KjZO/0tZbP9gb37/CRYj/wAD
+ C/8THCP/WmZs/19qcP9fa3H/X2tx/x8mLP8ABgz/AAUL/wACCP8PFx3/AAQM/wQLFP8AAgr/LDE5/19p
+ cf9dZ2//W2Zu/2Judv8sNT3/Ehoj/15pcf9bZmz/Xmpw/1pmbP9RXGL/BRAW/wALEf8ACA7/AAUL/wAJ
+ D/8ADBL/AAQK/x8qMf9daG7/XGhu/1pla/9cZmz/Ym1z/xEaIP8DCxL/BgwT/1BaYv9bZXf/KDJL/4WP
+ qv+ksc//qrja/6u54P+IlsH/bHmm/3qHtf+Yos7/vMTw/7zF8f+lsdH/Vmd9/0libf9SeX6Ijbq9A///
+ /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////ADpwfsJUd4r/tcXe/77E5v+8wuz/qLXk/4ORw/90e6v/foi2/4OP
+ u/+Ajrn/eIet/4ybvP+4xuD/UF11/0VUaP9OW27/Iiw4/1FcYv9hbHL/VGBm/15pb/9ibXP/PUhO/wQG
+ DP8HERf/AQcN/wAFC/8ABg3/BQsS/wAEC/8lKjL/XmZu/19ob/9XY2n/YW1z/xUiKP8ACQ//UV1j/1ll
+ a/9caG7/Xmpw/0xXXf8CDRP/AQsR/wAJD/8ACQ//AAoQ/wAGDP8JExr/UFti/2NudP9bZ23/YWxy/19q
+ cP9eanD/O0ZM/wABBf85Q0r/Ul9n/0lSaf+fqML/i5i1/32Lrv+Bkbf/eYey/5in0v+0vuv/sbrn/8DF
+ 8v+8w/H/s7zq/7C63f9odY3/Vmt3/ztdY/0pUFUk////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///8AJVlo9mGC
+ lf+3xN3/w8fs/7/D8P+4w/X/tsLw/7vB6v+1v+j/sr3o/7bE7f+8y/P/vM3w/7LD4v+zwdz/S1dx/1Vg
+ eP9XYm//Y290/11obv9ibXP/XGdt/1RhZ/9eanD/DhQa/wMJDv8BChD/BA4V/wAFDf8CCA//AAUM/xkf
+ J/9bY2r/YGlv/11mbf9eaW//DhYc/wYKEf9KU1r/WmZs/1lmbP9ibnP/RE9V/wAHDf8BBw3/AAcN/wEM
+ Ev8ABw3/AAMJ/ys2PP9lcHb/WWRq/19qcP9daG7/WmZr/11pb/9WYGb/QEdL/0ROU/9ETFT/u8LY/7a/
+ 3v+9x+j/uMXq/7fE7P+8yfP/tcPu/7fB7f+9xvL/tbzo/7vC8P+2ve7/ucDn/3R/mP9bbHn/NVBW/wUi
+ KCT///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///wAeT1/1a4qd/77I4//Aw+j/s7nm/6+77P+2w+//u8Pr/7rE
+ 7P+3w+3/s8Hr/66/6f+vwer/tMPn/8PR8P94hqT/LTVR/1Bba/9PW2D/VGFn/2Bscv9fanD/XGdt/1xp
+ b/82P0b/AAAD/wAJDv8EDBL/AQcO/wIHDv8BBw7/EBYe/1pgaP9dZGv/XmZu/0lVW/8IDhT/AwgP/zM8
+ Q/9gbHL/VmNp/2Ftc/89Rkz/AAMJ/wEIDv8ABw3/AQoQ/wAFC/8YIin/Ul5k/15pb/9XY2n/X2pw/1tn
+ bf9fanD/YGtx/11pb/9jb3T/WmVr/0NNV/9xepX/yNHx/6663f+2wur/t8Tt/7G+6v+5xO//tsDr/7e/
+ 7P++xPD/vMPx/7rA8//AxO3/goqj/1dmdP8/V13/WX+ENP///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////AB5O
+ XPRwjKD/v8bj/7/A5v++w/D/t8b1/7nI8v+/yOz/vcjt/73I8P+1w+3/qrrl/6Oz3P+Flb3/UV+G/257
+ nP+3wN3/TFRl/yUtNP9bZmz/WWVr/2Nvdf9ZZmz/XWpw/1BdYv8MFh3/AAMK/wMJD/8DCA//AgcO/wMK
+ EP8IEBf/WF9m/1pka/9hbHL/OURL/wEKEf8ACA//Higv/2dxd/9YYWj/YWpx/zpARv8ABQv/Ag0T/wAK
+ D/8ABAr/AwwS/0RRVv9lcnf/VmJo/2NudP9aZGr/Y21z/1tmbP9daW//ZG91/1tobf9hbXP/WWZv/zQ+
+ Wf9jbYz/nqnH/73I6/+4xO//vMf0/7fD8f+3wu7/usXw/73G8P/CyfX/vMX2/8PI8v+Mk67/VmJy/05l
+ bv9Kb3Sn////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///8AHUtX9HOLof/Bxuf/wcHs/7O75/+PpNL/iJ/H/5Cg
+ wP+ElLb/gpC2/32Ltv9xgKz/aXWi/4GNuf+tuN3/tsPl/6ax0f9FSl7/X19p/2dudP9WY2n/V2pv/1Zs
+ cf9OY2b/Y3R3/zM+Q/8BAQf/CAoO/wMIC/8BCQ7/AgsQ/wAFCf9LW1//V2ht/19udf8oNjz/AAcO/wAJ
+ EP8WHCT/ZGpy/11iaf9iaG//KCsz/wAFDP8DDBH/AAkO/wIEB/8zQkb/WW5v/1tqbf9gaW3/Y2tw/2Jp
+ bv9ja3D/ZGxx/2Jqcf9ga3H/XGpw/1lrcf9abHP/XWhx/ygwQv9zfJT/bXmb/4yYv/+aptb/pLHi/627
+ 6P+vveT/nq7Q/42dwv+Jmcf/usHq/5qgvv9fZ33/WGx4/yJDSNT///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//
+ /wAfTVj0cYme/8HG5//Gx/D/tr3q/4idyv95kbn/jp/C/5qoyv+Vo8n/narT/7bB6v+/yPH/u8bs/7fD
+ 5v+5xOL/Ym+O/0hPY/9xc3v/Ymhu/1xobv9fbnP/UGNo/15vdP9VY2j/Xmht/xgdIv8ABAj/AwgN/wEI
+ DP8BBgv/AQsP/z9JT/9cZ27/XWlw/yQvNf8ABQz/AAYO/xUaIv9cZW3/XGRr/2FqcP8aHyb/AAQL/wQK
+ Ef8AAwj/ICUq/1tlav9eam7/VWNn/19qbv9lbnP/ZW1y/2Jpb/9jaW//Y2px/2Brcf9da3H/Wmxx/1ts
+ c/9hbHL/QEhU/5eesf+ut9T/jJfA/4qXxv+Ajb//eYq2/3yMs/+Gl7j/j6DD/5am0v+5wen/oKXF/2Fq
+ gP9ecH7/FjU6z////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////AB9PWfR2j6T/wMbn/76/6f+9xPH/scTv/7TH
+ 7/+5xuz/usfs/77L8v+8x/D/tsDn/77H7f+vu9z/aniX/4aTr/84R2H/Xmp4/2FpcP9cZGv/YGlv/2Vv
+ df9dZ27/YWtx/11mbP9eaG7/SFBW/wABBv8GCRH/Cg8V/wUJEP8DBw7/LzE5/2Zpcf9eYmr/ICUs/wAD
+ Cv8DBQ7/ExUe/1BeZf9bZ23/WGVq/woRGf8BBg3/CA0U/wkKEf9NTlb/aWhv/2dmbf9aYWj/WGht/11q
+ b/9eaG7/Ympw/2Vsc/9kanH/Ympx/19rcf9da3H/XGpx/19rcP9bZG//QEle/8XN6P+4w+f/usXv/7fD
+ 7/+2xO3/s8Lo/7bG5v+5yuv/uMjw/7/J8P+rsND/YmqB/1lsef8bPEHP////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///8AH1Bb9HSOo//Axuf/wsPt/8HH8/+yw+7/rsHr/7K95/+1wer/uMTt/7rG7v/AyvD/l6LF/1lm
+ hv+cqsH/Wmd9/0hYa/9YZ3L/X2xx/2RvdP9kaXD/ZWhw/2dpcf9laG//YWdu/1tmbf9dbnT/JTU8/wAB
+ Cf8ECBH/BQoR/wADCv8hIyz/aWlx/11dZv8bHCT/AQIK/wcIEP8OEBj/Slhd/1tpb/9GU1r/AgsS/wEM
+ E/8ABAr/MzY9/2xxef9jZW3/Zmdw/1xob/9bb3X/Wm5z/1lqb/9fanD/Y2ty/2Nqcf9ianH/Ympx/2Br
+ cf9ga3H/ZG91/11ncf9BTV//gIql/8rS8v+0vuX/ssDp/7jF7f+yweb/scHk/7HC6P+uwOz/usXr/7a7
+ 2v9faH7/VGZ0/zpdYc7///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///wAdT1r1d5Oo/8DI6P+7vef/ucDt/7HA
+ 7P+ywu//sL3r/7S/7P/E0Pj/qrje/299of9mc5L/uMTZ/4+crf81RVb/Wmt4/1hrcv9cbHH/YGxy/2Vq
+ cf9oaHH/aWdx/2Bhav9dZW7/Wmpz/09ob/89WWD/BRgh/wAGD/8CDhf/AAcQ/xMYIP9eZG3/Wl9o/xQZ
+ IP8BBAz/CAsT/wgKEv9NVlz/X2xy/zVDSv8ACxH/AA0U/w0fJf9Xb3T/TGNq/ztTW/9JY2v/SWZt/0Vi
+ af9Vb3b/WW91/1lqcf9caHD/Ympy/2Rqcf9kanH/Y2px/2Fqcf9caG7/Xmpz/1VgcP8nMUf/eYOg/6ex
+ 1P+7x+3/vcrv/7PB5/+wvuT/scHq/6y+6v+tuOD/wMXj/2hvhv9VZXP/RGZq4////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////AC5ibOdsi5//vMXm/7/B6//AxfL/ucfz/77N+v+vuuv/pbHg/3qHs/9kcpn/kZ68/8XS
+ 6P+ir8H/NkRU/1lpdP9ZaXD/XHB0/1lrb/9caG//ZGty/2Zpcf9na3T/Ymp0/1xtdv9PaXP/OF1l7VeA
+ hoouVl/NABki6gwbIusIERn7Ag8Y/z9OV/9JVl3/Ehoh/wADCf8BCA3/BAsS/zg7Q/9cZGv/Iywx/wMK
+ D/8EDRL/CSUq7S1dYelWi49+Q210RTBWXEA9Ymk9NVti1TlcZf9ScHj/V251/1pqc/9daXH/YWlw/19l
+ bP9nbHP/YGhu/15pb/9ibHX/XWh1/zpEV/9jbYb/go2r/257nv+Jl77/rbvi/6W02/+zwur/tMby/7bB
+ 6P/DyOb/Zm2E/1xte/9Ka2//////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///8AO3F6yGOEmP++yur/wsXu/7K2
+ 4v+ToM3/hZTF/4OQw/9zgLD/navU/7fF5P/AzOT/r7zO/0JQYP9SYGz/XGlw/2FudP9QX2T/W21w/15s
+ cv9fbHL/Wmdu/1Jhav9UanP/RGRt/yhQWMFolJoRZpCWADllbgABIisDgK6xB2SMkkg+V2C2AAgP/wAO
+ FP8BBgv/BQwQ/woYHf8eKC//NjM7/zg9RP81RUv/HDY6/ypNULUKLTMOGktQA2mkpwBSf4UAMFVbAD5i
+ aQA6Y2skKldg0zZbY/9ScHn/U2ly/1Zmbf9ZZWv/Y2xy/2Ztcv9iam//WmVr/1pmbf9gbHb/V2Jx/1Fa
+ bv/Cyd//s7zY/52py/93ha7/d4ez/3CCsv+ClcT/navS/8jM6v90fJL/V2V0/0hna/////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///wBJgImFWXqO/73J6v+9vun/rrLg/5ik0f+Yp9X/r73s/8HO+P+su+H/ucjk/73L
+ 3v9LWmz/UF1r/2Fvdv9cZ23/X2pw/2Bscf9ZZmr/Wmlu/1Zqb/9PaG3/TGxz/zpja/ZSgIhYKVNcC2qV
+ mwBjjZMAOGNsAAAbJACBsLIAj7y/AHqbnzYAAgb/AAwS/wEJDv8EEBX/BxEV/xEUGf8eGh//Gh0j/xQi
+ J/8IGR3/ETg7YwoxNgAgUVYAZqCjAFB8ggAwVVsAPmJpADhhaQA8bHYXJ1NdxzdcZf9TcXn/VWty/19u
+ dP9ga3H/X2ht/2Jqb/9nc3n/W2du/1llbv9aZHD/RExd/4SKnf/Fzeb/ucTj/7fE6f+6x/P/orPi/5it
+ 2v+ot93/xcrn/3yCmP9baXf/SWds/////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////AF2WnVJGaX7/ucbm/77B
+ 6/++we7/v8j0/7zJ9f+vvev/r73m/7nI6f+uvtn/W2p+/0BPYP9ZZ3L/X2tz/2JudP9faG//XmVr/11m
+ a/9cbHD/UGxv/z9laf8nWFzMaqGkPXuuswAlT1gAapWbAGONkwAxXGUAFzxDAIe2ugCay88AaouQSwAA
+ Bf8BEBb/AwoQ/wAIDf8ABgz/AQEI/wsID/8CBQr/AAMI/xMkJ+ZQhocuT4KCADtxdABjnaAAUHyCADBV
+ WwA+YmkAOGFpADdmbwBdjpcAOGNqXyFDS/9PaG//WGtw/1hlav9lb3P/YWlu/1xnbf9fbHL/XGhv/2Vw
+ ef9lbnr/Nz9S/56nvv/Fzu3/t8Ln/6y65f+zxPL/tcr1/7HA5f+9wuH/gIWc/1xqeP9MaW7/////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///8AIFFeVEBlev+0xOT/wcTu/7u96/+0vur/rrzp/7XE7v+2xOr/kqPC/yk3
+ Uv89TWH/X258/1tqdP9bZ27/WGJp/11lbf9qbHL/aW5y/1hpbP80VVf/SXh7jUJ4fBFto6YAeKqwACVP
+ WABqlZsAYIqPAEx3gABsm6MAdKOqAHanrgBTdn1fAAAH/wAMFP8ECBD/BgkP/woMEf8ICA3/CAsP/wYO
+ E/8BDhL/BQwOuxUkJgAVIyQADxsdAF2PkgBXhIoAMFVbAD5iaQA4YWkAN2ZvAFyNlgA7Zm0AFDhAXj9d
+ Y/JOY2n/Z3Z6/15qbv9gaW3/W2dt/2Bscv9fanD/YWty/1dfaf9kbHz/O0Rd/6Cqyv+4wuf/vsv0/6e5
+ 6/+rv+z/sL7j/8HH5f+MkKb/WWd1/09scP////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///wATSVhRN2N3/6G3
+ 0/+4weX/wcbv/77F8f+ntdz/kqPC/3GCn/8kMkz/RE9k/2Rtff9cZHD/YWhx/1xka/9lbXP/W2ds/1pv
+ df9EYmn/RGlwyixTV2xUhIUARnt/AGyipQB4qrAAJU9YAGmTmgBch40AbJqiAGeWngBkk5oAapuiAEdt
+ dHUMFyD/ChYe/wACCv8GCQ//Cg0S/wQJDf8GChD/AQgO/wAUGv8BERa/AAoQAAALEAAACQwAGzQ5ADZg
+ ZwAzWV8AP2NqADhhaQA3Zm8AXI2WADplbAAXOkMAW3+FIy1OVbE3VVz/V251/19zef9gbXP/WGVo/2Rt
+ cf9haWv/bHJ4/15jbv9UWmv/IyxG/4KMq/+lsNP/u8ry/62/7f+4xe7/w8vq/4+Xrv9XZ3b/UGtx////
+ /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////AFqdqRs/dYbXepqw/7vL5/+gqcz/gYiz/5Ofv/+Hmab/R1dm/1Re
+ bP9maXf/ZGVw/2RlcP9maXL/X2pw/1Rmaf9PaGv/Kldf9iZhbXdflp4QOWFlAFGBggBFen4AbKKlAHiq
+ sAAkTlYAeqasAF+PlABomJ4AZ5ecAGeXnABrnKEAUX+Fbz1ZYv8/SlL/Iycv/wIHDf8DCQ7/AAgN/wQF
+ Df8AAAf/AAkS/wMkLb8DJy4AAyYuAAMmLwAAIioAABoiABw/RwA+YmkAOGFpADdmbwBcjZYAOmVsABY5
+ QgBbfoQAK05WA0d3gEcqVF/YQGBq/1xwdf9da2z/YWxt/2RrbP9kamv/Y2dr/2tvd/9TWWf/RUxg/5CX
+ q/+Cjq7/n63c/7rH7f+5wuP/mqW7/1Jkc/9NZm3/////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///8AOXOAABxO
+ Xa1xj6P/vMni/7a72v/Hyuz/m6K+/09caf9TX2n/Zm97/1tib/9WYGv/WGZv/1xxeP9BYGf/MFhb+yxX
+ WaUhVV4wNXB8AFyRmAA4YGQAUYGCAEV6fgBsoqUAeKqwACJLVABZhowAQnN4AEJydwBDcngAQ3J4AENz
+ eAFBbnTFTWhx/19rc/9aXmf/LDQ7/xwkKP8NGB3/Fxoi/ykxOf83SlP/IkRMvx9CSQAgQkoAIEJKACBC
+ SgAgQkkAHUBHACpNVAA8ZW0AN2ZvAFyNlgA6ZWwAFjlCAFt+hAApS1MAXo6WADpocwM1XGhwNVJY/09m
+ af9ecnT/XWxu/2Bsbv9ibHD/WmNq/1pkbf9QWWn/foWW/7S91v9/i7L/fIiv/6GqyP+apLn/VmVz/05l
+ bf////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///wA4ZXEAM2Ftg117jP/I1ej/ur/Y/3+EoP9ETGX/WmRx/15r
+ df9XY27/YHB6/1Zsdf9JZ3D/K1Vc8h1OVKQnWV04Ml5gACVXYAAzbnkAXJGYADhgZABRgYIARXp+AGyi
+ pQB5qrEAJFBYABpITwAgT1YAIE5VACBOVQAgTlUAH05UAyZSWe1JY2v/YGly/2BkbP9pbXT/TVhe/0NO
+ VP9aX2f/XWhv/1lwd/8oS1K/IkVMACNGTQAjRk0AI0ZNACNGTQAjRk0AI0VMADdfZwA3Zm8AXI2WADpl
+ bAAWOUIAW36EAClLUwBaipIAPWp1ADZcaAAmR089S250pTdXW/9VcHT/VWpu/1Nlav9Zam//WGZu/1xn
+ c/9BTFv/f4qf/8vT8f+ttNT/trvV/5Kbrv9WZHH/UGVv/////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////AIKy
+ vAB4qLIdP2Nw+oyisP9hcYP/SFhs/1Vod/9ccXn/XXR7/0ZeZ/8+XmX/N11jzClXXpEqW2EdI1dcAChY
+ XAAyXV8AJVdgADNueQBckZgAOGBkAFGBggBFen4AbKKlAHWmrAAlUVoAIk5WACNPVwAjT1cAI09XACNP
+ VwAhT1YDJlJZ6k9qc/9jbXX/YWJr/19iaf9cY2n/ZW5z/1xlbP9XZGz/Umlx/xg9RL8QNT0AETY9ABE2
+ PQARNj0AETY9ABE2PQAQNDsAGT9HADppcgBcjZYAOmVsABY5QgBbfoQAKUtTAFqKkgA9anUANFpmADVX
+ XwBbgYcANF5kVilRVtlFaGz/TWxw/09obf9ccnb/U2Vs/1lpcf88Slr/gYmm/8bN5f/Aw9f/kZeo/1xp
+ dv9SZm//////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///8APG95ADlsdgYvYGrsQGZx/z5fav9Nb3n/Rmx0/zFa
+ XvoZQETuPGhtsRY9REpWg4kSN2VsACxdYwAiVlsAKFhcADJdXwAlV2AAM255AFyRmAA4YGQAUYGCAEV6
+ fgBto6YAa5yhABxKUQAjUlgAI1FYACNRWAAjUVgAI1FYACVUWgMYQknpMEdQ/0JNVv9eYGn/Z2hw/2Fn
+ bP9cZmv/WGRq/11rcv9Wb3b/FjpBvw0yOQAPMzoADzM6AA8zOgAPMzoADzM6AA8zOgANMTgAMF5mAF6Q
+ mQA6ZWwAFjlCAFt+hAApS1MAWoqSAD1qdQA0WmYAM1VdAFp/hQA4YWcAIk1THCFLUVk3X2XSQmNo+1Fv
+ cf9Vb3L/VWpv/1dqdP9FU2f/fYeb/8nQ3f+BjJn/U2Nu/1hud/3///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//
+ /wAeUlwAHVJcACdcZjUsYmqkGkpQogc1O6ILQESiTImJPwg0OAZCcnYAHENKAFN/hQA2ZGsALF1jACJW
+ WwAoWFwAMl1fACVXYAAzbnkAXJGYADhgZABRgYIARXp+AGmfogBqnqIAW46TAFyPlABcj5QAXI+UAFyP
+ lABcj5QAYZecAENobooABA3/BA4V/x4jK/9LTVX/Vlti/1VfZf9NWV//MT9G/xAjLP8AFR2/AAwUAAAN
+ FQAADRUAAA0VAAANFQAADRUAAA0VAAAIEAALKDEAWIqTADtmbQAWOUIAW36EAClLUwBaipIAPWp1ADRa
+ ZgAzVV0AWn+FADhhZwAjTVMAKlRaAC1WWwImTlKAJkxQ2Udqa/9BXmD/XXd8/1dsef9IWWj/YXOA/1Zp
+ dP9TaHL/T2ly2////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////ACNXYQAiVmAAI1ZgAFiVmwAhUlgAAy82AAo+
+ QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZkawAsXWMAIlZbAChYXAAyXV8AJVdgADNueQBckZgAOGBkAFGB
+ ggBHfIAAYpaZAHWkqABrm58AbJugAGyboABsm6AAbJugAGyboABypKgAT3F3RAAHD/8ACRD/AAAH/wgM
+ FP8PFRz/Ehsh/wUMEv8AAQj/AAIK/x4tNL5/oaUAeJidAHiYnQB4mJ0AeJidAHiYnQB4mJ0AeJmeAHSS
+ lwBnlp4AOWVsABY5QgBbfoQAKUtTAFqKkgA9anUANFpmADNVXQBaf4UAOGFnACNNUwApU1kAL1hdACZN
+ UgAiSU0cKlNVSmKKipYsUFPuPl5m/1Rye/9EYWn/PFlh/09udf87XWXG////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///8AI1dhACJWYAAjV2EAVJCWACBRVwAEMDcACj5DAFCNjQANODwAQXB1ABxDSgBTf4UANmRrACxd
+ YwAiVlsAKFhcADJdXwAlV2AAM255AFyRmAA4YGQAUoKDAEh+ggAFISgAABIZAAAUGwAAFBwAABQcAAAU
+ HAAAFBwAABQcAAAVHAAAFBtEABEY/wAOFP8DDBT/BQsT/wAFCv8AAwn/AAUM/wUMFP8ADRf/KDQ7w6rS
+ 1gCgx8sAoMfLAKDHywCgx8sAoMfLAKDHywCgx8sAoMjMAJvEyAAyXGMAFTlCAFt+hAApS1MAWoqSAD1q
+ dQA0WmYAM1VdAFp/hQA4YWcAI01TAClTWQAvWF0AJk1SACFITAA5YWMAc52cABxBRQYgR01aFjxDpB5E
+ S6RReX6iN15koXiepCD///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///wAjV2EAIlZgACNXYQBUkJYAIFFXAAQw
+ NwAKPkMAUI2NAA04PABBcHUAHENKAFN/hQA2ZGsALF1jACJWWwAoWFwAMl1fACVXYAAzbnkAXJGYADhg
+ ZABSgYIATYKGACRSWQAmWV8AJlhfACZYXwAmWF8AJlhfACZYXwAmWF8AJlheACpeZD0PLDL6AAoQ/wAK
+ Ef8ABgz/AAkO/wIKD/8CCA//AgcP/wEGEP8SHifzSnB4S0NmbgBEZm4ARGZuAERmbgBEZm4ARGZuAERm
+ bgBEZm4AR2lxADFUXAAfQ0sAW36DAClLUwBaipIAPWp1ADRaZgAzVV0AWn+FADhhZwAjTVMAKVNZAC9Y
+ XQAmTVIAIUhMADdfYQBwmpkAH0RIACJITwATOkEAGT5FAHqmqABLdHkAeJ2jAP///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////ACNXYQAiVmAAI1dhAFSQlgAgUVcABDA3AAo+QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZk
+ awAsXWMAIlZbAChYXAAyXV8AJVdgADNueQBckZgAN19kAFB/gQCDvb8Af7m6AH+5ugB/uboAf7m6AH+5
+ ugB/uboAf7m6AH+5ugB/uboAicXHATBIS6UAAAX/Aw8V/wIKEP8BCQ7/AAQJ/wIHDf8GCxT/AwcQ/wEN
+ F/8XMjtmJUlSACNFTgAjRU4AI0VOACNFTgAjRU4AI0VOACNFTgAjRU4AJkhRADJXXwBafIIAKUtTAFqK
+ kgA9anUANFpmADNVXQBaf4UAOGFnACNNUwApU1kAL1hdACZNUgAhSEwAN19hAHCamQAfREgAIkhPABQ6
+ QQAaP0YAdqGkAElydwB4naMA////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///8AI1dhACJWYAAjV2EAVJCWACBR
+ VwAEMDcACj5DAFCNjQANODwAQXB1ABxDSgBTf4UANmRrACxdYwAiVlsAKFhcADJdXwAlV2AAM255AFyR
+ mAA4YGUATnx/ADxobwAwWmEAMVxiADFcYgAxXGIAMVxiADFcYgAxXGIAMVxiADFcYgA0X2YAGztDlgIJ
+ Df8ACA7/AAEF/wMNEP8FDxH/AgcM/wUMEv8EChH/AAEI/zFSWbVXhIkKUHuBAFB7gQBQe4EAUHuBAFF7
+ gQBPen8AT3l/AFN9gwBRfIEATHV8AFuAhQApS1IAWoqSAD1qdQA0WmYAM1VdAFp/hQA4YWcAI01TAClT
+ WQAvWF0AJk1SACFITAA3X2EAcJqZAB9ESAAiSE8AFDpBABo/RgB2oaQASXJ3AHidowD///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///wAjV2EAIlZgACNXYQBUkJYAIFFXAAQwNwAKPkMAUI2NAA04PABBcHUAHENKAFN/
+ hQA2ZGsALF1jACJWWwAoWFwAMl1fACVXYAAzbnkAXJGYADdfZABPeHoAc5uhAGuUmQBslJoAbJSaAGyU
+ mgBslJoAbJSaAGyUmgBslJoAbJSaAGyUmgBslpwbEyUq8RwyN/8MERX/ERca/wMFB/8FCQ3/BAoO/woV
+ Gv8gNjz/KUxU/yhNVBAsUVkAK1BYACtRWAArUFgAKk9XADZbYgA0W2EAH0VMACxSWAAoTlUARmxyACdI
+ UABaipIAPWp1ADRaZgAzVV0AWn+FADhhZwAjTVMAKVNZAC9YXQAmTVIAIUhMADdfYQBwmpkAH0RIACJI
+ TwAUOkEAGj9GAHahpABJcncAeJ2jAP///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////ACNXYQAiVmAAI1dhAFSQ
+ lgAgUVcABDA3AAo+QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZkawAsXWMAIlZbAChYXAAyXV8AJVdgADNu
+ eQBckZgAPGZrACZRVgA2YWcANGBlADRgZQA0YGUANGBlADRgZQA0YGUANGBlADRgZQA0YGUANWBlADFd
+ YgAiSE3iUW5y/0hXW/9FTlL/P0ZK/z1GTP8/Sk//UV9k/1dqcP9HYmr/QWNsf0tudgBMb3cATG93AExv
+ dwBHaXEAY4WMAGOJjgAjSVAASW90AEdtcwBEaW8AM1hfAF2MlAA8aXQANFpmADNVXQBaf4UAOGFnACNN
+ UwApU1kAL1hdACZNUgAhSEwAN19hAHCamQAfREgAIkhPABQ6QQAaP0YAdqGkAElydwB4naMA////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///8AI1dhACJWYAAjV2EAVJCWACBRVwAEMDcACj5DAFCNjQANODwAQXB1ABxD
+ SgBTf4UANmRrACxdYwAiVlsAKFhcADJdXwAlV2AAM255AFeLkwBWgoYAa5+hAGeanABnmpwAZ5qcAGea
+ nABnmpwAZ5qcAGeanABnmpwAZ5qcAGeanABnmpwAbaCiAE9+gVwyU1f/XnV4/11nbP9mbnP/WmZr/2Rw
+ df9jbnP/WGRr/1docP8sRE7eWHmBIHSYnwBwk5oAcpadAFp8hAAzUlgAYYeMACNJUABGbHIARGpwAERq
+ cABDaG4AV4CHAERveQA1W2cAM1VdAFp/hQA4YWcAI01TAClTWQAvWF0AJk1SACFITAA3X2EAcJqZAB9E
+ SAAiSE8AFDpBABo/RgB2oaQASXJ3AHidowD///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///wAjV2EAIlZgACNX
+ YQBUkJYAIFFXAAQwNwAKPkMAUI2NAA04PABBcHUAHENKAFN/hQA2ZGsALF1jACJWWwAoWFwAMl1fACVX
+ YAAzbnkAWY6WAGGUlABil5cAYpeXAGKXlwBil5cAYpeXAGKXlwBil5cAYpeXAGKXlwBil5cAYpeXAGKX
+ lwBkmpkAW4+PFyBIS9lMZmr/YG1y/11mbf9XZ2v/WGRq/1tiaf9laXH/ZW11/zNASv9AWWGUcpadAGuO
+ lQBsjpUAV3mBADJQVgBhh4wAI0lQAEZscgBEanAARGpwAERqcABCZ20AS3J3ACtQWgA0Vl4AWn+FADhh
+ ZwAjTVMAKVNZAC9YXQAmTVIAIUhMADdfYQBwmpkAH0RIACJITwAUOkEAGj9GAHahpABJcncAeJ2jAP//
+ /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////ACNXYQAiVmAAI1dhAFSQlgAgUVcABDA3AAo+QwBQjY0ADTg8AEFw
+ dQAcQ0oAU3+FADZkawAsXWMAIlZbAChYXAAyXV8AJVdgADNueQBbkJgAeK2sAG6hoABvoqEAb6KhAG+i
+ oQBvoqEAb6KhAG+ioQBvoqEAb6KhAG+ioQBvoqEAb6KhAG6ioQB2qqkASHh5ZT5cYfpeb3X/VGNo/1dq
+ bv9UYGf/bXJ5/1ZXYP9dXWf/GiAq/wUJEv4cPENPEjg7AAQVGQAsSlEAOlhfAGGHjAAjSVAARmxyAERq
+ cABEanAARGpwAERqcABEam8APmNqAEpudABaf4QAN2BmACNNUwApU1kAL1hdACZNUgAhSEwAN19hAHCa
+ mQAfREgAIkhPABQ6QQAaP0YAdqGkAElydwB4naMA////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///8AI1dhACJW
+ YAAjV2EAVJCWACBRVwAEMDcACj5DAFCNjQANODwAQXB1ABxDSgBTf4UANmRrACxdYwAiVlsAKFhcADJd
+ XwAlV2AAM2x5AF6UnACczc0Al8fGAJfHxgCXx8YAl8fGAJfHxgCXx8YAl8fGAJfHxgCXx8YAl8fGAJfH
+ xgCXx8YAl8fGAJjIxwCYyccAHUBE3ktjaf9Uam//VGlu/1Vkav9AR07/MzI8/x4cJ/8GCBH/AwoR/wwg
+ JvgOMzdRAA8TACpITwA6WF8AYYeMACNJUABGbHIARGpwAERqcABEanAARGpwAERqcABDaW8ATXN5AExy
+ eAA+Z20AIUtRAClTWQAvWF0AJk1SACFITAA3X2EAcJqZAB9ESAAiSE8AFDpBABo/RgB2oaQASXJ3AHid
+ owD///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///wAjV2EAIlZgACNXYQBUkJYAIFFXAAQwNwAKPkMAUI2NAA04
+ PABBcHUAHENKAFN/hQA2ZGsALF1jACJWWwAoWFwAMl1fACVXYAA1b3sASXuDAHGgoQBtnJ0AbZydAG2c
+ nQBtnJ0AbZydAG2cnQBtnJ0AbZydAG2cnQBtnJ0AbZydAG2cnQBtnJ0AbpyeAG2dngAcQERMESMq/yU+
+ Rf8THyT/Q1FX/xMaIP8HCBD/AQIJ/wYLEv8DChD/AQ4S/wAXG/8AFBhPK0lQADpYXwBhh4wAI0lQAEZs
+ cgBEanAARGpwAERqcABEanAARGpwAERqcABDaW8ARGpwADxhaAAqVVsAJU9VAC9YXQAmTVIAIUhMADdf
+ YQBwmpkAH0RIACJITwAUOkEAGj9GAHahpABJcncAeJ2jAP///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////ACNX
+ YQAiVmAAI1dhAFSQlgAgUVcABDA3AAo+QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZkawAsXWMAIlZbAChY
+ XAAyXV8AJVdgADZzfwAdSVAAIk1SACFNUgAhTVIAIU1SACFNUgAhTVIAIU1SACFNUgAhTVIAIU1SACFN
+ UgAhTVIAIU1SACFNUgAhTVIAIU1SAC1cYRMKKC+yAAcO/wAMEv8QGSD/DxUc/wIID/8GDBP/BAoR/wcO
+ Ff8EDhL/AQgN/wAOEvgnRUybPFxiEWaNkgAiSE8ARmxyAERqcABEanAARGpwAERqcABEanAARGpwAERq
+ cABEanAARWtxAENqcAA/aG4AK1RaACVMUQAhSEwAN19hAHCamQAfREgAIkhPABQ6QQAaP0YAdqGkAEly
+ dwB4naMA////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///8AI1dhACJWYAAjV2EAVJCWACBRVwAEMDcACj5DAFCN
+ jQANODwAQXB1ABxDSgBTf4UANmRrACxdYwAiVlsAKFhcADJdXwAjVV4AQ36JAEt4fgBPfH8ATnt/AE57
+ fwBOe38ATnt/AE57fwBOe38ATnt/AE57fwBOe38ATnt/AE57fwBOe38ATnt/AE57fwBOe38AUH6CAD5p
+ bgAgP0W1AwoS/wEKEf8EDxb/AQcO/wIKEP8DChD/AwoP/xAUGP8MEhf/BwwR/wQMEv8dMznSTW90VihP
+ VgBGbHIARGpwAERqcABEanAARGpwAERqcABEanAARGpwAERqcABEanAARGpwAElvdQAxWF4AKlJWAB5F
+ SQA3X2EAcJqZAB9ESAAiSE8AFDpBABo/RgB2oaQASXJ3AHidowD///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//
+ /wAjV2EAIlZgACNXYQBUkJYAIFFXAAQwNwAKPkMAUI2NAA04PABBcHUAHENKAFN/hQA2ZGsALF1jACJW
+ WwAoWFwAMl1fAB9RWwBblZ4AmsjJAJTDxQCUw8UAlMPFAJTDxQCUw8UAlMPFAJTDxQCUw8UAlMPFAJTD
+ xQCUw8UAlMPFAJTDxQCUw8UAlMPFAJTDxQCTw8QAmMnKAJG+wQkqNjy1AQgN/wAKD/8DDxT/BAoR/wIH
+ Df8ECQ7/DQ8V/wkID/8MCxL/BQwT/wAJE/8DEBj/KEpQlEt0ewRIcXcASHF3AEhxdwBIcXcASHF3AEhx
+ dwBIcXcASHF3AEhxdwBIcXcASHB2AEt0egBEbXIAN2FmADVfYQBwmpkAH0RIACJITwAUOkEAGj9GAHah
+ pABJcncAeJ2jAP///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////ACNXYQAiVmAAI1dhAFSQlgAgUVcABDA3AAo+
+ QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZkawAsXWMAIlZbAChYXAAyXV8AH1FbAFmTnACSwMIAjby+AI28
+ vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28
+ vgCNvb0AlMDDAHifohEKKSy5AQsP/wARFv8DCxL/BgcP/wUFDf8IBg//CAYP/woHEP8JDBf/AAcS/wAL
+ Ff8OHST/L0hNYyxFSwAsRUsALEVLACxFSwAsRUsALEVLACxFSwAsRUsALEVLACxFSwAsRUsALEVLAC1G
+ TAArQ0cALUpNAHGcmgAfREgAIkhPABQ6QQAaP0YAdqGkAElydwB4naMA////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///8AI1dhACJWYAAjV2EAVJCWACBRVwAEMDcACj5DAFCNjQANODwAQXB1ABxDSgBTf4UANmRrACxd
+ YwAiVlsAKFhcADJdXwAfUVsAWZOcAJLAwgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28
+ vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI29vgCRvL8Ad52gAA44OwgoTlGjCBAU+QgX
+ Hf8GERr/AAcP/wEKEv8FCxT/AwcP/wYJEv8JERz/AQ0X/wAWH/8ACQ5rAAkPAAAJDwAACQ8AAAkPAAAJ
+ DwAACQ8AAAkPAAAJDwAACQ8AAAkPAAAJDwAACQ8AAAkPAAEECAAkNDkAcZybAB9ESAAiSE8AFDpBABo/
+ RgB2oaQASXJ3AHidowD///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///wAjV2EAIlZgACNXYQBUkJYAIFFXAAQw
+ NwAKPkMAUI2NAA04PABBcHUAHENKAFN/hQA2ZGsALF1jACJWWwAoWFwAMl1fAB9RWwBZk5wAksDCAI28
+ vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28
+ vgCNvL4Ajb2+AJG8vwB2nJ8ADDM3ADRhZAAeLzMuHC4yqwcYHv8AChD/AAEH/wADCf8ACQ//AAoR/wYP
+ GP8BDhX/MExSomiVmQ1kj5MAZI+TAGSPkwBkj5MAZI+TAGSPkwBkj5MAZI+TAGSPkwBkj5MAZI+TAGSP
+ kwBkj5MAZI+TAGeUmABZhIYAIkZKACJITwAUOkEAGj9GAHahpABJcncAeJ2jAP///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////ACNXYQAiVmAAI1dhAFSQlgAgUVcABDA3AAo+QwBQjY0ADTg8AEFwdQAcQ0oAU3+FADZk
+ awAsXWMAIlZbAChYXAAyXV8AH1FbAFmTnACSwMIAjby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28
+ vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvL4Ajby+AI28vgCNvb4Akby/AHacnwAMMzcAMV1gAB4x
+ NAAeMDUAEC80ST9eYVNSb3B3Lk9S1h1ARPQzU1jaPlBWZwEVHFNqlpsBa5ibAGmVmQBplZkAaZWZAGmV
+ mQBplZkAaZWZAGmVmQBplZkAaZWZAGmVmQBplZkAaZWZAGmVmQBplpoAa5icAFiDhQAiRkoAIkhPABQ6
+ QQAaP0YAdqGkAElydwB4naMA////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////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////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////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////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////+A//////AP////////////gD/////gB////////////wAf////wAP///
+ ////////8AD////4AD///////////+AAP///4AA////////////gAB///8AAP///////////4AAf///g
+ AD////////////AAD///wAA////////////wAAP//gAAP///////////+AAH//8AAH///////////wAA
+ Af/+AAD///////////wAAAH//gAA9//////////+AAABf/AAAPz//////////gAAAH/+AACT////////
+ //wAAAD/kAAAAH/////////8AAAAPAAAAAA//////////gAAAAAAAAAAP/////////4AAAAAAAAAAD//
+ ///////+AAAAAAAAAAA//////////gAAAAAAAAAAf/////////+AAAAAAAAAAP/////////5AAAAAAAA
+ AAH/////////+AAAAAAAAAAAP/////////4AAAAAAAAAAD/////////8AAAAAAAAAAB//////////AAA
+ AAAAAAAAP/////////gAAAAAAAAAAD/////////4AAAAAAAAAAA//////////AAAAAAAAAAAP///////
+ //wAAAAAAAAAAD/////////8AAAAAAAAAAAf/////////AAAAAAAAAAAH/////////wAAAAAAAAAAB//
+ ///////8AAAAAAAAAAA//////////AAAAAAAAAAAP/////////wAAAAAAAAAAD/////////8AAAAAAAA
+ AAA//////////AAAAAAAAAAAP/////////4AAAAAAAAAAD/////////8AAAAAAAAAAA//////////AAA
+ AAAAAAAAP/////////wAAAAAAAAAAD/////////8AAAAAAAAAAA//////////AAAAAAAAAAAP///////
+ //wAAAAAAAAAAD/////////+AAAAAAAAAAA//////////gAAAAAAAAAAP/////////4AAAAAAAAAAD//
+ ///////+AAAAAAAAAAA//////////gAAAAAAAAAAH/////////wAAAAAAAAAAB/////////8AAAAAAAA
+ AAAf/////////AAAAAAAAAAAH/////////wAAAAAAAAAAB/////////4AAAAAAAAAAAf////////+AAA
+ AAAAAAAAD/////////AAAAAAAAAAAA/////////wAAAAAAAAAAAH////////8AAAAAAAAAAAA///////
+ //AAAAAAAAAAAAP////////wAAAAAAAAAAAD////////4AAAAAAAAAAAA////////+AAAAAAAAAAAAH/
+ ///////gAAAAAAAAAAAB////////4AAAAAAAAAAAAP///////+AAAAAAAAAAAAD////////gAAAAAAAA
+ AAAA////////4AAAAAAAAAAAAP///////+AAAAAAAAAAAAD////////gAAAAAAAAAAAA////////4AAA
+ AAAAAAAAAP///////+AAAAAAAAAAAAD////////gAAAAAAAAAAAA////////4AAAAAAAAAAAAP//////
+ /+AAAAAAAAAAAAD////////gAAADAAB4AAAA////////4AAAB+AB/AAAAP///////+AAAB/gAf8AAAD/
+ ///////gAAA/4AP/gAAA////////4AAA/+AD/8AAAP///////+AAAf/gA//gAAD////////wAAf/wAP/
+ +AAA////////8AAf/8AD//4AAP////////AAf//AA///gAD////////wAf//wAP//8AA////////+A//
+ /+AD///wAP/////////////gA////AD/////////////4AP///+A/////////////+AB////////////
+ ///////gAf//////////////////8AD///////////////////AA///////////////////4AP//////
+ ////////////+AB///////////////////gAf//////////////////8AD///////////////////gAf
+ //////////////////4AD//////////////////+AAP//////////////////4AB////////////////
+ //+AAH//////////////////wAB//////////////////+AAf//////////////////4AH//////////
+ /////////gD/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
\ No newline at end of file
diff --git a/Compiler/Program.cs b/Compiler/Program.cs
new file mode 100644
index 0000000..59c69ea
--- /dev/null
+++ b/Compiler/Program.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace Compiler
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ }
+}
diff --git a/Compiler/Properties/AssemblyInfo.cs b/Compiler/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..9eb4671
--- /dev/null
+++ b/Compiler/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+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("Compiler")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Compiler")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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
+
+// 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/Compiler/Properties/Resources.Designer.cs b/Compiler/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..ba8fbf9
--- /dev/null
+++ b/Compiler/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace Compiler.Properties {
+ using System;
+
+
+ ///
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// 返回此类使用的缓存的 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Compiler.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 重写当前线程的 CurrentUICulture 属性
+ /// 重写当前线程的 CurrentUICulture 属性。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Compiler/Properties/Resources.resx b/Compiler/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/Compiler/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/Compiler/Properties/Settings.Designer.cs b/Compiler/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..8a7aef4
--- /dev/null
+++ b/Compiler/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace Compiler.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.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/Compiler/Properties/Settings.settings b/Compiler/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/Compiler/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Compiler/me.ico b/Compiler/me.ico
new file mode 100644
index 0000000000000000000000000000000000000000..15db5f26e3b0b670b06f5c02a2643dc19bc07355
GIT binary patch
literal 67646
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
literal 0
HcmV?d00001
diff --git a/Compiler/packages.config b/Compiler/packages.config
new file mode 100644
index 0000000..60e721f
--- /dev/null
+++ b/Compiler/packages.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/Costura.Fody.4.1.0/.signature.p7s b/packages/Costura.Fody.4.1.0/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..c9950d4daa03e0fb56ffbe673a71f12e09dd6e8a
GIT binary patch
literal 9477
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
W$Wsu74xR%%rRW{rp@w-^4gLo|+Ahfe
literal 0
HcmV?d00001
diff --git a/packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg b/packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..175f3c3d5f02184f33860464c23a2ab34a40cdd2
GIT binary patch
literal 46481
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%0DWE)
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