diff --git a/Novetus/Novetus.Bootstrapper/Novetus.Bootstrapper.csproj b/Novetus/Novetus.Bootstrapper/Novetus.Bootstrapper.csproj
index b41674f..2aa5177 100644
--- a/Novetus/Novetus.Bootstrapper/Novetus.Bootstrapper.csproj
+++ b/Novetus/Novetus.Bootstrapper/Novetus.Bootstrapper.csproj
@@ -12,6 +12,8 @@
512
false
+
+
AnyCPU
@@ -41,17 +43,141 @@
app.manifest
+
+ ..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
+ True
+ True
+
..\packages\NLog.5.1.0\lib\net46\NLog.dll
+
+ ..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll
+ True
+ True
+
+
+
+ ..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
+ True
+ True
+
-
+
+ ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+
+ ..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll
+ True
+ True
+
+
+ ..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
+ True
+ True
+
+
+ ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll
+ True
+ True
+
+
+
+ ..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
+
+ ..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
+
+ ..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
@@ -61,6 +187,11 @@
+
+ ..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll
+ True
+ True
+
diff --git a/Novetus/Novetus.Bootstrapper/packages.config b/Novetus/Novetus.Bootstrapper/packages.config
index 5a7cee2..5ff341a 100644
--- a/Novetus/Novetus.Bootstrapper/packages.config
+++ b/Novetus/Novetus.Bootstrapper/packages.config
@@ -1,4 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Novetus/Novetus.ClientScriptTester/Classes/LocalVars.cs b/Novetus/Novetus.ClientScriptTester/Classes/LocalVars.cs
deleted file mode 100644
index 5f225d6..0000000
--- a/Novetus/Novetus.ClientScriptTester/Classes/LocalVars.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-#region Usings
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.Contracts;
-#endregion
-
-namespace Novetus.ClientScriptTester
-{
- #region LocalVars
- class LocalVars
- {
- public static List SharedArgs = new List();
- //a re-implementation of "Environment.NewLine" but with double spaces. Should be in NETExt, but we only use it here.
- public static String DoubleSpacedNewLine
- {
- get
- {
- Contract.Ensures(Contract.Result() != null);
- return "\r\n\r\n";
- }
- }
- }
- #endregion
-}
diff --git a/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs b/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs
deleted file mode 100644
index 6591f6a..0000000
--- a/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-#region Usings
-using System;
-using System.Windows.Forms;
-#endregion
-
-namespace Novetus.ClientScriptTester
-{
- #region ClientScript Tester
- static class ClientScriptTester
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main(string[] args)
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
-
- foreach (string s in args)
- {
- LocalVars.SharedArgs.Add(s);
- }
-
- Application.Run(new ClientScriptTestForm());
- }
- }
- #endregion
-}
diff --git a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.Designer.cs b/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.Designer.cs
deleted file mode 100644
index 0b35067..0000000
--- a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.Designer.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-namespace Novetus.ClientScriptTester
-{
- partial class ClientScriptTestForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClientScriptTestForm));
- this.ResultLabel = new System.Windows.Forms.Label();
- this.Divider1 = new System.Windows.Forms.Label();
- this.OutputBox = new System.Windows.Forms.RichTextBox();
- this.SuspendLayout();
- //
- // ResultLabel
- //
- this.ResultLabel.AutoSize = true;
- this.ResultLabel.Location = new System.Drawing.Point(12, 9);
- this.ResultLabel.Name = "ResultLabel";
- this.ResultLabel.Size = new System.Drawing.Size(102, 13);
- this.ResultLabel.TabIndex = 0;
- this.ResultLabel.Text = "Here are the results:";
- //
- // Divider1
- //
- this.Divider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.Divider1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- this.Divider1.Location = new System.Drawing.Point(8, 31);
- this.Divider1.Name = "Divider1";
- this.Divider1.Size = new System.Drawing.Size(780, 2);
- this.Divider1.TabIndex = 1;
- //
- // OutputBox
- //
- this.OutputBox.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.OutputBox.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.OutputBox.Location = new System.Drawing.Point(8, 36);
- this.OutputBox.Name = "OutputBox";
- this.OutputBox.ReadOnly = true;
- this.OutputBox.Size = new System.Drawing.Size(780, 402);
- this.OutputBox.TabIndex = 2;
- this.OutputBox.Text = "";
- //
- // ClientScriptTestForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.ClientSize = new System.Drawing.Size(800, 450);
- this.Controls.Add(this.OutputBox);
- this.Controls.Add(this.Divider1);
- this.Controls.Add(this.ResultLabel);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MinimumSize = new System.Drawing.Size(816, 200);
- this.Name = "ClientScriptTestForm";
- this.Text = "ClientScript Tester";
- this.Load += new System.EventHandler(this.ClientScriptTestForm_Load);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.Label ResultLabel;
- private System.Windows.Forms.Label Divider1;
- private System.Windows.Forms.RichTextBox OutputBox;
- }
-}
-
diff --git a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.cs b/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.cs
deleted file mode 100644
index f80626d..0000000
--- a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-#region Usings
-using System;
-using System.Windows.Forms;
-#endregion
-
-namespace Novetus.ClientScriptTester
-{
- #region ClientScriptTestForm
- public partial class ClientScriptTestForm : Form
- {
- #region Constructor
- public ClientScriptTestForm()
- {
- InitializeComponent();
- }
- #endregion
-
- #region Form Events
- private void ClientScriptTestForm_Load(object sender, EventArgs e)
- {
- foreach (string str in LocalVars.SharedArgs)
- {
- if (!string.IsNullOrWhiteSpace(str))
- {
- OutputBox.AppendText(str + LocalVars.DoubleSpacedNewLine);
- }
- }
-
- OutputBox.SelectionStart = 0;
- OutputBox.ScrollToCaret();
- }
- #endregion
- }
- #endregion
-}
diff --git a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.resx b/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.resx
deleted file mode 100644
index a237f57..0000000
--- a/Novetus/Novetus.ClientScriptTester/Forms/ClientScriptTestForm.resx
+++ /dev/null
@@ -1,1819 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
-
- AAABAAYAAAAAAAEAIABtBwAAZgAAAICAAAABACAAKAgBANMHAABAQAAAAQAgAChCAAD7DwEAMDAAAAEA
- IACoJQAAI1IBACAgAAABACAAqBAAAMt3AQAQEAAAAQAgAGgEAABziAEAiVBORw0KGgoAAAANSUhEUgAA
- AQAAAAEACAYAAABccqhmAAAHNElEQVR42u3dv4tdeR3G8TP3zp2ZZHZnsqshQYNBK7uFLVZFlAVRCwut
- ZRFbGxG0EKxEsBAEBTvL2GknuJDCSllEtLCJP9Z1SSQkJNlsJpkk995z7vhHPMVdeV6v/nN+zIT3nOb7
- yc6wZd/49c3Xwkv8LBn+xIWDzyTzT9eb6OHT+fUmm382bh5FFxiGx+H8/XB+CucfhvMPwvlr4fz1ZHgW
- 3hz4PyYAUEwAoJgAQDEBgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACK7W77ATbj+Klk/pXL
- L0Tn+b/3+sVt/wi26nS1OU7mn4bzD59PV5L51Tp7/5Nltk7g3ftPovk33z79YvYGw3eSYV8AUEwAoJgA
- QDEBgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAU+yDsA7iUzB/t7Wz1+W+9n50nX+xk
- z78bvv48/Bewv8j+hnxsP5ufz7L5xTx7/1evnIvmP3J8+HIy/8s/3f5pMu8LAIoJABQTACgmAFBMAKCY
- AEAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAMQGAYlvfBzCt10fJ/OEiu/+4yeYfr7ID+fMwwfOzbH53
- DO8fnqefpesczrJ9DB89zl7g+7+6Gc3/5I2r0fxb/15cTOZ9AUAxAYBiAgDFBACKCQAUEwAoJgBQTACg
- mABAMQGAYgIAxQQAigkAFBMAKCYAUOyDsA8g+v/RX9zLGna6zJ7/9Hl2Hn0WHohPf4Hxef5wfj6E+xTC
- fQLhOohhZzqJ5t9652E0/9ebj24n874AoJgAQDEBgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDF
- BACKCQAUEwAotv19AKvVpWT++Fx2IP3RszGaP12eRfOzWTY/DxM+n8Lz+On9h/D9w30Ew1l2gbsn2UKJ
- n19/O1soMAzfTIZ9AUAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAMQGAYgIAxQQAigkAFBMAKCYAUGzr
- +wDG1fJqMn/5aBHd/9Hz7Dx6tk1gGMLj8PF5/nAdwTBM4fOHP4DFWfY3bBO+/7TIfgDjav3xZP633/3c
- e8m8LwAoJgBQTACgmABAMQGAYgIAxQQAigkAFBMAKCYAUEwAoJgAQDEBgGICAMUEAIptfR/AlO4DON6P
- 7n/jbnaeeydM6GzY7nn+9C9Auk4gtRM+wFk4Py6fR/PTegw3KmR8AUAxAYBiAgDFBACKCQAUEwAoJgBQ
- TACgmABAMQGAYgIAxQQAigkAFBMAKCYAUCzeB/ClH/7uXHSBadxLxvcXWcOWU3YcexafiM/m07tP4T6C
- VHr3WfgnbB3+/p+cPh3DVzgJ5yO+AKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAMQGAYgIAxQQA
- igkAFBMAKBbvAxiXq4vJ/OHhQXT/WXigfJP+AMID+Tvh88/CE/VnW37+dCPAuUV29wdPltH8uFzdTeZ/
- /+OvpSsdIr4AoJgAQDEBgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoFu8DmFbL
- 89EDHO5lLxAmbB4uFJg24YH48EB+us8gPc+/Cd9/Ht7/fPgP4N7DZ9H8tFrezt5gu3wBQDEBgGICAMUE
- AIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQbPez37724eQC42r1o2T+tU9ejV7gzkl2
- nv7du1M0f3gQjQ8He1mDDxbZ+y/C8/iLvewC+/Ps/kfRNoph+Netp9H8uFrdzZ5gu3wBQDEBgGICAMUE
- AIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQbHdarb4QXuMryfBfbrwT3fzhs91o/sky
- O0+/nrL55To7T78aN9H8OGXzm7Ps/V8+Po7mv/Xly9H8nfvZPoBptboXXWDLfAFAMQGAYgIAxQQAigkA
- FBMAKCYAUEwAoJgAQDEBgGICAMUEAIoJABQTACgmAFBsd1qvX00u8NXXXzmXzP/gjU9v+2ewVeE6gXgf
- wWoMXyB8/l+8eTuaP7/I7v/4SbgPYL1+kD3BdvkCgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDF
- BACKCQAUEwAoJgBQTACg2O60Xv8nucCd++9HD3Dt+o1o/sIL0TqC4cLxQTT/0uF+NH8czr94fi+a39/L
- /gbs72bzX//8pfD+0fhw772TaH5ar/+bPcF2+QKAYgIAxQQAigkAFBMAKCYAUEwAoJgAQDEBgGICAMUE
- AIoJABQTACgmAFBMAKDY7mYcf5Nc4A9//vuVcP5q+A4f2vL8S1ueP06GD/YWi2j+IBofjg7DfQ5H56P5
- v/3j1j+jCwzDH8P5rfIFAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABA
- sf8BK8YyIA0V98sAAAAASUVORK5CYIIoAAAAgAAAAAABAAABACAAAAAAAAAAAQDDDgAAww4AAAAAAAAA
- AAAAj1owFI9aMBSPWjAUj1owFI9aMBSPWjAUj1owFI9aMBSPWjCEj1owhI9aMISPWjCEj1owhI9aMISP
- WjCEj1owhI9aMKOPWjCjj1owo49aMKOPWjCjj1owo49aMKOPWjCjj1owto9aMLaPWjC2j1owto9aMLaP
- WjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDJj1owyY9aMNqPWjDaj1ow2o9aMNqP
- WjDaj1ow2o9aMNqPWjDaj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow649aMOuPWjD6j1ow+o9aMPqP
- WjD6j1ow+o9aMPqPWjD6j1ow+pRgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/mWhA/5loQP+Z
- aED/mWhA/5loQP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6yBXv+s
- gV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+sgV7/j1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmP
- WjA0j1owNI9aMDSPWjA0j1owNI9aMDSPWjA0j1owNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPWjAUj1owFI9aMBSPWjAUj1owFI9aMBSP
- WjAUj1owFI9aMISPWjCEj1owhI9aMISPWjCEj1owhI9aMISPWjCEj1owo49aMKOPWjCjj1owo49aMKOP
- WjCjj1owo49aMKOPWjC2j1owto9aMLaPWjC2j1owto9aMLaPWjC2j1owto9aMMmPWjDJj1owyY9aMMmP
- WjDJj1owyY9aMMmPWjDJj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDrj1ow649aMOuP
- WjDrj1ow649aMOuPWjDrj1ow649aMPqPWjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqPWjD6lGA4/5RgOP+U
- YDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+ZaED/mWhA/5loQP+ZaED/mWhA/5loQP+ZaED/mWhA/6JzTv+i
- c07/onNO/6JzTv+ic07/onNO/6JzTv+ic07/rIFe/6yBXv+sgV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+P
- WjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMDSPWjA0j1owNI9aMDSPWjA0j1owNI9aMDSP
- WjA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAI9aMBSPWjAUj1owFI9aMBSPWjAUj1owFI9aMBSPWjAUj1owhI9aMISPWjCEj1owhI9aMISP
- WjCEj1owhI9aMISPWjCjj1owo49aMKOPWjCjj1owo49aMKOPWjCjj1owo49aMLaPWjC2j1owto9aMLaP
- WjC2j1owto9aMLaPWjC2j1owyY9aMMmPWjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDaj1ow2o9aMNqP
- WjDaj1ow2o9aMNqPWjDaj1ow2o9aMOuPWjDrj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow+o9aMPqP
- WjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqUYDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5loQP+Z
- aED/mWhA/5loQP+ZaED/mWhA/5loQP+ZaED/onNO/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6JzTv+s
- gV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+sgV7/rIFe/49aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmP
- WjDZj1owNI9aMDSPWjA0j1owNI9aMDSPWjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj1owFI9aMBSPWjAUj1owFI9aMBSP
- WjAUj1owFI9aMBSPWjCEj1owhI9aMISPWjCEj1owhI9aMISPWjCEj1owhI9aMKOPWjCjj1owo49aMKOP
- WjCjj1owo49aMKOPWjCjj1owto9aMLaPWjC2j1owto9aMLaPWjC2j1owto9aMLaPWjDJj1owyY9aMMmP
- WjDJj1owyY9aMMmPWjDJj1owyY9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow649aMOuP
- WjDrj1ow649aMOuPWjDrj1ow649aMOuPWjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqPWjD6j1ow+pRgOP+U
- YDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/mWhA/5loQP+ZaED/mWhA/5loQP+ZaED/mWhA/5loQP+i
- c07/onNO/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6yBXv+sgV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+s
- gV7/j1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjA0j1owNI9aMDSPWjA0j1owNI9aMDSP
- WjA0j1owNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACPWjAUj1owFI9aMBSPWjAUj1owFI9aMBSPWjAUj1owFI9aMISPWjCEj1owhI9aMISP
- WjCEj1owhI9aMISPWjCEj1owo49aMKOPWjCjj1owo49aMKOPWjCjj1owo49aMKOPWjC2j1owto9aMLaP
- WjC2j1owto9aMLaPWjC2j1owto9aMMmPWjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDJj1ow2o9aMNqP
- WjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDrj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow649aMPqP
- WjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqPWjD6lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+Z
- aED/mWhA/5loQP+ZaED/mWhA/5loQP+ZaED/mWhA/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6JzTv+i
- c07/rIFe/6yBXv+sgV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+PWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmP
- WjDZj1ow2Y9aMDSPWjA0j1owNI9aMDSPWjA0j1owNI9aMDSPWjA0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9aMBSPWjAUj1owFI9aMBSP
- WjAUj1owFI9aMBSPWjAUj1owhI9aMISPWjCEj1owhI9aMISPWjCEj1owhI9aMISPWjCjj1owo49aMKOP
- WjCjj1owo49aMKOPWjCjj1owo49aMLaPWjC2j1owto9aMLaPWjC2j1owto9aMLaPWjC2j1owyY9aMMmP
- WjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow2o9aMOuP
- WjDrj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow+o9aMPqPWjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqU
- YDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5loQP+ZaED/mWhA/5loQP+ZaED/mWhA/5loQP+Z
- aED/onNO/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6JzTv+sgV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+s
- gV7/rIFe/49aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjDZj1owNI9aMDSPWjA0j1owNI9aMDSP
- WjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAj1owFI9aMBSPWjAUj1owFI9aMBSPWjAUj1owFI9aMBSPWjCEj1owhI9aMISP
- WjCEj1owhI9aMISPWjCEj1owhI9aMKOPWjCjj1owo49aMKOPWjCjj1owo49aMKOPWjCjj1owto9aMLaP
- WjC2j1owto9aMLaPWjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDJj1owyY9aMNqP
- WjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow649aMOuP
- WjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqPWjD6j1ow+pRgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+U
- YDj/mWhA/5loQP+ZaED/mWhA/5loQP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+ic07/onNO/6JzTv+i
- c07/onNO/6yBXv+sgV7/rIFe/6yBXv+sgV7/rIFe/6yBXv+sgV7/j1ow2Y9aMNmPWjDZj1ow2Y9aMNmP
- WjDZj1ow2Y9aMNmPWjA0j1owNI9aMDSPWjA0j1owNI9aMDSPWjA0j1owNAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPWjAUj1owFI9aMBSP
- WjAUj1owFI9aMBSPWjAUj1owFI9aMISPWjCEj1owhI9aMISPWjCEj1owhI9aMISPWjCEj1owo49aMKOP
- WjCjj1owo49aMKOPWjCjj1owo49aMKOPWjC2j1owto9aMLaPWjC2j1owto9aMLaPWjC2j1owto9aMMmP
- WjDJj1owyY9aMMmPWjDJj1owyY9aMMmPWjDJj1ow2o9aMNqPWjDaj1ow2o9aMNqPWjDaj1ow2o9aMNqP
- WjDrj1ow649aMOuPWjDrj1ow649aMOuPWjDrj1ow649aMPqPWjD6j1ow+o9aMPqPWjD6j1ow+o9aMPqP
- WjD6lGA4/5RgOP+UYDj/lGA4/5RgOP+UYDj/lGA4/5RgOP+ZaED/mWhA/5loQP+ZaED/mWhA/5loQP+Z
- aED/mWhA/6JzTv+ic07/onNO/6JzTv+ic07/onNO/6JzTv+ic07/rIFe/6yBXv+sgV7/rIFe/6yBXv+s
- gV7/rIFe/6yBXv+PWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMNmPWjDZj1ow2Y9aMDSPWjA0j1owNI9aMDSP
- WjA0j1owNI9aMDSPWjA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAJNeMmiTXjJok14yaJNeMmiTXjJok14yaJNeMmiTXjJot49s/7ePbP+3
- j2z/t49s/7ePbP+3j2z/t49s/7ePbP/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9/Fsv/f
- xbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/59TC/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/u
- 39P/7t/T/+7f0//u39P/7t/T/+7f0//u39P/7t/T//Xq4v/16uL/9eri//Xq4v/16uL/9eri//Xq4v/1
- 6uL/+/Tv//v07//79O//+/Tv//v07//79O//+/Tv//v07//9+vb//fr2//369v/9+vb//fr2//369v/9
- +vb//fr2///+/f///v3///79///+/f///v3///79///+/f///v3/++vf//vr3//769//++vf//vr3//7
- 69//++vf//vr3//77+b/++/m//vv5v/77+b/++/m//vv5v/77+b/++/m/8Ccf//AnH//wJx//8Ccf//A
- nH//wJx//8Ccf//AnH//k14yb5NeMm+TXjJvk14yb5NeMm+TXjJvk14yb5NeMm8AAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk14yaJNeMmiT
- XjJok14yaJNeMmiTXjJok14yaJNeMmi3j2z/t49s/7ePbP+3j2z/t49s/7ePbP+3j2z/t49s/9a5ov/W
- uaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/n
- 1ML/59TC/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+7f0//u39P/7t/T/+7f0//u39P/7t/T/+7f0//u
- 39P/9eri//Xq4v/16uL/9eri//Xq4v/16uL/9eri//Xq4v/79O//+/Tv//v07//79O//+/Tv//v07//7
- 9O//+/Tv//369v/9+vb//fr2//369v/9+vb//fr2//369v/9+vb///79///+/f///v3///79///+/f//
- /v3///79///+/f/769//++vf//vr3//769//++vf//vr3//769//++vf//vv5v/77+b/++/m//vv5v/7
- 7+b/++/m//vv5v/77+b/wJx//8Ccf//AnH//wJx//8Ccf//AnH//wJx//8Ccf/+TXjJvk14yb5NeMm+T
- XjJvk14yb5NeMm+TXjJvk14ybwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTXjJok14yaJNeMmiTXjJok14yaJNeMmiTXjJok14yaLePbP+3
- j2z/t49s/7ePbP+3j2z/t49s/7ePbP+3j2z/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/f
- xbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/38Wy/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/n
- 1ML/7t/T/+7f0//u39P/7t/T/+7f0//u39P/7t/T/+7f0//16uL/9eri//Xq4v/16uL/9eri//Xq4v/1
- 6uL/9eri//v07//79O//+/Tv//v07//79O//+/Tv//v07//79O///fr2//369v/9+vb//fr2//369v/9
- +vb//fr2//369v///v3///79///+/f///v3///79///+/f///v3///79//vr3//769//++vf//vr3//7
- 69//++vf//vr3//769//++/m//vv5v/77+b/++/m//vv5v/77+b/++/m//vv5v/AnH//wJx//8Ccf//A
- nH//wJx//8Ccf//AnH//wJx//5NeMm+TXjJvk14yb5NeMm+TXjJvk14yb5NeMm+TXjJvAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJNeMmiT
- XjJok14yaJNeMmiTXjJok14yaJNeMmiTXjJot49s/7ePbP+3j2z/t49s/7ePbP+3j2z/t49s/7ePbP/W
- uaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/f
- xbL/59TC/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/u39P/7t/T/+7f0//u39P/7t/T/+7f0//u
- 39P/7t/T//Xq4v/16uL/9eri//Xq4v/16uL/9eri//Xq4v/16uL/+/Tv//v07//79O//+/Tv//v07//7
- 9O//+/Tv//v07//9+vb//fr2//369v/9+vb//fr2//369v/9+vb//fr2///+/f///v3///79///+/f//
- /v3///79///+/f///v3/++vf//vr3//769//++vf//vr3//769//++vf//vr3//77+b/++/m//vv5v/7
- 7+b/++/m//vv5v/77+b/++/m/8Ccf//AnH//wJx//8Ccf//AnH//wJx//8Ccf//AnH//k14yb5NeMm+T
- XjJvk14yb5NeMm+TXjJvk14yb5NeMm8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk14yaJNeMmiTXjJok14yaJNeMmiTXjJok14yaJNeMmi3
- j2z/t49s/7ePbP+3j2z/t49s/7ePbP+3j2z/t49s/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/W
- uaL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/n
- 1ML/59TC/+7f0//u39P/7t/T/+7f0//u39P/7t/T/+7f0//u39P/9eri//Xq4v/16uL/9eri//Xq4v/1
- 6uL/9eri//Xq4v/79O//+/Tv//v07//79O//+/Tv//v07//79O//+/Tv//369v/9+vb//fr2//369v/9
- +vb//fr2//369v/9+vb///79///+/f///v3///79///+/f///v3///79///+/f/769//++vf//vr3//7
- 69//++vf//vr3//769//++vf//vv5v/77+b/++/m//vv5v/77+b/++/m//vv5v/77+b/wJx//8Ccf//A
- nH//wJx//8Ccf//AnH//wJx//8Ccf/+TXjJvk14yb5NeMm+TXjJvk14yb5NeMm+TXjJvk14ybwAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT
- XjJok14yaJNeMmiTXjJok14yaJNeMmiTXjJok14yaLePbP+3j2z/t49s/7ePbP+3j2z/t49s/7ePbP+3
- j2z/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/fxbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/f
- xbL/38Wy/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/n1ML/7t/T/+7f0//u39P/7t/T/+7f0//u
- 39P/7t/T/+7f0//16uL/9eri//Xq4v/16uL/9eri//Xq4v/16uL/9eri//v07//79O//+/Tv//v07//7
- 9O//+/Tv//v07//79O///fr2//369v/9+vb//fr2//369v/9+vb//fr2//369v///v3///79///+/f//
- /v3///79///+/f///v3///79//vr3//769//++vf//vr3//769//++vf//vr3//769//++/m//vv5v/7
- 7+b/++/m//vv5v/77+b/++/m//vv5v/AnH//wJx//8Ccf//AnH//wJx//8Ccf//AnH//wJx//5NeMm+T
- XjJvk14yb5NeMm+TXjJvk14yb5NeMm+TXjJvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJNeMmiTXjJok14yaJNeMmiTXjJok14yaJNeMmiT
- XjJot49s/7ePbP+3j2z/t49s/7ePbP+3j2z/t49s/7ePbP/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/W
- uaL/1rmi/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/fxbL/59TC/+fUwv/n1ML/59TC/+fUwv/n
- 1ML/59TC/+fUwv/u39P/7t/T/+7f0//u39P/7t/T/+7f0//u39P/7t/T//Xq4v/16uL/9eri//Xq4v/1
- 6uL/9eri//Xq4v/16uL/+/Tv//v07//79O//+/Tv//v07//79O//+/Tv//v07//9+vb//fr2//369v/9
- +vb//fr2//369v/9+vb//fr2///+/f///v3///79///+/f///v3///79///+/f///v3/++vf//vr3//7
- 69//++vf//vr3//769//++vf//vr3//77+b/++/m//vv5v/77+b/++/m//vv5v/77+b/++/m/8Ccf//A
- nH//wJx//8Ccf//AnH//wJx//8Ccf//AnH//k14yb5NeMm+TXjJvk14yb5NeMm+TXjJvk14yb5NeMm8A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAk14yaJNeMmiTXjJok14yaJNeMmiTXjJok14yaJNeMmi3j2z/t49s/7ePbP+3j2z/t49s/7ePbP+3
- j2z/t49s/9a5ov/WuaL/1rmi/9a5ov/WuaL/1rmi/9a5ov/WuaL/38Wy/9/Fsv/fxbL/38Wy/9/Fsv/f
- xbL/38Wy/9/Fsv/n1ML/59TC/+fUwv/n1ML/59TC/+fUwv/n1ML/59TC/+7f0//u39P/7t/T/+7f0//u
- 39P/7t/T/+7f0//u39P/9eri//Xq4v/16uL/9eri//Xq4v/16uL/9eri//Xq4v/79O//+/Tv//v07//7
- 9O//+/Tv//v07//79O//+/Tv//369v/9+vb//fr2//369v/9+vb//fr2//369v/9+vb///79///+/f//
- /v3///79///+/f///v3///79///+/f/769//++vf//vr3//769//++vf//vr3//769//++vf//vv5v/7
- 7+b/++/m//vv5v/77+b/++/m//vv5v/77+b/wJx//8Ccf//AnH//wJx//8Ccf//AnH//wJx//8Ccf/+T
- XjJvk14yb5NeMm+TXjJvk14yb5NeMm+TXjJvk14ybwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYYzWJmGM1iZhjNYmYYzWJmGM1iZhjNYmY
- YzWJmGM1icejhP/Ho4T/x6OE/8ejhP/Ho4T/x6OE/8ejhP/Ho4T/////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////vz///78///+/P//
- /vz///78///+/P///vz///78//779//++/f//vv3//779//++/f//vv3//779//++/f//vfx//738f/+
- 9/H//vfx//738f/+9/H//vfx//738f/+9vH//vbx//728f/+9vH//vbx//728f/+9vH//vbx/+Sthf/k
- rYX/5K2F/+Sthf/krYX/5K2F/+Sthf/krYX/+ujb//ro2//66Nv/+ujb//ro2//66Nv/+ujb//ro2//O
- rpT/zq6U/86ulP/OrpT/zq6U/86ulP/OrpT/zq6U/5hjNYuYYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYuY
- YzWLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAJhjNYmYYzWJmGM1iZhjNYmYYzWJmGM1iZhjNYmYYzWJx6OE/8ejhP/Ho4T/x6OE/8ejhP/H
- o4T/x6OE/8ejhP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////+/P///vz///78///+/P///vz///78///+/P///vz//vv3//779//+
- +/f//vv3//779//++/f//vv3//779//+9/H//vfx//738f/+9/H//vfx//738f/+9/H//vfx//728f/+
- 9vH//vbx//728f/+9vH//vbx//728f/+9vH/5K2F/+Sthf/krYX/5K2F/+Sthf/krYX/5K2F/+Sthf/6
- 6Nv/+ujb//ro2//66Nv/+ujb//ro2//66Nv/+ujb/86ulP/OrpT/zq6U/86ulP/OrpT/zq6U/86ulP/O
- rpT/mGM1i5hjNYuYYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmGM1iZhjNYmYYzWJmGM1iZhjNYmY
- YzWJmGM1iZhjNYnHo4T/x6OE/8ejhP/Ho4T/x6OE/8ejhP/Ho4T/x6OE////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////78///+/P//
- /vz///78///+/P///vz///78///+/P/++/f//vv3//779//++/f//vv3//779//++/f//vv3//738f/+
- 9/H//vfx//738f/+9/H//vfx//738f/+9/H//vbx//728f/+9vH//vbx//728f/+9vH//vbx//728f/k
- rYX/5K2F/+Sthf/krYX/5K2F/+Sthf/krYX/5K2F//ro2//66Nv/+ujb//ro2//66Nv/+ujb//ro2//6
- 6Nv/zq6U/86ulP/OrpT/zq6U/86ulP/OrpT/zq6U/86ulP+YYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYuY
- YzWLmGM1iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACYYzWJmGM1iZhjNYmYYzWJmGM1iZhjNYmYYzWJmGM1icejhP/Ho4T/x6OE/8ejhP/H
- o4T/x6OE/8ejhP/Ho4T/////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////vz///78///+/P///vz///78///+/P///vz///78//779//+
- +/f//vv3//779//++/f//vv3//779//++/f//vfx//738f/+9/H//vfx//738f/+9/H//vfx//738f/+
- 9vH//vbx//728f/+9vH//vbx//728f/+9vH//vbx/+Sthf/krYX/5K2F/+Sthf/krYX/5K2F/+Sthf/k
- rYX/+ujb//ro2//66Nv/+ujb//ro2//66Nv/+ujb//ro2//OrpT/zq6U/86ulP/OrpT/zq6U/86ulP/O
- rpT/zq6U/5hjNYuYYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYuYYzWLAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhjNYmYYzWJmGM1iZhjNYmY
- YzWJmGM1iZhjNYmYYzWJx6OE/8ejhP/Ho4T/x6OE/8ejhP/Ho4T/x6OE/8ejhP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////+/P//
- /vz///78///+/P///vz///78///+/P///vz//vv3//779//++/f//vv3//779//++/f//vv3//779//+
- 9/H//vfx//738f/+9/H//vfx//738f/+9/H//vfx//728f/+9vH//vbx//728f/+9vH//vbx//728f/+
- 9vH/5K2F/+Sthf/krYX/5K2F/+Sthf/krYX/5K2F/+Sthf/66Nv/+ujb//ro2//66Nv/+ujb//ro2//6
- 6Nv/+ujb/86ulP/OrpT/zq6U/86ulP/OrpT/zq6U/86ulP/OrpT/mGM1i5hjNYuYYzWLmGM1i5hjNYuY
- YzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAmGM1iZhjNYmYYzWJmGM1iZhjNYmYYzWJmGM1iZhjNYnHo4T/x6OE/8ejhP/H
- o4T/x6OE/8ejhP/Ho4T/x6OE////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////78///+/P///vz///78///+/P///vz///78///+/P/+
- +/f//vv3//779//++/f//vv3//779//++/f//vv3//738f/+9/H//vfx//738f/+9/H//vfx//738f/+
- 9/H//vbx//728f/+9vH//vbx//728f/+9vH//vbx//728f/krYX/5K2F/+Sthf/krYX/5K2F/+Sthf/k
- rYX/5K2F//ro2//66Nv/+ujb//ro2//66Nv/+ujb//ro2//66Nv/zq6U/86ulP/OrpT/zq6U/86ulP/O
- rpT/zq6U/86ulP+YYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYuYYzWLmGM1iwAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYYzWJmGM1iZhjNYmY
- YzWJmGM1iZhjNYmYYzWJmGM1icejhP/Ho4T/x6OE/8ejhP/Ho4T/x6OE/8ejhP/Ho4T/////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /vz///78///+/P///vz///78///+/P///vz///78//779//++/f//vv3//779//++/f//vv3//779//+
- +/f//vfx//738f/+9/H//vfx//738f/+9/H//vfx//738f/+9vH//vbx//728f/+9vH//vbx//728f/+
- 9vH//vbx/+Sthf/krYX/5K2F/+Sthf/krYX/5K2F/+Sthf/krYX/+ujb//ro2//66Nv/+ujb//ro2//6
- 6Nv/+ujb//ro2//OrpT/zq6U/86ulP/OrpT/zq6U/86ulP/OrpT/zq6U/5hjNYuYYzWLmGM1i5hjNYuY
- YzWLmGM1i5hjNYuYYzWLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAJhjNYmYYzWJmGM1iZhjNYmYYzWJmGM1iZhjNYmYYzWJx6OE/8ejhP/H
- o4T/x6OE/8ejhP/Ho4T/x6OE/8ejhP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////+/P///vz///78///+/P///vz///78///+/P//
- /vz//vv3//779//++/f//vv3//779//++/f//vv3//779//+9/H//vfx//738f/+9/H//vfx//738f/+
- 9/H//vfx//728f/+9vH//vbx//728f/+9vH//vbx//728f/+9vH/5K2F/+Sthf/krYX/5K2F/+Sthf/k
- rYX/5K2F/+Sthf/66Nv/+ujb//ro2//66Nv/+ujb//ro2//66Nv/+ujb/86ulP/OrpT/zq6U/86ulP/O
- rpT/zq6U/86ulP/OrpT/mGM1i5hjNYuYYzWLmGM1i5hjNYuYYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnWg4V51oOFed
- aDhXnWg4V51oOFedaDhXnWg4V51oOFedaDj2nWg49p1oOPadaDj2nWg49p1oOPadaDj2nWg49rOEWP+z
- hFj/s4RY/7OEWP+zhFj/s4RY/7OEWP+zhFj/2aR6/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/Y
- nW7/2J1u/9idbv/YnW7/2J1u/9idbv/YnW7/2J1u/9eaaf/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/X
- mmn/2JVi/9iVYv/YlWL/2JVi/9iVYv/YlWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/WkVz/1pFc/9aRXP/W
- kVz/1pFc/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/041W/9ONVv/TjVb/041W/9ONVv/T
- jVb/041W/9ONVv/inGj/4pxo/+KcaP/inGj/4pxo/+KcaP/inGj/4pxo//rj0f/649H/+uPR//rj0f/6
- 49H/+uPR//rj0f/649H/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/2Lqh/9i6of+daDienWg4np1oOJ6d
- aDienWg4np1oOJ6daDienWg4ngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDhXnWg4V51oOFedaDhXnWg4V51oOPad
- aDj2nWg49p1oOPadaDj2nWg49p1oOPadaDj2s4RY/7OEWP+zhFj/s4RY/7OEWP+zhFj/s4RY/7OEWP/Z
- pHr/2aR6/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9idbv/YnW7/2J1u/9idbv/YnW7/2J1u/9idbv/Y
- nW7/15pp/9eaaf/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/YlWL/2JVi/9iVYv/YlWL/2JVi/9iVYv/Y
- lWL/2JVi/9aRXP/WkVz/1pFc/9aRXP/WkVz/1pFc/9aRXP/WkVz/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/U
- jlj/1I5Y/9SOWP/TjVb/041W/9ONVv/TjVb/041W/9ONVv/TjVb/041W/+KcaP/inGj/4pxo/+KcaP/i
- nGj/4pxo/+KcaP/inGj/+uPR//rj0f/649H/+uPR//rj0f/649H/+uPR//rj0f/YuqH/2Lqh/9i6of/Y
- uqH/2Lqh/9i6of/YuqH/2Lqh/51oOJ6daDienWg4np1oOJ6daDienWg4np1oOJ6daDieAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ1oOFed
- aDhXnWg4V51oOFedaDhXnWg4V51oOFedaDhXnWg49p1oOPadaDj2nWg49p1oOPadaDj2nWg49p1oOPaz
- hFj/s4RY/7OEWP+zhFj/s4RY/7OEWP+zhFj/s4RY/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/Z
- pHr/2J1u/9idbv/YnW7/2J1u/9idbv/YnW7/2J1u/9idbv/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/X
- mmn/15pp/9iVYv/YlWL/2JVi/9iVYv/YlWL/2JVi/9iVYv/YlWL/1pFc/9aRXP/WkVz/1pFc/9aRXP/W
- kVz/1pFc/9aRXP/Ujlj/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/1I5Y/9ONVv/TjVb/041W/9ONVv/T
- jVb/041W/9ONVv/TjVb/4pxo/+KcaP/inGj/4pxo/+KcaP/inGj/4pxo/+KcaP/649H/+uPR//rj0f/6
- 49H/+uPR//rj0f/649H/+uPR/9i6of/YuqH/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/nWg4np1oOJ6d
- aDienWg4np1oOJ6daDienWg4np1oOJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnWg4V51oOFedaDhXnWg4V51oOFedaDhXnWg4V51oOFed
- aDj2nWg49p1oOPadaDj2nWg49p1oOPadaDj2nWg49rOEWP+zhFj/s4RY/7OEWP+zhFj/s4RY/7OEWP+z
- hFj/2aR6/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/YnW7/2J1u/9idbv/YnW7/2J1u/9idbv/Y
- nW7/2J1u/9eaaf/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/Xmmn/2JVi/9iVYv/YlWL/2JVi/9iVYv/Y
- lWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/WkVz/1pFc/9aRXP/WkVz/1pFc/9SOWP/Ujlj/1I5Y/9SOWP/U
- jlj/1I5Y/9SOWP/Ujlj/041W/9ONVv/TjVb/041W/9ONVv/TjVb/041W/9ONVv/inGj/4pxo/+KcaP/i
- nGj/4pxo/+KcaP/inGj/4pxo//rj0f/649H/+uPR//rj0f/649H/+uPR//rj0f/649H/2Lqh/9i6of/Y
- uqH/2Lqh/9i6of/YuqH/2Lqh/9i6of+daDienWg4np1oOJ6daDienWg4np1oOJ6daDienWg4ngAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd
- aDhXnWg4V51oOFedaDhXnWg4V51oOFedaDhXnWg4V51oOPadaDj2nWg49p1oOPadaDj2nWg49p1oOPad
- aDj2s4RY/7OEWP+zhFj/s4RY/7OEWP+zhFj/s4RY/7OEWP/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/Z
- pHr/2aR6/9idbv/YnW7/2J1u/9idbv/YnW7/2J1u/9idbv/YnW7/15pp/9eaaf/Xmmn/15pp/9eaaf/X
- mmn/15pp/9eaaf/YlWL/2JVi/9iVYv/YlWL/2JVi/9iVYv/YlWL/2JVi/9aRXP/WkVz/1pFc/9aRXP/W
- kVz/1pFc/9aRXP/WkVz/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/TjVb/041W/9ONVv/T
- jVb/041W/9ONVv/TjVb/041W/+KcaP/inGj/4pxo/+KcaP/inGj/4pxo/+KcaP/inGj/+uPR//rj0f/6
- 49H/+uPR//rj0f/649H/+uPR//rj0f/YuqH/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/2Lqh/51oOJ6d
- aDienWg4np1oOJ6daDienWg4np1oOJ6daDieAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ1oOFedaDhXnWg4V51oOFedaDhXnWg4V51oOFed
- aDhXnWg49p1oOPadaDj2nWg49p1oOPadaDj2nWg49p1oOPazhFj/s4RY/7OEWP+zhFj/s4RY/7OEWP+z
- hFj/s4RY/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/ZpHr/2J1u/9idbv/YnW7/2J1u/9idbv/Y
- nW7/2J1u/9idbv/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/Xmmn/15pp/9iVYv/YlWL/2JVi/9iVYv/Y
- lWL/2JVi/9iVYv/YlWL/1pFc/9aRXP/WkVz/1pFc/9aRXP/WkVz/1pFc/9aRXP/Ujlj/1I5Y/9SOWP/U
- jlj/1I5Y/9SOWP/Ujlj/1I5Y/9ONVv/TjVb/041W/9ONVv/TjVb/041W/9ONVv/TjVb/4pxo/+KcaP/i
- nGj/4pxo/+KcaP/inGj/4pxo/+KcaP/649H/+uPR//rj0f/649H/+uPR//rj0f/649H/+uPR/9i6of/Y
- uqH/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/nWg4np1oOJ6daDienWg4np1oOJ6daDienWg4np1oOJ4A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAnWg4V51oOFedaDhXnWg4V51oOFedaDhXnWg4V51oOFedaDj2nWg49p1oOPadaDj2nWg49p1oOPad
- aDj2nWg49rOEWP+zhFj/s4RY/7OEWP+zhFj/s4RY/7OEWP+zhFj/2aR6/9mkev/ZpHr/2aR6/9mkev/Z
- pHr/2aR6/9mkev/YnW7/2J1u/9idbv/YnW7/2J1u/9idbv/YnW7/2J1u/9eaaf/Xmmn/15pp/9eaaf/X
- mmn/15pp/9eaaf/Xmmn/2JVi/9iVYv/YlWL/2JVi/9iVYv/YlWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/W
- kVz/1pFc/9aRXP/WkVz/1pFc/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/Ujlj/041W/9ONVv/T
- jVb/041W/9ONVv/TjVb/041W/9ONVv/inGj/4pxo/+KcaP/inGj/4pxo/+KcaP/inGj/4pxo//rj0f/6
- 49H/+uPR//rj0f/649H/+uPR//rj0f/649H/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/2Lqh/9i6of+d
- aDienWg4np1oOJ6daDienWg4np1oOJ6daDienWg4ngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDhXnWg4V51oOFed
- aDhXnWg4V51oOPadaDj2nWg49p1oOPadaDj2nWg49p1oOPadaDj2s4RY/7OEWP+zhFj/s4RY/7OEWP+z
- hFj/s4RY/7OEWP/ZpHr/2aR6/9mkev/ZpHr/2aR6/9mkev/ZpHr/2aR6/9idbv/YnW7/2J1u/9idbv/Y
- nW7/2J1u/9idbv/YnW7/15pp/9eaaf/Xmmn/15pp/9eaaf/Xmmn/15pp/9eaaf/YlWL/2JVi/9iVYv/Y
- lWL/2JVi/9iVYv/YlWL/2JVi/9aRXP/WkVz/1pFc/9aRXP/WkVz/1pFc/9aRXP/WkVz/1I5Y/9SOWP/U
- jlj/1I5Y/9SOWP/Ujlj/1I5Y/9SOWP/TjVb/041W/9ONVv/TjVb/041W/9ONVv/TjVb/041W/+KcaP/i
- nGj/4pxo/+KcaP/inGj/4pxo/+KcaP/inGj/+uPR//rj0f/649H/+uPR//rj0f/649H/+uPR//rj0f/Y
- uqH/2Lqh/9i6of/YuqH/2Lqh/9i6of/YuqH/2Lqh/51oOJ6daDienWg4np1oOJ6daDienWg4np1oOJ6d
- aDieAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAKNuOxSjbjsUo247FKNuOxSjbjsUo247FKNuOxSjbjsUo247q6NuO6ujbjuro247q6NuO6uj
- bjuro247q6NuO6vVrYv/1a2L/9Wti//VrYv/1a2L/9Wti//VrYv/1a2L//3w5f/98OX//fDl//3w5f/9
- 8OX//fDl//3w5f/98OX/98eh//fHof/3x6H/98eh//fHof/3x6H/98eh//fHof/3z6z/98+s//fPrP/3
- z6z/98+s//fPrP/3z6z/98+s//nVtP/51bT/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+Nq8//javP/4
- 2rz/+Nq8//javP/42rz/+Nq8//javP/43sH/+N7B//jewf/43sH/+N7B//jewf/43sH/+N7B//rhxf/6
- 4cX/+uHF//rhxf/64cX/+uHF//rhxf/64cX/+uTM//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/9
- 9ez//fXs//317P/99ez//fXs//317P/99ez//fXs/+LOuf/izrn/4s65/+LOuf/izrn/4s65/+LOuf/i
- zrn/o247s6NuO7Ojbjuzo247s6NuO7Ojbjuzo247s6NuO7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo247FKNuOxSjbjsUo247FKNuOxSj
- bjsUo247FKNuOxSjbjuro247q6NuO6ujbjuro247q6NuO6ujbjuro247q9Wti//VrYv/1a2L/9Wti//V
- rYv/1a2L/9Wti//VrYv//fDl//3w5f/98OX//fDl//3w5f/98OX//fDl//3w5f/3x6H/98eh//fHof/3
- x6H/98eh//fHof/3x6H/98eh//fPrP/3z6z/98+s//fPrP/3z6z/98+s//fPrP/3z6z/+dW0//nVtP/5
- 1bT/+dW0//nVtP/51bT/+dW0//nVtP/42rz/+Nq8//javP/42rz/+Nq8//javP/42rz/+Nq8//jewf/4
- 3sH/+N7B//jewf/43sH/+N7B//jewf/43sH/+uHF//rhxf/64cX/+uHF//rhxf/64cX/+uHF//rhxf/6
- 5Mz/+uTM//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//317P/99ez//fXs//317P/99ez//fXs//317P/9
- 9ez/4s65/+LOuf/izrn/4s65/+LOuf/izrn/4s65/+LOuf+jbjuzo247s6NuO7Ojbjuzo247s6NuO7Oj
- bjuzo247swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACjbjsUo247FKNuOxSjbjsUo247FKNuOxSjbjsUo247FKNuO6ujbjuro247q6NuO6uj
- bjuro247q6NuO6ujbjur1a2L/9Wti//VrYv/1a2L/9Wti//VrYv/1a2L/9Wti//98OX//fDl//3w5f/9
- 8OX//fDl//3w5f/98OX//fDl//fHof/3x6H/98eh//fHof/3x6H/98eh//fHof/3x6H/98+s//fPrP/3
- z6z/98+s//fPrP/3z6z/98+s//fPrP/51bT/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+dW0//javP/4
- 2rz/+Nq8//javP/42rz/+Nq8//javP/42rz/+N7B//jewf/43sH/+N7B//jewf/43sH/+N7B//jewf/6
- 4cX/+uHF//rhxf/64cX/+uHF//rhxf/64cX/+uHF//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/6
- 5Mz//fXs//317P/99ez//fXs//317P/99ez//fXs//317P/izrn/4s65/+LOuf/izrn/4s65/+LOuf/i
- zrn/4s65/6NuO7Ojbjuzo247s6NuO7Ojbjuzo247s6NuO7OjbjuzAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNuOxSjbjsUo247FKNuOxSj
- bjsUo247FKNuOxSjbjsUo247q6NuO6ujbjuro247q6NuO6ujbjuro247q6NuO6vVrYv/1a2L/9Wti//V
- rYv/1a2L/9Wti//VrYv/1a2L//3w5f/98OX//fDl//3w5f/98OX//fDl//3w5f/98OX/98eh//fHof/3
- x6H/98eh//fHof/3x6H/98eh//fHof/3z6z/98+s//fPrP/3z6z/98+s//fPrP/3z6z/98+s//nVtP/5
- 1bT/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+Nq8//javP/42rz/+Nq8//javP/42rz/+Nq8//javP/4
- 3sH/+N7B//jewf/43sH/+N7B//jewf/43sH/+N7B//rhxf/64cX/+uHF//rhxf/64cX/+uHF//rhxf/6
- 4cX/+uTM//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/99ez//fXs//317P/99ez//fXs//317P/9
- 9ez//fXs/+LOuf/izrn/4s65/+LOuf/izrn/4s65/+LOuf/izrn/o247s6NuO7Ojbjuzo247s6NuO7Oj
- bjuzo247s6NuO7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAo247FKNuOxSjbjsUo247FKNuOxSjbjsUo247FKNuOxSjbjuro247q6NuO6uj
- bjuro247q6NuO6ujbjuro247q9Wti//VrYv/1a2L/9Wti//VrYv/1a2L/9Wti//VrYv//fDl//3w5f/9
- 8OX//fDl//3w5f/98OX//fDl//3w5f/3x6H/98eh//fHof/3x6H/98eh//fHof/3x6H/98eh//fPrP/3
- z6z/98+s//fPrP/3z6z/98+s//fPrP/3z6z/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+dW0//nVtP/4
- 2rz/+Nq8//javP/42rz/+Nq8//javP/42rz/+Nq8//jewf/43sH/+N7B//jewf/43sH/+N7B//jewf/4
- 3sH/+uHF//rhxf/64cX/+uHF//rhxf/64cX/+uHF//rhxf/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/6
- 5Mz/+uTM//317P/99ez//fXs//317P/99ez//fXs//317P/99ez/4s65/+LOuf/izrn/4s65/+LOuf/i
- zrn/4s65/+LOuf+jbjuzo247s6NuO7Ojbjuzo247s6NuO7Ojbjuzo247swAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjbjsUo247FKNuOxSj
- bjsUo247FKNuOxSjbjsUo247FKNuO6ujbjuro247q6NuO6ujbjuro247q6NuO6ujbjur1a2L/9Wti//V
- rYv/1a2L/9Wti//VrYv/1a2L/9Wti//98OX//fDl//3w5f/98OX//fDl//3w5f/98OX//fDl//fHof/3
- x6H/98eh//fHof/3x6H/98eh//fHof/3x6H/98+s//fPrP/3z6z/98+s//fPrP/3z6z/98+s//fPrP/5
- 1bT/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+dW0//javP/42rz/+Nq8//javP/42rz/+Nq8//javP/4
- 2rz/+N7B//jewf/43sH/+N7B//jewf/43sH/+N7B//jewf/64cX/+uHF//rhxf/64cX/+uHF//rhxf/6
- 4cX/+uHF//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/65Mz//fXs//317P/99ez//fXs//317P/9
- 9ez//fXs//317P/izrn/4s65/+LOuf/izrn/4s65/+LOuf/izrn/4s65/6NuO7Ojbjuzo247s6NuO7Oj
- bjuzo247s6NuO7OjbjuzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAKNuOxSjbjsUo247FKNuOxSjbjsUo247FKNuOxSjbjsUo247q6NuO6uj
- bjuro247q6NuO6ujbjuro247q6NuO6vVrYv/1a2L/9Wti//VrYv/1a2L/9Wti//VrYv/1a2L//3w5f/9
- 8OX//fDl//3w5f/98OX//fDl//3w5f/98OX/98eh//fHof/3x6H/98eh//fHof/3x6H/98eh//fHof/3
- z6z/98+s//fPrP/3z6z/98+s//fPrP/3z6z/98+s//nVtP/51bT/+dW0//nVtP/51bT/+dW0//nVtP/5
- 1bT/+Nq8//javP/42rz/+Nq8//javP/42rz/+Nq8//javP/43sH/+N7B//jewf/43sH/+N7B//jewf/4
- 3sH/+N7B//rhxf/64cX/+uHF//rhxf/64cX/+uHF//rhxf/64cX/+uTM//rkzP/65Mz/+uTM//rkzP/6
- 5Mz/+uTM//rkzP/99ez//fXs//317P/99ez//fXs//317P/99ez//fXs/+LOuf/izrn/4s65/+LOuf/i
- zrn/4s65/+LOuf/izrn/o247s6NuO7Ojbjuzo247s6NuO7Ojbjuzo247s6NuO7MAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo247FKNuOxSj
- bjsUo247FKNuOxSjbjsUo247FKNuOxSjbjuro247q6NuO6ujbjuro247q6NuO6ujbjuro247q9Wti//V
- rYv/1a2L/9Wti//VrYv/1a2L/9Wti//VrYv//fDl//3w5f/98OX//fDl//3w5f/98OX//fDl//3w5f/3
- x6H/98eh//fHof/3x6H/98eh//fHof/3x6H/98eh//fPrP/3z6z/98+s//fPrP/3z6z/98+s//fPrP/3
- z6z/+dW0//nVtP/51bT/+dW0//nVtP/51bT/+dW0//nVtP/42rz/+Nq8//javP/42rz/+Nq8//javP/4
- 2rz/+Nq8//jewf/43sH/+N7B//jewf/43sH/+N7B//jewf/43sH/+uHF//rhxf/64cX/+uHF//rhxf/6
- 4cX/+uHF//rhxf/65Mz/+uTM//rkzP/65Mz/+uTM//rkzP/65Mz/+uTM//317P/99ez//fXs//317P/9
- 9ez//fXs//317P/99ez/4s65/+LOuf/izrn/4s65/+LOuf/izrn/4s65/+LOuf+jbjuzo247s6NuO7Oj
- bjuzo247s6NuO7Ojbjuzo247swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKl0Pyip
- dD8oqXQ/KKl0PyipdD8oqXQ/KKl0PyipdD8otoVV/7aFVf+2hVX/toVV/7aFVf+2hVX/toVV/7aFVf/+
- /v3//v79//7+/f/+/v3//v79//7+/f/+/v3//v79//rewf/63sH/+t7B//rewf/63sH/+t7B//rewf/6
- 3sH/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/527//+du///nbv//527//+du///nbv//5
- 27//+du///nbv//527//+du///nbv//527//+du///nbv//527//+d3A//ndwP/53cD/+d3A//ndwP/5
- 3cD/+d3A//ndwP/627//+tu///rbv//627//+tu///rbv//627//+tu///rcwv/63ML/+tzC//rcwv/6
- 3ML/+tzC//rcwv/63ML//eve//3r3v/9697//eve//3r3v/9697//eve//3r3v/s3M3/7NzN/+zczf/s
- 3M3/7NzN/+zczf/s3M3/7NzN/6l0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXQ/KKl0PyipdD8oqXQ/KKl0PyipdD8oqXQ/KKl0Pyi2
- hVX/toVV/7aFVf+2hVX/toVV/7aFVf+2hVX/toVV//7+/f/+/v3//v79//7+/f/+/v3//v79//7+/f/+
- /v3/+t7B//rewf/63sH/+t7B//rewf/63sH/+t7B//rewf/63L7/+ty+//rcvv/63L7/+ty+//rcvv/6
- 3L7/+ty+//nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//5
- 27//+du///nbv//53cD/+d3A//ndwP/53cD/+d3A//ndwP/53cD/+d3A//rbv//627//+tu///rbv//6
- 27//+tu///rbv//627//+tzC//rcwv/63ML/+tzC//rcwv/63ML/+tzC//rcwv/9697//eve//3r3v/9
- 697//eve//3r3v/9697//eve/+zczf/s3M3/7NzN/+zczf/s3M3/7NzN/+zczf/s3M3/qXQ/yql0P8qp
- dD/KqXQ/yql0P8qpdD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp
- dD8oqXQ/KKl0PyipdD8oqXQ/KKl0PyipdD8oqXQ/KLaFVf+2hVX/toVV/7aFVf+2hVX/toVV/7aFVf+2
- hVX//v79//7+/f/+/v3//v79//7+/f/+/v3//v79//7+/f/63sH/+t7B//rewf/63sH/+t7B//rewf/6
- 3sH/+t7B//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+du///nbv//527//+du///nbv//5
- 27//+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///ndwP/53cD/+d3A//ndwP/5
- 3cD/+d3A//ndwP/53cD/+tu///rbv//627//+tu///rbv//627//+tu///rbv//63ML/+tzC//rcwv/6
- 3ML/+tzC//rcwv/63ML/+tzC//3r3v/9697//eve//3r3v/9697//eve//3r3v/9697/7NzN/+zczf/s
- 3M3/7NzN/+zczf/s3M3/7NzN/+zczf+pdD/KqXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/ygAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKl0PyipdD8oqXQ/KKl0PyipdD8oqXQ/KKl0Pyip
- dD8otoVV/7aFVf+2hVX/toVV/7aFVf+2hVX/toVV/7aFVf/+/v3//v79//7+/f/+/v3//v79//7+/f/+
- /v3//v79//rewf/63sH/+t7B//rewf/63sH/+t7B//rewf/63sH/+ty+//rcvv/63L7/+ty+//rcvv/6
- 3L7/+ty+//rcvv/527//+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//5
- 27//+du///nbv//527//+d3A//ndwP/53cD/+d3A//ndwP/53cD/+d3A//ndwP/627//+tu///rbv//6
- 27//+tu///rbv//627//+tu///rcwv/63ML/+tzC//rcwv/63ML/+tzC//rcwv/63ML//eve//3r3v/9
- 697//eve//3r3v/9697//eve//3r3v/s3M3/7NzN/+zczf/s3M3/7NzN/+zczf/s3M3/7NzN/6l0P8qp
- dD/KqXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAqXQ/KKl0PyipdD8oqXQ/KKl0PyipdD8oqXQ/KKl0Pyi2hVX/toVV/7aFVf+2hVX/toVV/7aFVf+2
- hVX/toVV//7+/f/+/v3//v79//7+/f/+/v3//v79//7+/f/+/v3/+t7B//rewf/63sH/+t7B//rewf/6
- 3sH/+t7B//rewf/63L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//nbv//527//+du///nbv//5
- 27//+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//53cD/+d3A//ndwP/5
- 3cD/+d3A//ndwP/53cD/+d3A//rbv//627//+tu///rbv//627//+tu///rbv//627//+tzC//rcwv/6
- 3ML/+tzC//rcwv/63ML/+tzC//rcwv/9697//eve//3r3v/9697//eve//3r3v/9697//eve/+zczf/s
- 3M3/7NzN/+zczf/s3M3/7NzN/+zczf/s3M3/qXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/yql0P8oA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpdD8oqXQ/KKl0PyipdD8oqXQ/KKl0Pyip
- dD8oqXQ/KLaFVf+2hVX/toVV/7aFVf+2hVX/toVV/7aFVf+2hVX//v79//7+/f/+/v3//v79//7+/f/+
- /v3//v79//7+/f/63sH/+t7B//rewf/63sH/+t7B//rewf/63sH/+t7B//rcvv/63L7/+ty+//rcvv/6
- 3L7/+ty+//rcvv/63L7/+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//5
- 27//+du///nbv//527//+du///ndwP/53cD/+d3A//ndwP/53cD/+d3A//ndwP/53cD/+tu///rbv//6
- 27//+tu///rbv//627//+tu///rbv//63ML/+tzC//rcwv/63ML/+tzC//rcwv/63ML/+tzC//3r3v/9
- 697//eve//3r3v/9697//eve//3r3v/9697/7NzN/+zczf/s3M3/7NzN/+zczf/s3M3/7NzN/+zczf+p
- dD/KqXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAKl0PyipdD8oqXQ/KKl0PyipdD8oqXQ/KKl0PyipdD8otoVV/7aFVf+2hVX/toVV/7aFVf+2
- hVX/toVV/7aFVf/+/v3//v79//7+/f/+/v3//v79//7+/f/+/v3//v79//rewf/63sH/+t7B//rewf/6
- 3sH/+t7B//rewf/63sH/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/527//+du///nbv//5
- 27//+du///nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//527//+d3A//ndwP/5
- 3cD/+d3A//ndwP/53cD/+d3A//ndwP/627//+tu///rbv//627//+tu///rbv//627//+tu///rcwv/6
- 3ML/+tzC//rcwv/63ML/+tzC//rcwv/63ML//eve//3r3v/9697//eve//3r3v/9697//eve//3r3v/s
- 3M3/7NzN/+zczf/s3M3/7NzN/+zczf/s3M3/7NzN/6l0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/yql0P8qp
- dD/KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXQ/KKl0PyipdD8oqXQ/KKl0Pyip
- dD8oqXQ/KKl0Pyi2hVX/toVV/7aFVf+2hVX/toVV/7aFVf+2hVX/toVV//7+/f/+/v3//v79//7+/f/+
- /v3//v79//7+/f/+/v3/+t7B//rewf/63sH/+t7B//rewf/63sH/+t7B//rewf/63L7/+ty+//rcvv/6
- 3L7/+ty+//rcvv/63L7/+ty+//nbv//527//+du///nbv//527//+du///nbv//527//+du///nbv//5
- 27//+du///nbv//527//+du///nbv//53cD/+d3A//ndwP/53cD/+d3A//ndwP/53cD/+d3A//rbv//6
- 27//+tu///rbv//627//+tu///rbv//627//+tzC//rcwv/63ML/+tzC//rcwv/63ML/+tzC//rcwv/9
- 697//eve//3r3v/9697//eve//3r3v/9697//eve/+zczf/s3M3/7NzN/+zczf/s3M3/7NzN/+zczf/s
- 3M3/qXQ/yql0P8qpdD/KqXQ/yql0P8qpdD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACwekIesHpCHrB6Qh6wekIesHpCHrB6Qh6wekIesHpCHriFUf+4hVH/uIVR/7iFUf+4
- hVH/uIVR/7iFUf+4hVH//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/53L7/+dy+//ncvv/5
- 3L7/+dy+//ncvv/53L7/+dy+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Ny///jcv//4
- 3L//+Ny///jcv//43L//+Ny///jcv//528H/+dvB//nbwf/528H/+dvB//nbwf/528H/+dvB//ncwP/5
- 3MD/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+d3B//ndwf/53cH/+d3B//ndwf/53cH/+d3B//ndwf/6
- 3cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//vn1P/759T/++fU//vn1P/759T/++fU//vn1P/7
- 59T/9e3i//Xt4v/17eL/9e3i//Xt4v/17eL/9e3i//Xt4v+wekLksHpC5LB6QuSwekLksHpC5LB6QuSw
- ekLksHpC5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB6Qh6wekIesHpCHrB6Qh6w
- ekIesHpCHrB6Qh6wekIeuIVR/7iFUf+4hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf/+/Pn//vz5//78+f/+
- /Pn//vz5//78+f/+/Pn//vz5//ncvv/53L7/+dy+//ncvv/53L7/+dy+//ncvv/53L7/+Nu+//jbvv/4
- 277/+Nu+//jbvv/4277/+Nu+//jbvv/43L//+Ny///jcv//43L//+Ny///jcv//43L//+Ny///nbwf/5
- 28H/+dvB//nbwf/528H/+dvB//nbwf/528H/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3cH/+d3B//ndwf/53cH/+d3B//ndwf/53cH/+d3B//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/++fU//vn1P/759T/++fU//vn1P/759T/++fU//vn1P/17eL/9e3i//Xt4v/17eL/9e3i//Xt4v/1
- 7eL/9e3i/7B6QuSwekLksHpC5LB6QuSwekLksHpC5LB6QuSwekLkAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAsHpCHrB6Qh6wekIesHpCHrB6Qh6wekIesHpCHrB6Qh64hVH/uIVR/7iFUf+4
- hVH/uIVR/7iFUf+4hVH/uIVR//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn/+dy+//ncvv/5
- 3L7/+dy+//ncvv/53L7/+dy+//ncvv/4277/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jcv//4
- 3L//+Ny///jcv//43L//+Ny///jcv//43L//+dvB//nbwf/528H/+dvB//nbwf/528H/+dvB//nbwf/5
- 3MD/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ndwf/53cH/+d3B//ndwf/53cH/+d3B//ndwf/5
- 3cH/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/759T/++fU//vn1P/759T/++fU//vn1P/7
- 59T/++fU//Xt4v/17eL/9e3i//Xt4v/17eL/9e3i//Xt4v/17eL/sHpC5LB6QuSwekLksHpC5LB6QuSw
- ekLksHpC5LB6QuQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh6w
- ekIesHpCHrB6Qh6wekIesHpCHriFUf+4hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf+4hVH//vz5//78+f/+
- /Pn//vz5//78+f/+/Pn//vz5//78+f/53L7/+dy+//ncvv/53L7/+dy+//ncvv/53L7/+dy+//jbvv/4
- 277/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Ny///jcv//43L//+Ny///jcv//43L//+Ny///jcv//5
- 28H/+dvB//nbwf/528H/+dvB//nbwf/528H/+dvB//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3MD/+d3B//ndwf/53cH/+d3B//ndwf/53cH/+d3B//ndwf/63cL/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3C//vn1P/759T/++fU//vn1P/759T/++fU//vn1P/759T/9e3i//Xt4v/17eL/9e3i//Xt4v/1
- 7eL/9e3i//Xt4v+wekLksHpC5LB6QuSwekLksHpC5LB6QuSwekLksHpC5AAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAALB6Qh6wekIesHpCHrB6Qh6wekIesHpCHrB6Qh6wekIeuIVR/7iFUf+4
- hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//ncvv/5
- 3L7/+dy+//ncvv/53L7/+dy+//ncvv/53L7/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jbvv/4
- 3L//+Ny///jcv//43L//+Ny///jcv//43L//+Ny///nbwf/528H/+dvB//nbwf/528H/+dvB//nbwf/5
- 28H/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/53cH/+d3B//ndwf/53cH/+d3B//ndwf/5
- 3cH/+d3B//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/++fU//vn1P/759T/++fU//vn1P/7
- 59T/++fU//vn1P/17eL/9e3i//Xt4v/17eL/9e3i//Xt4v/17eL/9e3i/7B6QuSwekLksHpC5LB6QuSw
- ekLksHpC5LB6QuSwekLkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHpCHrB6Qh6w
- ekIesHpCHrB6Qh6wekIesHpCHrB6Qh64hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf+4hVH/uIVR//78+f/+
- /Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn/+dy+//ncvv/53L7/+dy+//ncvv/53L7/+dy+//ncvv/4
- 277/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jcv//43L//+Ny///jcv//43L//+Ny///jcv//4
- 3L//+dvB//nbwf/528H/+dvB//nbwf/528H/+dvB//nbwf/53MD/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3MD/+dzA//ndwf/53cH/+d3B//ndwf/53cH/+d3B//ndwf/53cH/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3C//rdwv/759T/++fU//vn1P/759T/++fU//vn1P/759T/++fU//Xt4v/17eL/9e3i//Xt4v/1
- 7eL/9e3i//Xt4v/17eL/sHpC5LB6QuSwekLksHpC5LB6QuSwekLksHpC5LB6QuQAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh6wekIesHpCHrB6Qh6wekIesHpCHriFUf+4
- hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf+4hVH//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/5
- 3L7/+dy+//ncvv/53L7/+dy+//ncvv/53L7/+dy+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jbvv/4
- 277/+Ny///jcv//43L//+Ny///jcv//43L//+Ny///jcv//528H/+dvB//nbwf/528H/+dvB//nbwf/5
- 28H/+dvB//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+d3B//ndwf/53cH/+d3B//ndwf/5
- 3cH/+d3B//ndwf/63cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//vn1P/759T/++fU//vn1P/7
- 59T/++fU//vn1P/759T/9e3i//Xt4v/17eL/9e3i//Xt4v/17eL/9e3i//Xt4v+wekLksHpC5LB6QuSw
- ekLksHpC5LB6QuSwekLksHpC5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB6Qh6w
- ekIesHpCHrB6Qh6wekIesHpCHrB6Qh6wekIeuIVR/7iFUf+4hVH/uIVR/7iFUf+4hVH/uIVR/7iFUf/+
- /Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//ncvv/53L7/+dy+//ncvv/53L7/+dy+//ncvv/5
- 3L7/+Nu+//jbvv/4277/+Nu+//jbvv/4277/+Nu+//jbvv/43L//+Ny///jcv//43L//+Ny///jcv//4
- 3L//+Ny///nbwf/528H/+dvB//nbwf/528H/+dvB//nbwf/528H/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3MD/+dzA//ncwP/53cH/+d3B//ndwf/53cH/+d3B//ndwf/53cH/+d3B//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3C//rdwv/63cL/++fU//vn1P/759T/++fU//vn1P/759T/++fU//vn1P/17eL/9e3i//Xt4v/1
- 7eL/9e3i//Xt4v/17eL/9e3i/7B6QuSwekLksHpC5LB6QuSwekLksHpC5LB6QuSwekLkAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtoFGCbaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm4
- hEr/uIRK/7iESv+4hEr/uIRK/7iESv+4hEr/uIRK//779//++/f//vv3//779//++/f//vv3//779//+
- +/f/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Nu///jbv//427//+Nu///jbv//4
- 27//+Nu///jbv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d3C//ndwv/53cL/+d3C//ndwv/53cL/+d3C//ndwv/74sv/++LL//viy//7
- 4sv/++LL//viy//74sv/++LL//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX/toFG+7aBRvu2
- gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAQAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2
- gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbiESv+4hEr/uIRK/7iESv+4hEr/uIRK/7iESv+4
- hEr//vv3//779//++/f//vv3//779//++/f//vv3//779//53MD/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3MD/+dzA//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/427//+Nu///jbv//427//+Nu///jbv//427//+Nu///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53cL/+d3C//ndwv/5
- 3cL/+d3C//ndwv/53cL/+d3C//viy//74sv/++LL//viy//74sv/++LL//viy//74sv//Pn1//z59f/8
- +fX//Pn1//z59f/8+fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2gUb7toFG+7aBRgG2
- gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm2
- gUYJuIRK/7iESv+4hEr/uIRK/7iESv+4hEr/uIRK/7iESv/++/f//vv3//779//++/f//vv3//779//+
- +/f//vv3//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jbv//427//+Nu///jbv//4
- 27//+Nu///jbv//427//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndwv/53cL/+d3C//ndwv/53cL/+d3C//ndwv/53cL/++LL//viy//7
- 4sv/++LL//viy//74sv/++LL//viy//8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1/7aBRvu2
- gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2gUb7toFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgEA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAtoFGCbaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm4hEr/uIRK/7iESv+4hEr/uIRK/7iESv+4
- hEr/uIRK//779//++/f//vv3//779//++/f//vv3//779//++/f/+dzA//ncwP/53MD/+dzA//ncwP/5
- 3MD/+dzA//ncwP/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Nu///jbv//427//+Nu///jbv//427//+Nu///jbv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d3C//ndwv/5
- 3cL/+d3C//ndwv/53cL/+d3C//ndwv/74sv/++LL//viy//74sv/++LL//viy//74sv/++LL//z59f/8
- +fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX/toFG+7aBRvu2gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2
- gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm2
- gUYJtoFGCbiESv+4hEr/uIRK/7iESv+4hEr/uIRK/7iESv+4hEr//vv3//779//++/f//vv3//779//+
- +/f//vv3//779//53MD/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/427//+Nu///jbv//4
- 27//+Nu///jbv//427//+Nu///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53cL/+d3C//ndwv/53cL/+d3C//ndwv/53cL/+d3C//viy//7
- 4sv/++LL//viy//74sv/++LL//viy//74sv//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f+2
- gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2gUb7toFG+7aBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2
- gUYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAALaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm2gUYJuIRK/7iESv+4hEr/uIRK/7iESv+4
- hEr/uIRK/7iESv/++/f//vv3//779//++/f//vv3//779//++/f//vv3//ncwP/53MD/+dzA//ncwP/5
- 3MD/+dzA//ncwP/53MD/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jbv//427//+Nu///jbv//427//+Nu///jbv//427//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndwv/5
- 3cL/+d3C//ndwv/53cL/+d3C//ndwv/53cL/++LL//viy//74sv/++LL//viy//74sv/++LL//viy//8
- +fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1/7aBRvu2gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2
- gUb7toFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtoFGCbaBRgm2gUYJtoFGCbaBRgm2
- gUYJtoFGCbaBRgm4hEr/uIRK/7iESv+4hEr/uIRK/7iESv+4hEr/uIRK//779//++/f//vv3//779//+
- +/f//vv3//779//++/f/+dzA//ncwP/53MD/+dzA//ncwP/53MD/+dzA//ncwP/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Nu///jbv//4
- 27//+Nu///jbv//427//+Nu///jbv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d3C//ndwv/53cL/+d3C//ndwv/53cL/+d3C//ndwv/7
- 4sv/++LL//viy//74sv/++LL//viy//74sv/++LL//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8
- +fX/toFG+7aBRvu2gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2
- gUYBtoFGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAC2gUYJtoFGCbaBRgm2gUYJtoFGCbaBRgm2gUYJtoFGCbiESv+4hEr/uIRK/7iESv+4
- hEr/uIRK/7iESv+4hEr//vv3//779//++/f//vv3//779//++/f//vv3//779//53MD/+dzA//ncwP/5
- 3MD/+dzA//ncwP/53MD/+dzA//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/427//+Nu///jbv//427//+Nu///jbv//427//+Nu///ndv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3cL/+d3C//ndwv/53cL/+d3C//ndwv/53cL/+d3C//viy//74sv/++LL//viy//74sv/++LL//viy//7
- 4sv//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUb7toFG+7aBRvu2
- gUb7toFG+7aBRgG2gUYBtoFGAbaBRgG2gUYBtoFGAbaBRgG2gUYBAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAvIdK+byHSvm8h0r5vIdK+byHSvm8h0r5vIdK+byHSvn89vD//Pbw//z28P/8
- 9vD//Pbw//z28P/89vD//Pbw//nfx//538f/+d/H//nfx//538f/+d/H//nfx//538f/+dy8//ncvP/5
- 3Lz/+dy8//ncvP/53Lz/+dy8//ncvP/63L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rbwP/6
- 28D/+tvA//rbwP/628D/+tvA//rbwP/628D/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cH/+t3B//rdwf/63cH/+t3B//rdwf/63cH/+t3B//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//5
- 3cP/++DJ//vgyf/74Mn/++DJ//vgyf/74Mn/++DJ//vgyf///Pr///z6///8+v///Pr///z6///8+v//
- /Pr///z6/8CMUv/AjFL/wIxS/8CMUv/AjFL/wIxS/8CMUv/AjFL/vIdKD7yHSg+8h0oPvIdKD7yHSg+8
- h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8h0r5vIdK+byHSvm8
- h0r5vIdK+byHSvm8h0r5vIdK+fz28P/89vD//Pbw//z28P/89vD//Pbw//z28P/89vD/+d/H//nfx//5
- 38f/+d/H//nfx//538f/+d/H//nfx//53Lz/+dy8//ncvP/53Lz/+dy8//ncvP/53Lz/+dy8//rcvv/6
- 3L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+tvA//rbwP/628D/+tvA//rbwP/628D/+tvA//rbwP/6
- 3cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwf/63cH/+t3B//rdwf/63cH/+t3B//rdwf/6
- 3cH/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//74Mn/++DJ//vgyf/74Mn/++DJ//vgyf/7
- 4Mn/++DJ///8+v///Pr///z6///8+v///Pr///z6///8+v///Pr/wIxS/8CMUv/AjFL/wIxS/8CMUv/A
- jFL/wIxS/8CMUv+8h0oPvIdKD7yHSg+8h0oPvIdKD7yHSg+8h0oPvIdKDwAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAALyHSvm8h0r5vIdK+byHSvm8h0r5vIdK+byHSvm8h0r5/Pbw//z28P/8
- 9vD//Pbw//z28P/89vD//Pbw//z28P/538f/+d/H//nfx//538f/+d/H//nfx//538f/+d/H//ncvP/5
- 3Lz/+dy8//ncvP/53Lz/+dy8//ncvP/53Lz/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/6
- 28D/+tvA//rbwP/628D/+tvA//rbwP/628D/+tvA//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3B//rdwf/63cH/+t3B//rdwf/63cH/+t3B//rdwf/53cP/+d3D//ndw//53cP/+d3D//ndw//5
- 3cP/+d3D//vgyf/74Mn/++DJ//vgyf/74Mn/++DJ//vgyf/74Mn///z6///8+v///Pr///z6///8+v//
- /Pr///z6///8+v/AjFL/wIxS/8CMUv/AjFL/wIxS/8CMUv/AjFL/wIxS/7yHSg+8h0oPvIdKD7yHSg+8
- h0oPvIdKD7yHSg+8h0oPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvIdK+byHSvm8
- h0r5vIdK+byHSvm8h0r5vIdK+byHSvn89vD//Pbw//z28P/89vD//Pbw//z28P/89vD//Pbw//nfx//5
- 38f/+d/H//nfx//538f/+d/H//nfx//538f/+dy8//ncvP/53Lz/+dy8//ncvP/53Lz/+dy8//ncvP/6
- 3L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rbwP/628D/+tvA//rbwP/628D/+tvA//rbwP/6
- 28D/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/63cH/+t3B//rdwf/63cH/+t3B//rdwf/6
- 3cH/+t3B//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//53cP/++DJ//vgyf/74Mn/++DJ//vgyf/7
- 4Mn/++DJ//vgyf///Pr///z6///8+v///Pr///z6///8+v///Pr///z6/8CMUv/AjFL/wIxS/8CMUv/A
- jFL/wIxS/8CMUv/AjFL/vIdKD7yHSg+8h0oPvIdKD7yHSg+8h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8h0r5vIdK+byHSvm8h0r5vIdK+byHSvm8h0r5vIdK+fz28P/8
- 9vD//Pbw//z28P/89vD//Pbw//z28P/89vD/+d/H//nfx//538f/+d/H//nfx//538f/+d/H//nfx//5
- 3Lz/+dy8//ncvP/53Lz/+dy8//ncvP/53Lz/+dy8//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/6
- 3L7/+tvA//rbwP/628D/+tvA//rbwP/628D/+tvA//rbwP/63cL/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3C//rdwf/63cH/+t3B//rdwf/63cH/+t3B//rdwf/63cH/+d3D//ndw//53cP/+d3D//ndw//5
- 3cP/+d3D//ndw//74Mn/++DJ//vgyf/74Mn/++DJ//vgyf/74Mn/++DJ///8+v///Pr///z6///8+v//
- /Pr///z6///8+v///Pr/wIxS/8CMUv/AjFL/wIxS/8CMUv/AjFL/wIxS/8CMUv+8h0oPvIdKD7yHSg+8
- h0oPvIdKD7yHSg+8h0oPvIdKDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyHSvm8
- h0r5vIdK+byHSvm8h0r5vIdK+byHSvm8h0r5/Pbw//z28P/89vD//Pbw//z28P/89vD//Pbw//z28P/5
- 38f/+d/H//nfx//538f/+d/H//nfx//538f/+d/H//ncvP/53Lz/+dy8//ncvP/53Lz/+dy8//ncvP/5
- 3Lz/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/628D/+tvA//rbwP/628D/+tvA//rbwP/6
- 28D/+tvA//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3B//rdwf/63cH/+t3B//rdwf/6
- 3cH/+t3B//rdwf/53cP/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//vgyf/74Mn/++DJ//vgyf/7
- 4Mn/++DJ//vgyf/74Mn///z6///8+v///Pr///z6///8+v///Pr///z6///8+v/AjFL/wIxS/8CMUv/A
- jFL/wIxS/8CMUv/AjFL/wIxS/7yHSg+8h0oPvIdKD7yHSg+8h0oPvIdKD7yHSg+8h0oPAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvIdK+byHSvm8h0r5vIdK+byHSvm8h0r5vIdK+byHSvn8
- 9vD//Pbw//z28P/89vD//Pbw//z28P/89vD//Pbw//nfx//538f/+d/H//nfx//538f/+d/H//nfx//5
- 38f/+dy8//ncvP/53Lz/+dy8//ncvP/53Lz/+dy8//ncvP/63L7/+ty+//rcvv/63L7/+ty+//rcvv/6
- 3L7/+ty+//rbwP/628D/+tvA//rbwP/628D/+tvA//rbwP/628D/+t3C//rdwv/63cL/+t3C//rdwv/6
- 3cL/+t3C//rdwv/63cH/+t3B//rdwf/63cH/+t3B//rdwf/63cH/+t3B//ndw//53cP/+d3D//ndw//5
- 3cP/+d3D//ndw//53cP/++DJ//vgyf/74Mn/++DJ//vgyf/74Mn/++DJ//vgyf///Pr///z6///8+v//
- /Pr///z6///8+v///Pr///z6/8CMUv/AjFL/wIxS/8CMUv/AjFL/wIxS/8CMUv/AjFL/vIdKD7yHSg+8
- h0oPvIdKD7yHSg+8h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8
- h0r5vIdK+byHSvm8h0r5vIdK+byHSvm8h0r5vIdK+fz28P/89vD//Pbw//z28P/89vD//Pbw//z28P/8
- 9vD/+d/H//nfx//538f/+d/H//nfx//538f/+d/H//nfx//53Lz/+dy8//ncvP/53Lz/+dy8//ncvP/5
- 3Lz/+dy8//rcvv/63L7/+ty+//rcvv/63L7/+ty+//rcvv/63L7/+tvA//rbwP/628D/+tvA//rbwP/6
- 28D/+tvA//rbwP/63cL/+t3C//rdwv/63cL/+t3C//rdwv/63cL/+t3C//rdwf/63cH/+t3B//rdwf/6
- 3cH/+t3B//rdwf/63cH/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//74Mn/++DJ//vgyf/7
- 4Mn/++DJ//vgyf/74Mn/++DJ///8+v///Pr///z6///8+v///Pr///z6///8+v///Pr/wIxS/8CMUv/A
- jFL/wIxS/8CMUv/AjFL/wIxS/8CMUv+8h0oPvIdKD7yHSg+8h0oPvIdKD7yHSg+8h0oPvIdKDwAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMONTdrDjU3aw41N2sONTdrDjU3aw41N2sONTdrD
- jU3a9efY//Xn2P/159j/9efY//Xn2P/159j/9efY//Xn2P/65dL/+uXS//rl0v/65dL/+uXS//rl0v/6
- 5dL/+uXS//nau//52rv/+dq7//nau//52rv/+dq7//nau//52rv/+du7//nbu//527v/+du7//nbu//5
- 27v/+du7//nbu//6277/+tu+//rbvv/6277/+tu+//rbvv/6277/+tu+//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/53cP/+d3D//ndw//5
- 3cP/+d3D//ndw//53cP/+d3D//vhyP/74cj/++HI//vhyP/74cj/++HI//vhyP/74cj///37///9+///
- /fv///37///9+////fv///37///9+//Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8ONTRLD
- jU0Sw41NEsONTRLDjU0Sw41NEsONTRLDjU0SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAw41N2sONTdrDjU3aw41N2sONTdrDjU3aw41N2sONTdr159j/9efY//Xn2P/159j/9efY//Xn2P/1
- 59j/9efY//rl0v/65dL/+uXS//rl0v/65dL/+uXS//rl0v/65dL/+dq7//nau//52rv/+dq7//nau//5
- 2rv/+dq7//nau//527v/+du7//nbu//527v/+du7//nbu//527v/+du7//rbvv/6277/+tu+//rbvv/6
- 277/+tu+//rbvv/6277/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//53cP/++HI//vhyP/7
- 4cj/++HI//vhyP/74cj/++HI//vhyP///fv///37///9+////fv///37///9+////fv///37/8iTVv/I
- k1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/w41NEsONTRLDjU0Sw41NEsONTRLDjU0Sw41NEsONTRIA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDjU3aw41N2sONTdrDjU3aw41N2sONTdrD
- jU3aw41N2vXn2P/159j/9efY//Xn2P/159j/9efY//Xn2P/159j/+uXS//rl0v/65dL/+uXS//rl0v/6
- 5dL/+uXS//rl0v/52rv/+dq7//nau//52rv/+dq7//nau//52rv/+dq7//nbu//527v/+du7//nbu//5
- 27v/+du7//nbu//527v/+tu+//rbvv/6277/+tu+//rbvv/6277/+tu+//rbvv/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+d3D//ndw//5
- 3cP/+d3D//ndw//53cP/+d3D//ndw//74cj/++HI//vhyP/74cj/++HI//vhyP/74cj/++HI///9+///
- /fv///37///9+////fv///37///9+////fv/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/D
- jU0Sw41NEsONTRLDjU0Sw41NEsONTRLDjU0Sw41NEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAMONTdrDjU3aw41N2sONTdrDjU3aw41N2sONTdrDjU3a9efY//Xn2P/159j/9efY//Xn2P/1
- 59j/9efY//Xn2P/65dL/+uXS//rl0v/65dL/+uXS//rl0v/65dL/+uXS//nau//52rv/+dq7//nau//5
- 2rv/+dq7//nau//52rv/+du7//nbu//527v/+du7//nbu//527v/+du7//nbu//6277/+tu+//rbvv/6
- 277/+tu+//rbvv/6277/+tu+//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/53cP/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//vhyP/7
- 4cj/++HI//vhyP/74cj/++HI//vhyP/74cj///37///9+////fv///37///9+////fv///37///9+//I
- k1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8ONTRLDjU0Sw41NEsONTRLDjU0Sw41NEsONTRLD
- jU0SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw41N2sONTdrDjU3aw41N2sONTdrD
- jU3aw41N2sONTdr159j/9efY//Xn2P/159j/9efY//Xn2P/159j/9efY//rl0v/65dL/+uXS//rl0v/6
- 5dL/+uXS//rl0v/65dL/+dq7//nau//52rv/+dq7//nau//52rv/+dq7//nau//527v/+du7//nbu//5
- 27v/+du7//nbu//527v/+du7//rbvv/6277/+tu+//rbvv/6277/+tu+//rbvv/6277/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//ndw//5
- 3cP/+d3D//ndw//53cP/+d3D//ndw//53cP/++HI//vhyP/74cj/++HI//vhyP/74cj/++HI//vhyP//
- /fv///37///9+////fv///37///9+////fv///37/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/I
- k1b/w41NEsONTRLDjU0Sw41NEsONTRLDjU0Sw41NEsONTRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADDjU3aw41N2sONTdrDjU3aw41N2sONTdrDjU3aw41N2vXn2P/159j/9efY//Xn2P/1
- 59j/9efY//Xn2P/159j/+uXS//rl0v/65dL/+uXS//rl0v/65dL/+uXS//rl0v/52rv/+dq7//nau//5
- 2rv/+dq7//nau//52rv/+dq7//nbu//527v/+du7//nbu//527v/+du7//nbu//527v/+tu+//rbvv/6
- 277/+tu+//rbvv/6277/+tu+//rbvv/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//7
- 4cj/++HI//vhyP/74cj/++HI//vhyP/74cj/++HI///9+////fv///37///9+////fv///37///9+///
- /fv/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/DjU0Sw41NEsONTRLDjU0Sw41NEsONTRLD
- jU0Sw41NEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMONTdrDjU3aw41N2sONTdrD
- jU3aw41N2sONTdrDjU3a9efY//Xn2P/159j/9efY//Xn2P/159j/9efY//Xn2P/65dL/+uXS//rl0v/6
- 5dL/+uXS//rl0v/65dL/+uXS//nau//52rv/+dq7//nau//52rv/+dq7//nau//52rv/+du7//nbu//5
- 27v/+du7//nbu//527v/+du7//nbu//6277/+tu+//rbvv/6277/+tu+//rbvv/6277/+tu+//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/5
- 3cP/+d3D//ndw//53cP/+d3D//ndw//53cP/+d3D//vhyP/74cj/++HI//vhyP/74cj/++HI//vhyP/7
- 4cj///37///9+////fv///37///9+////fv///37///9+//Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/I
- k1b/yJNW/8ONTRLDjU0Sw41NEsONTRLDjU0Sw41NEsONTRLDjU0SAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAw41N2sONTdrDjU3aw41N2sONTdrDjU3aw41N2sONTdr159j/9efY//Xn2P/1
- 59j/9efY//Xn2P/159j/9efY//rl0v/65dL/+uXS//rl0v/65dL/+uXS//rl0v/65dL/+dq7//nau//5
- 2rv/+dq7//nau//52rv/+dq7//nau//527v/+du7//nbu//527v/+du7//nbu//527v/+du7//rbvv/6
- 277/+tu+//rbvv/6277/+tu+//rbvv/6277/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//ndw//53cP/+d3D//ndw//53cP/+d3D//ndw//5
- 3cP/++HI//vhyP/74cj/++HI//vhyP/74cj/++HI//vhyP///fv///37///9+////fv///37///9+///
- /fv///37/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/yJNW/8iTVv/Ik1b/w41NEsONTRLDjU0Sw41NEsONTRLD
- jU0Sw41NEsONTRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKk1G7ypNRu8qTUbvK
- k1G7ypNRu8qTUbvKk1G7ypNRu/DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//DZwP/w2cD/++3h//vt4f/7
- 7eH/++3h//vt4f/77eH/++3h//vt4f/52r//+dq///nav//52r//+dq///nav//52r//+dq///ncwf/5
- 3MH/+dzB//ncwf/53MH/+dzB//ncwf/53MH/+d7E//nexP/53sT/+d7E//nexP/53sT/+d7E//nexP/6
- 4Mf/+uDH//rgx//64Mf/+uDH//rgx//64Mf/+uDH//riyv/64sr/+uLK//riyv/64sr/+uLK//riyv/6
- 4sr/+uLN//rizf/64s3/+uLN//rizf/64s3/+uLN//rizf/65dD/+uXQ//rl0P/65dD/+uXQ//rl0P/6
- 5dD/+uXQ///+/f///v3///79///+/f///v3///79///+/f///v3/y45Z/8uOWf/Ljln/y45Z/8uOWf/L
- jln/y45Z/8uOWf/Kk1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1HxypNR8cqTUUXKk1FFypNRRcqTUUXK
- k1FFypNRRcqTUUXKk1FFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAMqTUbvKk1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvKk1G78NnA//DZwP/w
- 2cD/8NnA//DZwP/w2cD/8NnA//DZwP/77eH/++3h//vt4f/77eH/++3h//vt4f/77eH/++3h//nav//5
- 2r//+dq///nav//52r//+dq///nav//52r//+dzB//ncwf/53MH/+dzB//ncwf/53MH/+dzB//ncwf/5
- 3sT/+d7E//nexP/53sT/+d7E//nexP/53sT/+d7E//rgx//64Mf/+uDH//rgx//64Mf/+uDH//rgx//6
- 4Mf/+uLK//riyv/64sr/+uLK//riyv/64sr/+uLK//riyv/64s3/+uLN//rizf/64s3/+uLN//rizf/6
- 4s3/+uLN//rl0P/65dD/+uXQ//rl0P/65dD/+uXQ//rl0P/65dD///79///+/f///v3///79///+/f//
- /v3///79///+/f/Ljln/y45Z/8uOWf/Ljln/y45Z/8uOWf/Ljln/y45Z/8qTUfHKk1HxypNR8cqTUfHK
- k1HxypNR8cqTUfHKk1HxypNRRcqTUUXKk1FFypNRRcqTUUXKk1FFypNRRcqTUUUAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypNRu8qTUbvK
- k1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvw2cD/8NnA//DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//vt4f/7
- 7eH/++3h//vt4f/77eH/++3h//vt4f/77eH/+dq///nav//52r//+dq///nav//52r//+dq///nav//5
- 3MH/+dzB//ncwf/53MH/+dzB//ncwf/53MH/+dzB//nexP/53sT/+d7E//nexP/53sT/+d7E//nexP/5
- 3sT/+uDH//rgx//64Mf/+uDH//rgx//64Mf/+uDH//rgx//64sr/+uLK//riyv/64sr/+uLK//riyv/6
- 4sr/+uLK//rizf/64s3/+uLN//rizf/64s3/+uLN//rizf/64s3/+uXQ//rl0P/65dD/+uXQ//rl0P/6
- 5dD/+uXQ//rl0P///v3///79///+/f///v3///79///+/f///v3///79/8uOWf/Ljln/y45Z/8uOWf/L
- jln/y45Z/8uOWf/Ljln/ypNR8cqTUfHKk1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1FFypNRRcqTUUXK
- k1FFypNRRcqTUUXKk1FFypNRRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKk1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvKk1G7ypNRu/DZwP/w
- 2cD/8NnA//DZwP/w2cD/8NnA//DZwP/w2cD/++3h//vt4f/77eH/++3h//vt4f/77eH/++3h//vt4f/5
- 2r//+dq///nav//52r//+dq///nav//52r//+dq///ncwf/53MH/+dzB//ncwf/53MH/+dzB//ncwf/5
- 3MH/+d7E//nexP/53sT/+d7E//nexP/53sT/+d7E//nexP/64Mf/+uDH//rgx//64Mf/+uDH//rgx//6
- 4Mf/+uDH//riyv/64sr/+uLK//riyv/64sr/+uLK//riyv/64sr/+uLN//rizf/64s3/+uLN//rizf/6
- 4s3/+uLN//rizf/65dD/+uXQ//rl0P/65dD/+uXQ//rl0P/65dD/+uXQ///+/f///v3///79///+/f//
- /v3///79///+/f///v3/y45Z/8uOWf/Ljln/y45Z/8uOWf/Ljln/y45Z/8uOWf/Kk1HxypNR8cqTUfHK
- k1HxypNR8cqTUfHKk1HxypNR8cqTUUXKk1FFypNRRcqTUUXKk1FFypNRRcqTUUXKk1FFAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqTUbvK
- k1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvKk1G78NnA//DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//DZwP/7
- 7eH/++3h//vt4f/77eH/++3h//vt4f/77eH/++3h//nav//52r//+dq///nav//52r//+dq///nav//5
- 2r//+dzB//ncwf/53MH/+dzB//ncwf/53MH/+dzB//ncwf/53sT/+d7E//nexP/53sT/+d7E//nexP/5
- 3sT/+d7E//rgx//64Mf/+uDH//rgx//64Mf/+uDH//rgx//64Mf/+uLK//riyv/64sr/+uLK//riyv/6
- 4sr/+uLK//riyv/64s3/+uLN//rizf/64s3/+uLN//rizf/64s3/+uLN//rl0P/65dD/+uXQ//rl0P/6
- 5dD/+uXQ//rl0P/65dD///79///+/f///v3///79///+/f///v3///79///+/f/Ljln/y45Z/8uOWf/L
- jln/y45Z/8uOWf/Ljln/y45Z/8qTUfHKk1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1HxypNRRcqTUUXK
- k1FFypNRRcqTUUXKk1FFypNRRcqTUUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypNRu8qTUbvKk1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvw
- 2cD/8NnA//DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//vt4f/77eH/++3h//vt4f/77eH/++3h//vt4f/7
- 7eH/+dq///nav//52r//+dq///nav//52r//+dq///nav//53MH/+dzB//ncwf/53MH/+dzB//ncwf/5
- 3MH/+dzB//nexP/53sT/+d7E//nexP/53sT/+d7E//nexP/53sT/+uDH//rgx//64Mf/+uDH//rgx//6
- 4Mf/+uDH//rgx//64sr/+uLK//riyv/64sr/+uLK//riyv/64sr/+uLK//rizf/64s3/+uLN//rizf/6
- 4s3/+uLN//rizf/64s3/+uXQ//rl0P/65dD/+uXQ//rl0P/65dD/+uXQ//rl0P///v3///79///+/f//
- /v3///79///+/f///v3///79/8uOWf/Ljln/y45Z/8uOWf/Ljln/y45Z/8uOWf/Ljln/ypNR8cqTUfHK
- k1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1FFypNRRcqTUUXKk1FFypNRRcqTUUXKk1FFypNRRQAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK
- k1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvKk1G7ypNRu/DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//DZwP/w
- 2cD/++3h//vt4f/77eH/++3h//vt4f/77eH/++3h//vt4f/52r//+dq///nav//52r//+dq///nav//5
- 2r//+dq///ncwf/53MH/+dzB//ncwf/53MH/+dzB//ncwf/53MH/+d7E//nexP/53sT/+d7E//nexP/5
- 3sT/+d7E//nexP/64Mf/+uDH//rgx//64Mf/+uDH//rgx//64Mf/+uDH//riyv/64sr/+uLK//riyv/6
- 4sr/+uLK//riyv/64sr/+uLN//rizf/64s3/+uLN//rizf/64s3/+uLN//rizf/65dD/+uXQ//rl0P/6
- 5dD/+uXQ//rl0P/65dD/+uXQ///+/f///v3///79///+/f///v3///79///+/f///v3/y45Z/8uOWf/L
- jln/y45Z/8uOWf/Ljln/y45Z/8uOWf/Kk1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1HxypNR8cqTUUXK
- k1FFypNRRcqTUUXKk1FFypNRRcqTUUXKk1FFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqTUbvKk1G7ypNRu8qTUbvKk1G7ypNRu8qTUbvK
- k1G78NnA//DZwP/w2cD/8NnA//DZwP/w2cD/8NnA//DZwP/77eH/++3h//vt4f/77eH/++3h//vt4f/7
- 7eH/++3h//nav//52r//+dq///nav//52r//+dq///nav//52r//+dzB//ncwf/53MH/+dzB//ncwf/5
- 3MH/+dzB//ncwf/53sT/+d7E//nexP/53sT/+d7E//nexP/53sT/+d7E//rgx//64Mf/+uDH//rgx//6
- 4Mf/+uDH//rgx//64Mf/+uLK//riyv/64sr/+uLK//riyv/64sr/+uLK//riyv/64s3/+uLN//rizf/6
- 4s3/+uLN//rizf/64s3/+uLN//rl0P/65dD/+uXQ//rl0P/65dD/+uXQ//rl0P/65dD///79///+/f//
- /v3///79///+/f///v3///79///+/f/Ljln/y45Z/8uOWf/Ljln/y45Z/8uOWf/Ljln/y45Z/8qTUfHK
- k1HxypNR8cqTUfHKk1HxypNR8cqTUfHKk1HxypNRRcqTUUXKk1FFypNRRcqTUUXKk1FFypNRRcqTUUUA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAA0JlUpNCZVKTQmVSk0JlUpNCZVKTQmVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t
- 0LH/7dCx///28P//9vD///bw///28P//9vD///bw///28P//9vD/+uHK//rhyv/64cr/+uHK//rhyv/6
- 4cr/+uHK//rhyv/748z/++PM//vjzP/748z/++PM//vjzP/748z/++PM//vj0P/749D/++PQ//vj0P/7
- 49D/++PQ//vj0P/749D/++bT//vm0//75tP/++bT//vm0//75tP/++bT//vm0//76dX/++nV//vp1f/7
- 6dX/++nV//vp1f/76dX/++nV//zp2P/86dj//OnY//zp2P/86dj//OnY//zp2P/86dj//Orb//zq2//8
- 6tv//Orb//zq2//86tv//Orb//zq2/////3////9/////f////3////9/////f////3////9/9KccP/S
- nHD/0pxw/9KccP/SnHD/0pxw/9KccP/SnHD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/Q
- mVTl0JlU5dCZVOXQmVTl0JlU5dCZVOXQmVTl0JlU5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTQmVSk0JlUpNCZVKTQ
- mVSk0JlUpO3Qsf/t0LH/7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t0LH///bw///28P//9vD///bw///28P//
- 9vD///bw///28P/64cr/+uHK//rhyv/64cr/+uHK//rhyv/64cr/+uHK//vjzP/748z/++PM//vjzP/7
- 48z/++PM//vjzP/748z/++PQ//vj0P/749D/++PQ//vj0P/749D/++PQ//vj0P/75tP/++bT//vm0//7
- 5tP/++bT//vm0//75tP/++bT//vp1f/76dX/++nV//vp1f/76dX/++nV//vp1f/76dX//OnY//zp2P/8
- 6dj//OnY//zp2P/86dj//OnY//zp2P/86tv//Orb//zq2//86tv//Orb//zq2//86tv//Orb/////f//
- //3////9/////f////3////9/////f////3/0pxw/9KccP/SnHD/0pxw/9KccP/SnHD/0pxw/9KccP/u
- 2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/9CZVOXQmVTl0JlU5dCZVOXQmVTl0JlU5dCZVOXQ
- mVTlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAANCZVKTQmVSk0JlUpNCZVKTQmVSk0JlUpNCZVKTQmVSk7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t
- 0LH/7dCx/+3Qsf//9vD///bw///28P//9vD///bw///28P//9vD///bw//rhyv/64cr/+uHK//rhyv/6
- 4cr/+uHK//rhyv/64cr/++PM//vjzP/748z/++PM//vjzP/748z/++PM//vjzP/749D/++PQ//vj0P/7
- 49D/++PQ//vj0P/749D/++PQ//vm0//75tP/++bT//vm0//75tP/++bT//vm0//75tP/++nV//vp1f/7
- 6dX/++nV//vp1f/76dX/++nV//vp1f/86dj//OnY//zp2P/86dj//OnY//zp2P/86dj//OnY//zq2//8
- 6tv//Orb//zq2//86tv//Orb//zq2//86tv////9/////f////3////9/////f////3////9/////f/S
- nHD/0pxw/9KccP/SnHD/0pxw/9KccP/SnHD/0pxw/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u
- 2cD/0JlU5dCZVOXQmVTl0JlU5dCZVOXQmVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0JlUpNCZVKTQmVSk0JlUpNCZVKTQ
- mVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t0LH/7dCx///28P//9vD///bw///28P//
- 9vD///bw///28P//9vD/+uHK//rhyv/64cr/+uHK//rhyv/64cr/+uHK//rhyv/748z/++PM//vjzP/7
- 48z/++PM//vjzP/748z/++PM//vj0P/749D/++PQ//vj0P/749D/++PQ//vj0P/749D/++bT//vm0//7
- 5tP/++bT//vm0//75tP/++bT//vm0//76dX/++nV//vp1f/76dX/++nV//vp1f/76dX/++nV//zp2P/8
- 6dj//OnY//zp2P/86dj//OnY//zp2P/86dj//Orb//zq2//86tv//Orb//zq2//86tv//Orb//zq2///
- //3////9/////f////3////9/////f////3////9/9KccP/SnHD/0pxw/9KccP/SnHD/0pxw/9KccP/S
- nHD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/QmVTl0JlU5dCZVOXQmVTl0JlU5dCZVOXQ
- mVTl0JlU5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADQmVSk0JlUpNCZVKTQmVSk0JlUpNCZVKTQmVSk0JlUpO3Qsf/t0LH/7dCx/+3Qsf/t
- 0LH/7dCx/+3Qsf/t0LH///bw///28P//9vD///bw///28P//9vD///bw///28P/64cr/+uHK//rhyv/6
- 4cr/+uHK//rhyv/64cr/+uHK//vjzP/748z/++PM//vjzP/748z/++PM//vjzP/748z/++PQ//vj0P/7
- 49D/++PQ//vj0P/749D/++PQ//vj0P/75tP/++bT//vm0//75tP/++bT//vm0//75tP/++bT//vp1f/7
- 6dX/++nV//vp1f/76dX/++nV//vp1f/76dX//OnY//zp2P/86dj//OnY//zp2P/86dj//OnY//zp2P/8
- 6tv//Orb//zq2//86tv//Orb//zq2//86tv//Orb/////f////3////9/////f////3////9/////f//
- //3/0pxw/9KccP/SnHD/0pxw/9KccP/SnHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u
- 2cD/7tnA/9CZVOXQmVTl0JlU5dCZVOXQmVTl0JlU5dCZVOXQmVTlAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCZVKTQmVSk0JlUpNCZVKTQ
- mVSk0JlUpNCZVKTQmVSk7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t0LH/7dCx/+3Qsf//9vD///bw///28P//
- 9vD///bw///28P//9vD///bw//rhyv/64cr/+uHK//rhyv/64cr/+uHK//rhyv/64cr/++PM//vjzP/7
- 48z/++PM//vjzP/748z/++PM//vjzP/749D/++PQ//vj0P/749D/++PQ//vj0P/749D/++PQ//vm0//7
- 5tP/++bT//vm0//75tP/++bT//vm0//75tP/++nV//vp1f/76dX/++nV//vp1f/76dX/++nV//vp1f/8
- 6dj//OnY//zp2P/86dj//OnY//zp2P/86dj//OnY//zq2//86tv//Orb//zq2//86tv//Orb//zq2//8
- 6tv////9/////f////3////9/////f////3////9/////f/SnHD/0pxw/9KccP/SnHD/0pxw/9KccP/S
- nHD/0pxw/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/0JlU5dCZVOXQmVTl0JlU5dCZVOXQ
- mVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAA0JlUpNCZVKTQmVSk0JlUpNCZVKTQmVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf/t
- 0LH/7dCx/+3Qsf/t0LH/7dCx///28P//9vD///bw///28P//9vD///bw///28P//9vD/+uHK//rhyv/6
- 4cr/+uHK//rhyv/64cr/+uHK//rhyv/748z/++PM//vjzP/748z/++PM//vjzP/748z/++PM//vj0P/7
- 49D/++PQ//vj0P/749D/++PQ//vj0P/749D/++bT//vm0//75tP/++bT//vm0//75tP/++bT//vm0//7
- 6dX/++nV//vp1f/76dX/++nV//vp1f/76dX/++nV//zp2P/86dj//OnY//zp2P/86dj//OnY//zp2P/8
- 6dj//Orb//zq2//86tv//Orb//zq2//86tv//Orb//zq2/////3////9/////f////3////9/////f//
- //3////9/9KccP/SnHD/0pxw/9KccP/SnHD/0pxw/9KccP/SnHD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u
- 2cD/7tnA/+7ZwP/QmVTl0JlU5dCZVOXQmVTl0JlU5dCZVOXQmVTl0JlU5QAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTQ
- mVSk0JlUpNCZVKTQmVSk0JlUpO3Qsf/t0LH/7dCx/+3Qsf/t0LH/7dCx/+3Qsf/t0LH///bw///28P//
- 9vD///bw///28P//9vD///bw///28P/64cr/+uHK//rhyv/64cr/+uHK//rhyv/64cr/+uHK//vjzP/7
- 48z/++PM//vjzP/748z/++PM//vjzP/748z/++PQ//vj0P/749D/++PQ//vj0P/749D/++PQ//vj0P/7
- 5tP/++bT//vm0//75tP/++bT//vm0//75tP/++bT//vp1f/76dX/++nV//vp1f/76dX/++nV//vp1f/7
- 6dX//OnY//zp2P/86dj//OnY//zp2P/86dj//OnY//zp2P/86tv//Orb//zq2//86tv//Orb//zq2//8
- 6tv//Orb/////f////3////9/////f////3////9/////f////3/0pxw/9KccP/SnHD/0pxw/9KccP/S
- nHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/u2cD/7tnA/+7ZwP/u2cD/7tnA/9CZVOXQmVTl0JlU5dCZVOXQ
- mVTl0JlU5dCZVOXQmVTlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAANWeV5LVnleS1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS68qk/+vKpP/r
- yqT/68qk/+vKpP/ryqT/68qk/+vKpP///fv///37///9+////fv///37///9+////fv///37//3p1f/9
- 6dX//enV//3p1f/96dX//enV//3p1f/96dX//evY//3r2P/969j//evY//3r2P/969j//evY//3r2P/9
- 6tv//erb//3q2//96tv//erb//3q2//96tv//erb//3t3//97d///e3f//3t3//97d///e3f//3t3//9
- 7d///fDi//3w4v/98OL//fDi//3w4v/98OL//fDi//3w4v/98eT//fHk//3x5P/98eT//fHk//3x5P/9
- 8eT//fHk//zw5P/88OT//PDk//zw5P/88OT//PDk//zw5P/88OT/////////////////////////////
- ///////////////gn2//4J9v/+Cfb//gn2//4J9v/+Cfb//gn2//4J9v///7+f//+/n///v5///7+f//
- +/n///v5///7+f//+/n/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/37eG/9+3hv8AAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1Z5XktWeV5LV
- nleS1Z5XktWeV5LVnleS1Z5XktWeV5LryqT/68qk/+vKpP/ryqT/68qk/+vKpP/ryqT/68qk///9+///
- /fv///37///9+////fv///37///9+////fv//enV//3p1f/96dX//enV//3p1f/96dX//enV//3p1f/9
- 69j//evY//3r2P/969j//evY//3r2P/969j//evY//3q2//96tv//erb//3q2//96tv//erb//3q2//9
- 6tv//e3f//3t3//97d///e3f//3t3//97d///e3f//3t3//98OL//fDi//3w4v/98OL//fDi//3w4v/9
- 8OL//fDi//3x5P/98eT//fHk//3x5P/98eT//fHk//3x5P/98eT//PDk//zw5P/88OT//PDk//zw5P/8
- 8OT//PDk//zw5P///////////////////////////////////////////+Cfb//gn2//4J9v/+Cfb//g
- n2//4J9v/+Cfb//gn2////v5///7+f//+/n///v5///7+f//+/n///v5///7+f/ft4b/37eG/9+3hv/f
- t4b/37eG/9+3hv/ft4b/37eG/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVnleS1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS1Z5XkuvKpP/r
- yqT/68qk/+vKpP/ryqT/68qk/+vKpP/ryqT///37///9+////fv///37///9+////fv///37///9+//9
- 6dX//enV//3p1f/96dX//enV//3p1f/96dX//enV//3r2P/969j//evY//3r2P/969j//evY//3r2P/9
- 69j//erb//3q2//96tv//erb//3q2//96tv//erb//3q2//97d///e3f//3t3//97d///e3f//3t3//9
- 7d///e3f//3w4v/98OL//fDi//3w4v/98OL//fDi//3w4v/98OL//fHk//3x5P/98eT//fHk//3x5P/9
- 8eT//fHk//3x5P/88OT//PDk//zw5P/88OT//PDk//zw5P/88OT//PDk////////////////////////
- ////////////////////4J9v/+Cfb//gn2//4J9v/+Cfb//gn2//4J9v/+Cfb///+/n///v5///7+f//
- +/n///v5///7+f//+/n///v5/9+3hv/ft4b/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/AAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWeV5LV
- nleS1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS68qk/+vKpP/ryqT/68qk/+vKpP/ryqT/68qk/+vKpP//
- /fv///37///9+////fv///37///9+////fv///37//3p1f/96dX//enV//3p1f/96dX//enV//3p1f/9
- 6dX//evY//3r2P/969j//evY//3r2P/969j//evY//3r2P/96tv//erb//3q2//96tv//erb//3q2//9
- 6tv//erb//3t3//97d///e3f//3t3//97d///e3f//3t3//97d///fDi//3w4v/98OL//fDi//3w4v/9
- 8OL//fDi//3w4v/98eT//fHk//3x5P/98eT//fHk//3x5P/98eT//fHk//zw5P/88OT//PDk//zw5P/8
- 8OT//PDk//zw5P/88OT////////////////////////////////////////////gn2//4J9v/+Cfb//g
- n2//4J9v/+Cfb//gn2//4J9v///7+f//+/n///v5///7+f//+/n///v5///7+f//+/n/37eG/9+3hv/f
- t4b/37eG/9+3hv/ft4b/37eG/9+3hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS1Z5XktWeV5Lr
- yqT/68qk/+vKpP/ryqT/68qk/+vKpP/ryqT/68qk///9+////fv///37///9+////fv///37///9+///
- /fv//enV//3p1f/96dX//enV//3p1f/96dX//enV//3p1f/969j//evY//3r2P/969j//evY//3r2P/9
- 69j//evY//3q2//96tv//erb//3q2//96tv//erb//3q2//96tv//e3f//3t3//97d///e3f//3t3//9
- 7d///e3f//3t3//98OL//fDi//3w4v/98OL//fDi//3w4v/98OL//fDi//3x5P/98eT//fHk//3x5P/9
- 8eT//fHk//3x5P/98eT//PDk//zw5P/88OT//PDk//zw5P/88OT//PDk//zw5P//////////////////
- /////////////////////////+Cfb//gn2//4J9v/+Cfb//gn2//4J9v/+Cfb//gn2////v5///7+f//
- +/n///v5///7+f//+/n///v5///7+f/ft4b/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/37eG/wAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV
- nleS1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS1Z5XkuvKpP/ryqT/68qk/+vKpP/ryqT/68qk/+vKpP/r
- yqT///37///9+////fv///37///9+////fv///37///9+//96dX//enV//3p1f/96dX//enV//3p1f/9
- 6dX//enV//3r2P/969j//evY//3r2P/969j//evY//3r2P/969j//erb//3q2//96tv//erb//3q2//9
- 6tv//erb//3q2//97d///e3f//3t3//97d///e3f//3t3//97d///e3f//3w4v/98OL//fDi//3w4v/9
- 8OL//fDi//3w4v/98OL//fHk//3x5P/98eT//fHk//3x5P/98eT//fHk//3x5P/88OT//PDk//zw5P/8
- 8OT//PDk//zw5P/88OT//PDk////////////////////////////////////////////4J9v/+Cfb//g
- n2//4J9v/+Cfb//gn2//4J9v/+Cfb///+/n///v5///7+f//+/n///v5///7+f//+/n///v5/9+3hv/f
- t4b/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWeV5LVnleS1Z5XktWeV5LVnleS1Z5XktWeV5LV
- nleS68qk/+vKpP/ryqT/68qk/+vKpP/ryqT/68qk/+vKpP///fv///37///9+////fv///37///9+///
- /fv///37//3p1f/96dX//enV//3p1f/96dX//enV//3p1f/96dX//evY//3r2P/969j//evY//3r2P/9
- 69j//evY//3r2P/96tv//erb//3q2//96tv//erb//3q2//96tv//erb//3t3//97d///e3f//3t3//9
- 7d///e3f//3t3//97d///fDi//3w4v/98OL//fDi//3w4v/98OL//fDi//3w4v/98eT//fHk//3x5P/9
- 8eT//fHk//3x5P/98eT//fHk//zw5P/88OT//PDk//zw5P/88OT//PDk//zw5P/88OT/////////////
- ///////////////////////////////gn2//4J9v/+Cfb//gn2//4J9v/+Cfb//gn2//4J9v///7+f//
- +/n///v5///7+f//+/n///v5///7+f//+/n/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/37eG/9+3hv8A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAA1Z5XktWeV5LVnleS1Z5XktWeV5LVnleS1Z5XktWeV5LryqT/68qk/+vKpP/ryqT/68qk/+vKpP/r
- yqT/68qk///9+////fv///37///9+////fv///37///9+////fv//enV//3p1f/96dX//enV//3p1f/9
- 6dX//enV//3p1f/969j//evY//3r2P/969j//evY//3r2P/969j//evY//3q2//96tv//erb//3q2//9
- 6tv//erb//3q2//96tv//e3f//3t3//97d///e3f//3t3//97d///e3f//3t3//98OL//fDi//3w4v/9
- 8OL//fDi//3w4v/98OL//fDi//3x5P/98eT//fHk//3x5P/98eT//fHk//3x5P/98eT//PDk//zw5P/8
- 8OT//PDk//zw5P/88OT//PDk//zw5P///////////////////////////////////////////+Cfb//g
- n2//4J9v/+Cfb//gn2//4J9v/+Cfb//gn2////v5///7+f//+/n///v5///7+f//+/n///v5///7+f/f
- t4b/37eG/9+3hv/ft4b/37eG/9+3hv/ft4b/37eG/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADao1qE2qNahNqjWoTao1qE2qNahNqjWoTa
- o1qE2qNahOvFmf/rxZn/68WZ/+vFmf/rxZn/68WZ/+vFmf/rxZn/////////////////////////////
- ///////////////87+L//O/i//zv4v/87+L//O/i//zv4v/87+L//O/i//3w5//98Of//fDn//3w5//9
- 8Of//fDn//3w5//98Of//fHr//3x6//98ev//fHr//3x6//98ev//fHr//3x6//99e7//fXu//317v/9
- 9e7//fXu//317v/99e7//fXu//348f/9+PH//fjx//348f/9+PH//fjx//348f/9+PH//fr3//369//9
- +vf//fr3//369//9+vf//fr3//369////Pr///z6///8+v///Pr///z6///8+v///Pr///z6////////
- /////////////////////////////////////vv3//779//++/f//vv3//779//++/f//vv3//779//0
- 2r//9Nq///Tav//02r//9Nq///Tav//02r//9Nq//9qjWurao1rq2qNa6tqjWurao1rq2qNa6tqjWura
- o1rqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAANqjWoTao1qE2qNahNqjWoTao1qE2qNahNqjWoTao1qE68WZ/+vFmf/rxZn/68WZ/+vFmf/r
- xZn/68WZ/+vFmf////////////////////////////////////////////zv4v/87+L//O/i//zv4v/8
- 7+L//O/i//zv4v/87+L//fDn//3w5//98Of//fDn//3w5//98Of//fDn//3w5//98ev//fHr//3x6//9
- 8ev//fHr//3x6//98ev//fHr//317v/99e7//fXu//317v/99e7//fXu//317v/99e7//fjx//348f/9
- +PH//fjx//348f/9+PH//fjx//348f/9+vf//fr3//369//9+vf//fr3//369//9+vf//fr3///8+v//
- /Pr///z6///8+v///Pr///z6///8+v///Pr////////////////////////////////////////////+
- +/f//vv3//779//++/f//vv3//779//++/f//vv3//Tav//02r//9Nq///Tav//02r//9Nq///Tav//0
- 2r//2qNa6tqjWurao1rq2qNa6tqjWurao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2qNahNqjWoTao1qE2qNahNqjWoTa
- o1qE2qNahNqjWoTrxZn/68WZ/+vFmf/rxZn/68WZ/+vFmf/rxZn/68WZ////////////////////////
- /////////////////////O/i//zv4v/87+L//O/i//zv4v/87+L//O/i//zv4v/98Of//fDn//3w5//9
- 8Of//fDn//3w5//98Of//fDn//3x6//98ev//fHr//3x6//98ev//fHr//3x6//98ev//fXu//317v/9
- 9e7//fXu//317v/99e7//fXu//317v/9+PH//fjx//348f/9+PH//fjx//348f/9+PH//fjx//369//9
- +vf//fr3//369//9+vf//fr3//369//9+vf///z6///8+v///Pr///z6///8+v///Pr///z6///8+v//
- //////////////////////////////////////////779//++/f//vv3//779//++/f//vv3//779//+
- +/f/9Nq///Tav//02r//9Nq///Tav//02r//9Nq///Tav//ao1rq2qNa6tqjWurao1rq2qNa6tqjWura
- o1rq2qNa6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADao1qE2qNahNqjWoTao1qE2qNahNqjWoTao1qE2qNahOvFmf/rxZn/68WZ/+vFmf/r
- xZn/68WZ/+vFmf/rxZn////////////////////////////////////////////87+L//O/i//zv4v/8
- 7+L//O/i//zv4v/87+L//O/i//3w5//98Of//fDn//3w5//98Of//fDn//3w5//98Of//fHr//3x6//9
- 8ev//fHr//3x6//98ev//fHr//3x6//99e7//fXu//317v/99e7//fXu//317v/99e7//fXu//348f/9
- +PH//fjx//348f/9+PH//fjx//348f/9+PH//fr3//369//9+vf//fr3//369//9+vf//fr3//369///
- /Pr///z6///8+v///Pr///z6///8+v///Pr///z6////////////////////////////////////////
- /////vv3//779//++/f//vv3//779//++/f//vv3//779//02r//9Nq///Tav//02r//9Nq///Tav//0
- 2r//9Nq//9qjWurao1rq2qNa6tqjWurao1rq2qNa6tqjWurao1rqAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqjWoTao1qE2qNahNqjWoTa
- o1qE2qNahNqjWoTao1qE68WZ/+vFmf/rxZn/68WZ/+vFmf/rxZn/68WZ/+vFmf//////////////////
- //////////////////////////zv4v/87+L//O/i//zv4v/87+L//O/i//zv4v/87+L//fDn//3w5//9
- 8Of//fDn//3w5//98Of//fDn//3w5//98ev//fHr//3x6//98ev//fHr//3x6//98ev//fHr//317v/9
- 9e7//fXu//317v/99e7//fXu//317v/99e7//fjx//348f/9+PH//fjx//348f/9+PH//fjx//348f/9
- +vf//fr3//369//9+vf//fr3//369//9+vf//fr3///8+v///Pr///z6///8+v///Pr///z6///8+v//
- /Pr////////////////////////////////////////////++/f//vv3//779//++/f//vv3//779//+
- +/f//vv3//Tav//02r//9Nq///Tav//02r//9Nq///Tav//02r//2qNa6tqjWurao1rq2qNa6tqjWura
- o1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAA2qNahNqjWoTao1qE2qNahNqjWoTao1qE2qNahNqjWoTrxZn/68WZ/+vFmf/r
- xZn/68WZ/+vFmf/rxZn/68WZ/////////////////////////////////////////////O/i//zv4v/8
- 7+L//O/i//zv4v/87+L//O/i//zv4v/98Of//fDn//3w5//98Of//fDn//3w5//98Of//fDn//3x6//9
- 8ev//fHr//3x6//98ev//fHr//3x6//98ev//fXu//317v/99e7//fXu//317v/99e7//fXu//317v/9
- +PH//fjx//348f/9+PH//fjx//348f/9+PH//fjx//369//9+vf//fr3//369//9+vf//fr3//369//9
- +vf///z6///8+v///Pr///z6///8+v///Pr///z6///8+v//////////////////////////////////
- //////////779//++/f//vv3//779//++/f//vv3//779//++/f/9Nq///Tav//02r//9Nq///Tav//0
- 2r//9Nq///Tav//ao1rq2qNa6tqjWurao1rq2qNa6tqjWurao1rq2qNa6gAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADao1qE2qNahNqjWoTa
- o1qE2qNahNqjWoTao1qE2qNahOvFmf/rxZn/68WZ/+vFmf/rxZn/68WZ/+vFmf/rxZn/////////////
- ///////////////////////////////87+L//O/i//zv4v/87+L//O/i//zv4v/87+L//O/i//3w5//9
- 8Of//fDn//3w5//98Of//fDn//3w5//98Of//fHr//3x6//98ev//fHr//3x6//98ev//fHr//3x6//9
- 9e7//fXu//317v/99e7//fXu//317v/99e7//fXu//348f/9+PH//fjx//348f/9+PH//fjx//348f/9
- +PH//fr3//369//9+vf//fr3//369//9+vf//fr3//369////Pr///z6///8+v///Pr///z6///8+v//
- /Pr///z6/////////////////////////////////////////////vv3//779//++/f//vv3//779//+
- +/f//vv3//779//02r//9Nq///Tav//02r//9Nq///Tav//02r//9Nq//9qjWurao1rq2qNa6tqjWura
- o1rq2qNa6tqjWurao1rqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAANqjWoTao1qE2qNahNqjWoTao1qE2qNahNqjWoTao1qE68WZ/+vFmf/r
- xZn/68WZ/+vFmf/rxZn/68WZ/+vFmf////////////////////////////////////////////zv4v/8
- 7+L//O/i//zv4v/87+L//O/i//zv4v/87+L//fDn//3w5//98Of//fDn//3w5//98Of//fDn//3w5//9
- 8ev//fHr//3x6//98ev//fHr//3x6//98ev//fHr//317v/99e7//fXu//317v/99e7//fXu//317v/9
- 9e7//fjx//348f/9+PH//fjx//348f/9+PH//fjx//348f/9+vf//fr3//369//9+vf//fr3//369//9
- +vf//fr3///8+v///Pr///z6///8+v///Pr///z6///8+v///Pr/////////////////////////////
- ///////////////++/f//vv3//779//++/f//vv3//779//++/f//vv3//Tav//02r//9Nq///Tav//0
- 2r//9Nq///Tav//02r//2qNa6tqjWurao1rq2qNa6tqjWurao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3qdcbd6nXG3e
- p1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3qv4v/6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/6r+L////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////fn0//359P/9+fT//fn0//359P/9+fT//fn0//359P/78+r/+/Pq//vz6v/78+r/+/Pq//vz6v/7
- 8+r/+/Pq//jr2f/469n/+OvZ//jr2f/469n/+OvZ//jr2f/469n/+ObT//jm0//45tP/+ObT//jm0//4
- 5tP/+ObT//jm0//138X/9d/F//Xfxf/138X/9d/F//Xfxf/138X/9d/F/+nLpf/py6X/6cul/+nLpf/p
- y6X/6cul/+nLpf/py6X/3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1xd3qdcXd6nXF3e
- p1xd3qdcXd6nXF3ep1xd3qdcXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3ep1xt3qdcbeq/i//q
- v4v/6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////9+fT//fn0//359P/9+fT//fn0//359P/9
- +fT//fn0//vz6v/78+r/+/Pq//vz6v/78+r/+/Pq//vz6v/78+r/+OvZ//jr2f/469n/+OvZ//jr2f/4
- 69n/+OvZ//jr2f/45tP/+ObT//jm0//45tP/+ObT//jm0//45tP/+ObT//Xfxf/138X/9d/F//Xfxf/1
- 38X/9d/F//Xfxf/138X/6cul/+nLpf/py6X/6cul/+nLpf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3e
- p1zt3qdc7d6nXO3ep1zt3qdc7d6nXF3ep1xd3qdcXd6nXF3ep1xd3qdcXd6nXF3ep1xdAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN6nXG3e
- p1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3ep1xt6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/6r+L/+q/i///
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////359P/9+fT//fn0//359P/9+fT//fn0//359P/9+fT/+/Pq//vz6v/78+r/+/Pq//vz6v/7
- 8+r/+/Pq//vz6v/469n/+OvZ//jr2f/469n/+OvZ//jr2f/469n/+OvZ//jm0//45tP/+ObT//jm0//4
- 5tP/+ObT//jm0//45tP/9d/F//Xfxf/138X/9d/F//Xfxf/138X/9d/F//Xfxf/py6X/6cul/+nLpf/p
- y6X/6cul/+nLpf/py6X/6cul/96nXO3ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdcXd6nXF3e
- p1xd3qdcXd6nXF3ep1xd3qdcXd6nXF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3qdcbd6nXG3ep1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3q
- v4v/6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/6r+L////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////fn0//359P/9+fT//fn0//359P/9
- +fT//fn0//359P/78+r/+/Pq//vz6v/78+r/+/Pq//vz6v/78+r/+/Pq//jr2f/469n/+OvZ//jr2f/4
- 69n/+OvZ//jr2f/469n/+ObT//jm0//45tP/+ObT//jm0//45tP/+ObT//jm0//138X/9d/F//Xfxf/1
- 38X/9d/F//Xfxf/138X/9d/F/+nLpf/py6X/6cul/+nLpf/py6X/6cul/+nLpf/py6X/3qdc7d6nXO3e
- p1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1xd3qdcXd6nXF3ep1xd3qdcXd6nXF3ep1xd3qdcXQAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe
- p1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3ep1xt3qdcbeq/i//qv4v/6r+L/+q/i//qv4v/6r+L/+q/i//q
- v4v/////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////9+fT//fn0//359P/9+fT//fn0//359P/9+fT//fn0//vz6v/78+r/+/Pq//vz6v/7
- 8+r/+/Pq//vz6v/78+r/+OvZ//jr2f/469n/+OvZ//jr2f/469n/+OvZ//jr2f/45tP/+ObT//jm0//4
- 5tP/+ObT//jm0//45tP/+ObT//Xfxf/138X/9d/F//Xfxf/138X/9d/F//Xfxf/138X/6cul/+nLpf/p
- y6X/6cul/+nLpf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXF3e
- p1xd3qdcXd6nXF3ep1xd3qdcXd6nXF3ep1xdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN6nXG3ep1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3e
- p1xt6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/6r+L/+q/i///////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////359P/9+fT//fn0//359P/9
- +fT//fn0//359P/9+fT/+/Pq//vz6v/78+r/+/Pq//vz6v/78+r/+/Pq//vz6v/469n/+OvZ//jr2f/4
- 69n/+OvZ//jr2f/469n/+OvZ//jm0//45tP/+ObT//jm0//45tP/+ObT//jm0//45tP/9d/F//Xfxf/1
- 38X/9d/F//Xfxf/138X/9d/F//Xfxf/py6X/6cul/+nLpf/py6X/6cul/+nLpf/py6X/6cul/96nXO3e
- p1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdcXd6nXF3ep1xd3qdcXd6nXF3ep1xd3qdcXd6nXF0A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAA3qdcbd6nXG3ep1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3qv4v/6r+L/+q/i//qv4v/6r+L/+q/i//q
- v4v/6r+L////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////fn0//359P/9+fT//fn0//359P/9+fT//fn0//359P/78+r/+/Pq//vz6v/7
- 8+r/+/Pq//vz6v/78+r/+/Pq//jr2f/469n/+OvZ//jr2f/469n/+OvZ//jr2f/469n/+ObT//jm0//4
- 5tP/+ObT//jm0//45tP/+ObT//jm0//138X/9d/F//Xfxf/138X/9d/F//Xfxf/138X/9d/F/+nLpf/p
- y6X/6cul/+nLpf/py6X/6cul/+nLpf/py6X/3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3e
- p1xd3qdcXd6nXF3ep1xd3qdcXd6nXF3ep1xd3qdcXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3ep1xt3qdcbd6nXG3e
- p1xt3qdcbeq/i//qv4v/6r+L/+q/i//qv4v/6r+L/+q/i//qv4v/////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////9+fT//fn0//359P/9
- +fT//fn0//359P/9+fT//fn0//vz6v/78+r/+/Pq//vz6v/78+r/+/Pq//vz6v/78+r/+OvZ//jr2f/4
- 69n/+OvZ//jr2f/469n/+OvZ//jr2f/45tP/+ObT//jm0//45tP/+ObT//jm0//45tP/+ObT//Xfxf/1
- 38X/9d/F//Xfxf/138X/9d/F//Xfxf/138X/6cul/+nLpf/py6X/6cul/+nLpf/py6X/6cul/+nLpf/e
- p1zt3qdc7d6nXO3ep1zt3qdc7d6nXO3ep1zt3qdc7d6nXF3ep1xd3qdcXd6nXF3ep1xd3qdcXd6nXF3e
- p1xdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAOKrXjbiq1424qteNuKrXjbiq1424qteNuKrXjbiq1424qtexuKrXsbiq17G4qtexuKrXsbi
- q17G4qtexuKrXsbqu4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/qu4D/6ruA/+i2dv/otnb/6LZ2/+i2dv/o
- tnb/6LZ2/+i2dv/otnb/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5rFs/+axbP/kr2f/5K9n/+SvZ//k
- r2f/5K9n/+SvZ//kr2f/5K9n/+KrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte4+KrXuPi
- q17j4qte4+KrXuPiq17j4qte4+KrXuPiq17P4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXszi
- q17M4qtezOKrXsziq17M4qtezOKrXsziq17M4qteu+KrXrviq1674qteu+KrXrviq1674qteu+KrXrvi
- q16o4qteqOKrXqjiq16o4qteqOKrXqjiq16o4qteqOKrXkviq15L4qteS+KrXkviq15L4qteS+KrXkvi
- q15L4qteBeKrXgXiq14F4qteBeKrXgXiq14F4qteBeKrXgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4qteNuKrXjbiq1424qteNuKrXjbi
- q1424qteNuKrXjbiq17G4qtexuKrXsbiq17G4qtexuKrXsbiq17G4qtexuq7gP/qu4D/6ruA/+q7gP/q
- u4D/6ruA/+q7gP/qu4D/6LZ2/+i2dv/otnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/msWz/5rFs/+axbP/m
- sWz/5rFs/+axbP/msWz/5rFs/+SvZ//kr2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//kr2f/4qte8OKrXvDi
- q17w4qte8OKrXvDiq17w4qte8OKrXvDiq17j4qte4+KrXuPiq17j4qte4+KrXuPiq17j4qte4+KrXs/i
- q17P4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtezOKrXsziq17M4qtezOKrXsziq17M4qtezOKrXszi
- q1674qteu+KrXrviq1674qteu+KrXrviq1674qteu+KrXqjiq16o4qteqOKrXqjiq16o4qteqOKrXqji
- q16o4qteS+KrXkviq15L4qteS+KrXkviq15L4qteS+KrXkviq14F4qteBeKrXgXiq14F4qteBeKrXgXi
- q14F4qteBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADiq1424qteNuKrXjbiq1424qteNuKrXjbiq1424qteNuKrXsbiq17G4qtexuKrXsbi
- q17G4qtexuKrXsbiq17G6ruA/+q7gP/qu4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/otnb/6LZ2/+i2dv/o
- tnb/6LZ2/+i2dv/otnb/6LZ2/+axbP/msWz/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5K9n/+SvZ//k
- r2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//iq17w4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXuPi
- q17j4qte4+KrXuPiq17j4qte4+KrXuPiq17j4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXs/i
- q17M4qtezOKrXsziq17M4qtezOKrXsziq17M4qtezOKrXrviq1674qteu+KrXrviq1674qteu+KrXrvi
- q1674qteqOKrXqjiq16o4qteqOKrXqjiq16o4qteqOKrXqjiq15L4qteS+KrXkviq15L4qteS+KrXkvi
- q15L4qteS+KrXgXiq14F4qteBeKrXgXiq14F4qteBeKrXgXiq14FAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOKrXjbiq1424qteNuKrXjbi
- q1424qteNuKrXjbiq1424qtexuKrXsbiq17G4qtexuKrXsbiq17G4qtexuKrXsbqu4D/6ruA/+q7gP/q
- u4D/6ruA/+q7gP/qu4D/6ruA/+i2dv/otnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/otnb/5rFs/+axbP/m
- sWz/5rFs/+axbP/msWz/5rFs/+axbP/kr2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//kr2f/5K9n/+KrXvDi
- q17w4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte4+KrXuPiq17j4qte4+KrXuPiq17j4qte4+KrXuPi
- q17P4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXsziq17M4qtezOKrXsziq17M4qtezOKrXszi
- q17M4qteu+KrXrviq1674qteu+KrXrviq1674qteu+KrXrviq16o4qteqOKrXqjiq16o4qteqOKrXqji
- q16o4qteqOKrXkviq15L4qteS+KrXkviq15L4qteS+KrXkviq15L4qteBeKrXgXiq14F4qteBeKrXgXi
- q14F4qteBeKrXgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAA4qteNuKrXjbiq1424qteNuKrXjbiq1424qteNuKrXjbiq17G4qtexuKrXsbi
- q17G4qtexuKrXsbiq17G4qtexuq7gP/qu4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/qu4D/6LZ2/+i2dv/o
- tnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/msWz/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5rFs/+SvZ//k
- r2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//kr2f/4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXvDi
- q17j4qte4+KrXuPiq17j4qte4+KrXuPiq17j4qte4+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXs/i
- q17P4qtezOKrXsziq17M4qtezOKrXsziq17M4qtezOKrXsziq1674qteu+KrXrviq1674qteu+KrXrvi
- q1674qteu+KrXqjiq16o4qteqOKrXqjiq16o4qteqOKrXqjiq16o4qteS+KrXkviq15L4qteS+KrXkvi
- q15L4qteS+KrXkviq14F4qteBeKrXgXiq14F4qteBeKrXgXiq14F4qteBQAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiq1424qteNuKrXjbi
- q1424qteNuKrXjbiq1424qteNuKrXsbiq17G4qtexuKrXsbiq17G4qtexuKrXsbiq17G6ruA/+q7gP/q
- u4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/otnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/otnb/6LZ2/+axbP/m
- sWz/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5K9n/+SvZ//kr2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//i
- q17w4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXuPiq17j4qte4+KrXuPiq17j4qte4+KrXuPi
- q17j4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXs/iq17M4qtezOKrXsziq17M4qtezOKrXszi
- q17M4qtezOKrXrviq1674qteu+KrXrviq1674qteu+KrXrviq1674qteqOKrXqjiq16o4qteqOKrXqji
- q16o4qteqOKrXqjiq15L4qteS+KrXkviq15L4qteS+KrXkviq15L4qteS+KrXgXiq14F4qteBeKrXgXi
- q14F4qteBeKrXgXiq14FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAOKrXjbiq1424qteNuKrXjbiq1424qteNuKrXjbiq1424qtexuKrXsbi
- q17G4qtexuKrXsbiq17G4qtexuKrXsbqu4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/qu4D/6ruA/+i2dv/o
- tnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/otnb/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5rFs/+axbP/k
- r2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//kr2f/5K9n/+KrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXvDi
- q17w4qte4+KrXuPiq17j4qte4+KrXuPiq17j4qte4+KrXuPiq17P4qtez+KrXs/iq17P4qtez+KrXs/i
- q17P4qtez+KrXsziq17M4qtezOKrXsziq17M4qtezOKrXsziq17M4qteu+KrXrviq1674qteu+KrXrvi
- q1674qteu+KrXrviq16o4qteqOKrXqjiq16o4qteqOKrXqjiq16o4qteqOKrXkviq15L4qteS+KrXkvi
- q15L4qteS+KrXkviq15L4qteBeKrXgXiq14F4qteBeKrXgXiq14F4qteBeKrXgUAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4qteNuKrXjbi
- q1424qteNuKrXjbiq1424qteNuKrXjbiq17G4qtexuKrXsbiq17G4qtexuKrXsbiq17G4qtexuq7gP/q
- u4D/6ruA/+q7gP/qu4D/6ruA/+q7gP/qu4D/6LZ2/+i2dv/otnb/6LZ2/+i2dv/otnb/6LZ2/+i2dv/m
- sWz/5rFs/+axbP/msWz/5rFs/+axbP/msWz/5rFs/+SvZ//kr2f/5K9n/+SvZ//kr2f/5K9n/+SvZ//k
- r2f/4qte8OKrXvDiq17w4qte8OKrXvDiq17w4qte8OKrXvDiq17j4qte4+KrXuPiq17j4qte4+KrXuPi
- q17j4qte4+KrXs/iq17P4qtez+KrXs/iq17P4qtez+KrXs/iq17P4qtezOKrXsziq17M4qtezOKrXszi
- q17M4qtezOKrXsziq1674qteu+KrXrviq1674qteu+KrXrviq1674qteu+KrXqjiq16o4qteqOKrXqji
- q16o4qteqOKrXqjiq16o4qteS+KrXkviq15L4qteS+KrXkviq15L4qteS+KrXkviq14F4qteBeKrXgXi
- q14F4qteBeKrXgXiq14F4qteBQAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
- AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA
- AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A
- AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA
- AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
- AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA
- AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A
- AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA
- AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
- AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA
- AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA////
- AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA
- AP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAA
- AAAAAAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAA
- AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////
- AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
- AAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAA
- AAAAAAAA//8AAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////AAAA
- AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP//
- /wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA
- AAD///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAA
- AAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAP//AAAA
- AAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD/
- /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAA
- AAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAA
- AAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAA
- AAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD/
- /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAA
- AAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAA
- AAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAA
- AAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD/
- /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAA
- AAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAA
- AAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAA
- AAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAKAAAAEAAAACAAAAAAQAgAAAAAAAAQAAAww4AAMMOAAAA
- AAAAAAAAAI9aMBSPWjAUj1owFI9aMBSPWjCEj1owhI9aMISPWjCEj1owo49aMKOPWjCjj1owo49aMLaP
- WjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDJj1ow2o9aMNqPWjDaj1ow2o9aMOuPWjDrj1ow649aMOuP
- WjD6j1ow+o9aMPqPWjD6lGA4/5RgOP+UYDj/lGA4/5loQP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+i
- c07/rIFe/6yBXv+sgV7/rIFe/49aMNmPWjDZj1ow2Y9aMNmPWjA0j1owNI9aMDSPWjA0AAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPWjAUj1owFI9aMBSPWjAUj1owhI9aMISPWjCEj1owhI9aMKOP
- WjCjj1owo49aMKOPWjC2j1owto9aMLaPWjC2j1owyY9aMMmPWjDJj1owyY9aMNqPWjDaj1ow2o9aMNqP
- WjDrj1ow649aMOuPWjDrj1ow+o9aMPqPWjD6j1ow+pRgOP+UYDj/lGA4/5RgOP+ZaED/mWhA/5loQP+Z
- aED/onNO/6JzTv+ic07/onNO/6yBXv+sgV7/rIFe/6yBXv+PWjDZj1ow2Y9aMNmPWjDZj1owNI9aMDSP
- WjA0j1owNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj1owFI9aMBSPWjAUj1owFI9aMISP
- WjCEj1owhI9aMISPWjCjj1owo49aMKOPWjCjj1owto9aMLaPWjC2j1owto9aMMmPWjDJj1owyY9aMMmP
- WjDaj1ow2o9aMNqPWjDaj1ow649aMOuPWjDrj1ow649aMPqPWjD6j1ow+o9aMPqUYDj/lGA4/5RgOP+U
- YDj/mWhA/5loQP+ZaED/mWhA/6JzTv+ic07/onNO/6JzTv+sgV7/rIFe/6yBXv+sgV7/j1ow2Y9aMNmP
- WjDZj1ow2Y9aMDSPWjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9aMBSP
- WjAUj1owFI9aMBSPWjCEj1owhI9aMISPWjCEj1owo49aMKOPWjCjj1owo49aMLaPWjC2j1owto9aMLaP
- WjDJj1owyY9aMMmPWjDJj1ow2o9aMNqPWjDaj1ow2o9aMOuPWjDrj1ow649aMOuPWjD6j1ow+o9aMPqP
- WjD6lGA4/5RgOP+UYDj/lGA4/5loQP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+ic07/rIFe/6yBXv+s
- gV7/rIFe/49aMNmPWjDZj1ow2Y9aMNmPWjA0j1owNI9aMDSPWjA0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACTXjJok14yaJNeMmiTXjJot49s/7ePbP+3j2z/t49s/9a5ov/WuaL/1rmi/9a5ov/f
- xbL/38Wy/9/Fsv/fxbL/59TC/+fUwv/n1ML/59TC/+7f0//u39P/7t/T/+7f0//16uL/9eri//Xq4v/1
- 6uL/+/Tv//v07//79O//+/Tv//369v/9+vb//fr2//369v///v3///79///+/f///v3/++vf//vr3//7
- 69//++vf//vv5v/77+b/++/m//vv5v/AnH//wJx//8Ccf//AnH//k14yb5NeMm+TXjJvk14ybwAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk14yaJNeMmiTXjJok14yaLePbP+3j2z/t49s/7ePbP/W
- uaL/1rmi/9a5ov/WuaL/38Wy/9/Fsv/fxbL/38Wy/+fUwv/n1ML/59TC/+fUwv/u39P/7t/T/+7f0//u
- 39P/9eri//Xq4v/16uL/9eri//v07//79O//+/Tv//v07//9+vb//fr2//369v/9+vb///79///+/f//
- /v3///79//vr3//769//++vf//vr3//77+b/++/m//vv5v/77+b/wJx//8Ccf//AnH//wJx//5NeMm+T
- XjJvk14yb5NeMm8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJNeMmiTXjJok14yaJNeMmi3
- j2z/t49s/7ePbP+3j2z/1rmi/9a5ov/WuaL/1rmi/9/Fsv/fxbL/38Wy/9/Fsv/n1ML/59TC/+fUwv/n
- 1ML/7t/T/+7f0//u39P/7t/T//Xq4v/16uL/9eri//Xq4v/79O//+/Tv//v07//79O///fr2//369v/9
- +vb//fr2///+/f///v3///79///+/f/769//++vf//vr3//769//++/m//vv5v/77+b/++/m/8Ccf//A
- nH//wJx//8Ccf/+TXjJvk14yb5NeMm+TXjJvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT
- XjJok14yaJNeMmiTXjJot49s/7ePbP+3j2z/t49s/9a5ov/WuaL/1rmi/9a5ov/fxbL/38Wy/9/Fsv/f
- xbL/59TC/+fUwv/n1ML/59TC/+7f0//u39P/7t/T/+7f0//16uL/9eri//Xq4v/16uL/+/Tv//v07//7
- 9O//+/Tv//369v/9+vb//fr2//369v///v3///79///+/f///v3/++vf//vr3//769//++vf//vv5v/7
- 7+b/++/m//vv5v/AnH//wJx//8Ccf//AnH//k14yb5NeMm+TXjJvk14ybwAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAmGM1iZhjNYmYYzWJmGM1icejhP/Ho4T/x6OE/8ejhP//////////////////
- //////////////////////////////////////////////////////////////////////78///+/P//
- /vz///78//779//++/f//vv3//779//+9/H//vfx//738f/+9/H//vbx//728f/+9vH//vbx/+Sthf/k
- rYX/5K2F/+Sthf/66Nv/+ujb//ro2//66Nv/zq6U/86ulP/OrpT/zq6U/5hjNYuYYzWLmGM1i5hjNYsA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhjNYmYYzWJmGM1iZhjNYnHo4T/x6OE/8ejhP/H
- o4T/////////////////////////////////////////////////////////////////////////////
- ///////////+/P///vz///78///+/P/++/f//vv3//779//++/f//vfx//738f/+9/H//vfx//728f/+
- 9vH//vbx//728f/krYX/5K2F/+Sthf/krYX/+ujb//ro2//66Nv/+ujb/86ulP/OrpT/zq6U/86ulP+Y
- YzWLmGM1i5hjNYuYYzWLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYYzWJmGM1iZhjNYmY
- YzWJx6OE/8ejhP/Ho4T/x6OE////////////////////////////////////////////////////////
- /////////////////////////////////vz///78///+/P///vz//vv3//779//++/f//vv3//738f/+
- 9/H//vfx//738f/+9vH//vbx//728f/+9vH/5K2F/+Sthf/krYX/5K2F//ro2//66Nv/+ujb//ro2//O
- rpT/zq6U/86ulP/OrpT/mGM1i5hjNYuYYzWLmGM1iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAmGM1iZhjNYmYYzWJmGM1icejhP/Ho4T/x6OE/8ejhP//////////////////////////////////
- //////////////////////////////////////////////////////78///+/P///vz///78//779//+
- +/f//vv3//779//+9/H//vfx//738f/+9/H//vbx//728f/+9vH//vbx/+Sthf/krYX/5K2F/+Sthf/6
- 6Nv/+ujb//ro2//66Nv/zq6U/86ulP/OrpT/zq6U/5hjNYuYYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAJ1oOFedaDhXnWg4V51oOFedaDj2nWg49p1oOPadaDj2s4RY/7OEWP+z
- hFj/s4RY/9mkev/ZpHr/2aR6/9mkev/YnW7/2J1u/9idbv/YnW7/15pp/9eaaf/Xmmn/15pp/9iVYv/Y
- lWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/WkVz/1I5Y/9SOWP/Ujlj/1I5Y/9ONVv/TjVb/041W/9ONVv/i
- nGj/4pxo/+KcaP/inGj/+uPR//rj0f/649H/+uPR/9i6of/YuqH/2Lqh/9i6of+daDienWg4np1oOJ6d
- aDieAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDhXnWg49p1oOPad
- aDj2nWg49rOEWP+zhFj/s4RY/7OEWP/ZpHr/2aR6/9mkev/ZpHr/2J1u/9idbv/YnW7/2J1u/9eaaf/X
- mmn/15pp/9eaaf/YlWL/2JVi/9iVYv/YlWL/1pFc/9aRXP/WkVz/1pFc/9SOWP/Ujlj/1I5Y/9SOWP/T
- jVb/041W/9ONVv/TjVb/4pxo/+KcaP/inGj/4pxo//rj0f/649H/+uPR//rj0f/YuqH/2Lqh/9i6of/Y
- uqH/nWg4np1oOJ6daDienWg4ngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnWg4V51oOFed
- aDhXnWg4V51oOPadaDj2nWg49p1oOPazhFj/s4RY/7OEWP+zhFj/2aR6/9mkev/ZpHr/2aR6/9idbv/Y
- nW7/2J1u/9idbv/Xmmn/15pp/9eaaf/Xmmn/2JVi/9iVYv/YlWL/2JVi/9aRXP/WkVz/1pFc/9aRXP/U
- jlj/1I5Y/9SOWP/Ujlj/041W/9ONVv/TjVb/041W/+KcaP/inGj/4pxo/+KcaP/649H/+uPR//rj0f/6
- 49H/2Lqh/9i6of/YuqH/2Lqh/51oOJ6daDienWg4np1oOJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAJ1oOFedaDhXnWg4V51oOFedaDj2nWg49p1oOPadaDj2s4RY/7OEWP+zhFj/s4RY/9mkev/Z
- pHr/2aR6/9mkev/YnW7/2J1u/9idbv/YnW7/15pp/9eaaf/Xmmn/15pp/9iVYv/YlWL/2JVi/9iVYv/W
- kVz/1pFc/9aRXP/WkVz/1I5Y/9SOWP/Ujlj/1I5Y/9ONVv/TjVb/041W/9ONVv/inGj/4pxo/+KcaP/i
- nGj/+uPR//rj0f/649H/+uPR/9i6of/YuqH/2Lqh/9i6of+daDienWg4np1oOJ6daDieAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjbjsUo247FKNuOxSjbjsUo247q6NuO6ujbjuro247q9Wti//V
- rYv/1a2L/9Wti//98OX//fDl//3w5f/98OX/98eh//fHof/3x6H/98eh//fPrP/3z6z/98+s//fPrP/5
- 1bT/+dW0//nVtP/51bT/+Nq8//javP/42rz/+Nq8//jewf/43sH/+N7B//jewf/64cX/+uHF//rhxf/6
- 4cX/+uTM//rkzP/65Mz/+uTM//317P/99ez//fXs//317P/izrn/4s65/+LOuf/izrn/o247s6NuO7Oj
- bjuzo247swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo247FKNuOxSjbjsUo247FKNuO6uj
- bjuro247q6NuO6vVrYv/1a2L/9Wti//VrYv//fDl//3w5f/98OX//fDl//fHof/3x6H/98eh//fHof/3
- z6z/98+s//fPrP/3z6z/+dW0//nVtP/51bT/+dW0//javP/42rz/+Nq8//javP/43sH/+N7B//jewf/4
- 3sH/+uHF//rhxf/64cX/+uHF//rkzP/65Mz/+uTM//rkzP/99ez//fXs//317P/99ez/4s65/+LOuf/i
- zrn/4s65/6NuO7Ojbjuzo247s6NuO7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNuOxSj
- bjsUo247FKNuOxSjbjuro247q6NuO6ujbjur1a2L/9Wti//VrYv/1a2L//3w5f/98OX//fDl//3w5f/3
- x6H/98eh//fHof/3x6H/98+s//fPrP/3z6z/98+s//nVtP/51bT/+dW0//nVtP/42rz/+Nq8//javP/4
- 2rz/+N7B//jewf/43sH/+N7B//rhxf/64cX/+uHF//rhxf/65Mz/+uTM//rkzP/65Mz//fXs//317P/9
- 9ez//fXs/+LOuf/izrn/4s65/+LOuf+jbjuzo247s6NuO7OjbjuzAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACjbjsUo247FKNuOxSjbjsUo247q6NuO6ujbjuro247q9Wti//VrYv/1a2L/9Wti//9
- 8OX//fDl//3w5f/98OX/98eh//fHof/3x6H/98eh//fPrP/3z6z/98+s//fPrP/51bT/+dW0//nVtP/5
- 1bT/+Nq8//javP/42rz/+Nq8//jewf/43sH/+N7B//jewf/64cX/+uHF//rhxf/64cX/+uTM//rkzP/6
- 5Mz/+uTM//317P/99ez//fXs//317P/izrn/4s65/+LOuf/izrn/o247s6NuO7Ojbjuzo247swAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKl0PyipdD8oqXQ/KKl0Pyi2
- hVX/toVV/7aFVf+2hVX//v79//7+/f/+/v3//v79//rewf/63sH/+t7B//rewf/63L7/+ty+//rcvv/6
- 3L7/+du///nbv//527//+du///nbv//527//+du///nbv//53cD/+d3A//ndwP/53cD/+tu///rbv//6
- 27//+tu///rcwv/63ML/+tzC//rcwv/9697//eve//3r3v/9697/7NzN/+zczf/s3M3/7NzN/6l0P8qp
- dD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp
- dD8oqXQ/KKl0PyipdD8otoVV/7aFVf+2hVX/toVV//7+/f/+/v3//v79//7+/f/63sH/+t7B//rewf/6
- 3sH/+ty+//rcvv/63L7/+ty+//nbv//527//+du///nbv//527//+du///nbv//527//+d3A//ndwP/5
- 3cD/+d3A//rbv//627//+tu///rbv//63ML/+tzC//rcwv/63ML//eve//3r3v/9697//eve/+zczf/s
- 3M3/7NzN/+zczf+pdD/KqXQ/yql0P8qpdD/KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAqXQ/KKl0PyipdD8oqXQ/KLaFVf+2hVX/toVV/7aFVf/+/v3//v79//7+/f/+
- /v3/+t7B//rewf/63sH/+t7B//rcvv/63L7/+ty+//rcvv/527//+du///nbv//527//+du///nbv//5
- 27//+du///ndwP/53cD/+d3A//ndwP/627//+tu///rbv//627//+tzC//rcwv/63ML/+tzC//3r3v/9
- 697//eve//3r3v/s3M3/7NzN/+zczf/s3M3/qXQ/yql0P8qpdD/KqXQ/ygAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKl0PyipdD8oqXQ/KKl0Pyi2hVX/toVV/7aFVf+2
- hVX//v79//7+/f/+/v3//v79//rewf/63sH/+t7B//rewf/63L7/+ty+//rcvv/63L7/+du///nbv//5
- 27//+du///nbv//527//+du///nbv//53cD/+d3A//ndwP/53cD/+tu///rbv//627//+tu///rcwv/6
- 3ML/+tzC//rcwv/9697//eve//3r3v/9697/7NzN/+zczf/s3M3/7NzN/6l0P8qpdD/KqXQ/yql0P8oA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh6w
- ekIeuIVR/7iFUf+4hVH/uIVR//78+f/+/Pn//vz5//78+f/53L7/+dy+//ncvv/53L7/+Nu+//jbvv/4
- 277/+Nu+//jcv//43L//+Ny///jcv//528H/+dvB//nbwf/528H/+dzA//ncwP/53MD/+dzA//ndwf/5
- 3cH/+d3B//ndwf/63cL/+t3C//rdwv/63cL/++fU//vn1P/759T/++fU//Xt4v/17eL/9e3i//Xt4v+w
- ekLksHpC5LB6QuSwekLkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAsHpCHrB6Qh6wekIesHpCHriFUf+4hVH/uIVR/7iFUf/+/Pn//vz5//78+f/+/Pn/+dy+//ncvv/5
- 3L7/+dy+//jbvv/4277/+Nu+//jbvv/43L//+Ny///jcv//43L//+dvB//nbwf/528H/+dvB//ncwP/5
- 3MD/+dzA//ncwP/53cH/+d3B//ndwf/53cH/+t3C//rdwv/63cL/+t3C//vn1P/759T/++fU//vn1P/1
- 7eL/9e3i//Xt4v/17eL/sHpC5LB6QuSwekLksHpC5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAALB6Qh6wekIesHpCHrB6Qh64hVH/uIVR/7iFUf+4hVH//vz5//78+f/+
- /Pn//vz5//ncvv/53L7/+dy+//ncvv/4277/+Nu+//jbvv/4277/+Ny///jcv//43L//+Ny///nbwf/5
- 28H/+dvB//nbwf/53MD/+dzA//ncwP/53MD/+d3B//ndwf/53cH/+d3B//rdwv/63cL/+t3C//rdwv/7
- 59T/++fU//vn1P/759T/9e3i//Xt4v/17eL/9e3i/7B6QuSwekLksHpC5LB6QuQAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh6wekIeuIVR/7iFUf+4
- hVH/uIVR//78+f/+/Pn//vz5//78+f/53L7/+dy+//ncvv/53L7/+Nu+//jbvv/4277/+Nu+//jcv//4
- 3L//+Ny///jcv//528H/+dvB//nbwf/528H/+dzA//ncwP/53MD/+dzA//ndwf/53cH/+d3B//ndwf/6
- 3cL/+t3C//rdwv/63cL/++fU//vn1P/759T/++fU//Xt4v/17eL/9e3i//Xt4v+wekLksHpC5LB6QuSw
- ekLkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtoFGCbaBRgm2
- gUYJtoFGCbiESv+4hEr/uIRK/7iESv/++/f//vv3//779//++/f/+dzA//ncwP/53MD/+dzA//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Nu///jbv//427//+Nu///ndv//53b//+d2///ndv//5
- 3b//+d2///ndv//53b//+d3C//ndwv/53cL/+d3C//viy//74sv/++LL//viy//8+fX//Pn1//z59f/8
- +fX/toFG+7aBRvu2gUb7toFG+7aBRgG2gUYBtoFGAbaBRgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAALaBRgm2gUYJtoFGCbaBRgm4hEr/uIRK/7iESv+4hEr//vv3//779//++/f//vv3//ncwP/5
- 3MD/+dzA//ncwP/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jbv//427//+Nu///jbv//5
- 3b//+d2///ndv//53b//+d2///ndv//53b//+d2///ndwv/53cL/+d3C//ndwv/74sv/++LL//viy//7
- 4sv//Pn1//z59f/8+fX//Pn1/7aBRvu2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgG2gUYBAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2gUYJtoFGCbaBRgm2gUYJuIRK/7iESv+4hEr/uIRK//779//+
- +/f//vv3//779//53MD/+dzA//ncwP/53MD/+Ny+//jcvv/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 27//+Nu///jbv//427//+d2///ndv//53b//+d2///ndv//53b//+d2///ndv//53cL/+d3C//ndwv/5
- 3cL/++LL//viy//74sv/++LL//z59f/8+fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUb7toFGAbaBRgG2
- gUYBtoFGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtoFGCbaBRgm2gUYJtoFGCbiESv+4
- hEr/uIRK/7iESv/++/f//vv3//779//++/f/+dzA//ncwP/53MD/+dzA//jcvv/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/43L7/+Nu///jbv//427//+Nu///ndv//53b//+d2///ndv//53b//+d2///ndv//5
- 3b//+d3C//ndwv/53cL/+d3C//viy//74sv/++LL//viy//8+fX//Pn1//z59f/8+fX/toFG+7aBRvu2
- gUb7toFG+7aBRgG2gUYBtoFGAbaBRgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAC8h0r5vIdK+byHSvm8h0r5/Pbw//z28P/89vD//Pbw//nfx//538f/+d/H//nfx//5
- 3Lz/+dy8//ncvP/53Lz/+ty+//rcvv/63L7/+ty+//rbwP/628D/+tvA//rbwP/63cL/+t3C//rdwv/6
- 3cL/+t3B//rdwf/63cH/+t3B//ndw//53cP/+d3D//ndw//74Mn/++DJ//vgyf/74Mn///z6///8+v//
- /Pr///z6/8CMUv/AjFL/wIxS/8CMUv+8h0oPvIdKD7yHSg+8h0oPAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvIdK+byHSvm8h0r5vIdK+fz28P/89vD//Pbw//z28P/5
- 38f/+d/H//nfx//538f/+dy8//ncvP/53Lz/+dy8//rcvv/63L7/+ty+//rcvv/628D/+tvA//rbwP/6
- 28D/+t3C//rdwv/63cL/+t3C//rdwf/63cH/+t3B//rdwf/53cP/+d3D//ndw//53cP/++DJ//vgyf/7
- 4Mn/++DJ///8+v///Pr///z6///8+v/AjFL/wIxS/8CMUv/AjFL/vIdKD7yHSg+8h0oPvIdKDwAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyHSvm8h0r5vIdK+byHSvn8
- 9vD//Pbw//z28P/89vD/+d/H//nfx//538f/+d/H//ncvP/53Lz/+dy8//ncvP/63L7/+ty+//rcvv/6
- 3L7/+tvA//rbwP/628D/+tvA//rdwv/63cL/+t3C//rdwv/63cH/+t3B//rdwf/63cH/+d3D//ndw//5
- 3cP/+d3D//vgyf/74Mn/++DJ//vgyf///Pr///z6///8+v///Pr/wIxS/8CMUv/AjFL/wIxS/7yHSg+8
- h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8
- h0r5vIdK+byHSvm8h0r5/Pbw//z28P/89vD//Pbw//nfx//538f/+d/H//nfx//53Lz/+dy8//ncvP/5
- 3Lz/+ty+//rcvv/63L7/+ty+//rbwP/628D/+tvA//rbwP/63cL/+t3C//rdwv/63cL/+t3B//rdwf/6
- 3cH/+t3B//ndw//53cP/+d3D//ndw//74Mn/++DJ//vgyf/74Mn///z6///8+v///Pr///z6/8CMUv/A
- jFL/wIxS/8CMUv+8h0oPvIdKD7yHSg+8h0oPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAw41N2sONTdrDjU3aw41N2vXn2P/159j/9efY//Xn2P/65dL/+uXS//rl0v/6
- 5dL/+dq7//nau//52rv/+dq7//nbu//527v/+du7//nbu//6277/+tu+//rbvv/6277/+t3A//rdwP/6
- 3cD/+t3A//rdwP/63cD/+t3A//rdwP/53cP/+d3D//ndw//53cP/++HI//vhyP/74cj/++HI///9+///
- /fv///37///9+//Ik1b/yJNW/8iTVv/Ik1b/w41NEsONTRLDjU0Sw41NEgAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMONTdrDjU3aw41N2sONTdr159j/9efY//Xn2P/1
- 59j/+uXS//rl0v/65dL/+uXS//nau//52rv/+dq7//nau//527v/+du7//nbu//527v/+tu+//rbvv/6
- 277/+tu+//rdwP/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+d3D//ndw//53cP/+d3D//vhyP/7
- 4cj/++HI//vhyP///fv///37///9+////fv/yJNW/8iTVv/Ik1b/yJNW/8ONTRLDjU0Sw41NEsONTRIA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDjU3aw41N2sONTdrD
- jU3a9efY//Xn2P/159j/9efY//rl0v/65dL/+uXS//rl0v/52rv/+dq7//nau//52rv/+du7//nbu//5
- 27v/+du7//rbvv/6277/+tu+//rbvv/63cD/+t3A//rdwP/63cD/+t3A//rdwP/63cD/+t3A//ndw//5
- 3cP/+d3D//ndw//74cj/++HI//vhyP/74cj///37///9+////fv///37/8iTVv/Ik1b/yJNW/8iTVv/D
- jU0Sw41NEsONTRLDjU0SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAw41N2sONTdrDjU3aw41N2vXn2P/159j/9efY//Xn2P/65dL/+uXS//rl0v/65dL/+dq7//nau//5
- 2rv/+dq7//nbu//527v/+du7//nbu//6277/+tu+//rbvv/6277/+t3A//rdwP/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/53cP/+d3D//ndw//53cP/++HI//vhyP/74cj/++HI///9+////fv///37///9+//I
- k1b/yJNW/8iTVv/Ik1b/w41NEsONTRLDjU0Sw41NEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAMqTUbvKk1G7ypNRu8qTUbvw2cD/8NnA//DZwP/w2cD/++3h//vt4f/7
- 7eH/++3h//nav//52r//+dq///nav//53MH/+dzB//ncwf/53MH/+d7E//nexP/53sT/+d7E//rgx//6
- 4Mf/+uDH//rgx//64sr/+uLK//riyv/64sr/+uLN//rizf/64s3/+uLN//rl0P/65dD/+uXQ//rl0P//
- /v3///79///+/f///v3/y45Z/8uOWf/Ljln/y45Z/8qTUfHKk1HxypNR8cqTUfHKk1FFypNRRcqTUUXK
- k1FFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKk1G7ypNRu8qTUbvKk1G78NnA//DZwP/w
- 2cD/8NnA//vt4f/77eH/++3h//vt4f/52r//+dq///nav//52r//+dzB//ncwf/53MH/+dzB//nexP/5
- 3sT/+d7E//nexP/64Mf/+uDH//rgx//64Mf/+uLK//riyv/64sr/+uLK//rizf/64s3/+uLN//rizf/6
- 5dD/+uXQ//rl0P/65dD///79///+/f///v3///79/8uOWf/Ljln/y45Z/8uOWf/Kk1HxypNR8cqTUfHK
- k1HxypNRRcqTUUXKk1FFypNRRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypNRu8qTUbvK
- k1G7ypNRu/DZwP/w2cD/8NnA//DZwP/77eH/++3h//vt4f/77eH/+dq///nav//52r//+dq///ncwf/5
- 3MH/+dzB//ncwf/53sT/+d7E//nexP/53sT/+uDH//rgx//64Mf/+uDH//riyv/64sr/+uLK//riyv/6
- 4s3/+uLN//rizf/64s3/+uXQ//rl0P/65dD/+uXQ///+/f///v3///79///+/f/Ljln/y45Z/8uOWf/L
- jln/ypNR8cqTUfHKk1HxypNR8cqTUUXKk1FFypNRRcqTUUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAMqTUbvKk1G7ypNRu8qTUbvw2cD/8NnA//DZwP/w2cD/++3h//vt4f/77eH/++3h//nav//5
- 2r//+dq///nav//53MH/+dzB//ncwf/53MH/+d7E//nexP/53sT/+d7E//rgx//64Mf/+uDH//rgx//6
- 4sr/+uLK//riyv/64sr/+uLN//rizf/64s3/+uLN//rl0P/65dD/+uXQ//rl0P///v3///79///+/f//
- /v3/y45Z/8uOWf/Ljln/y45Z/8qTUfHKk1HxypNR8cqTUfHKk1FFypNRRcqTUUXKk1FFAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTQmVSk7dCx/+3Qsf/t0LH/7dCx///28P//
- 9vD///bw///28P/64cr/+uHK//rhyv/64cr/++PM//vjzP/748z/++PM//vj0P/749D/++PQ//vj0P/7
- 5tP/++bT//vm0//75tP/++nV//vp1f/76dX/++nV//zp2P/86dj//OnY//zp2P/86tv//Orb//zq2//8
- 6tv////9/////f////3////9/9KccP/SnHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/u2cD/0JlU5dCZVOXQ
- mVTl0JlU5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0JlUpNCZVKTQmVSk0JlUpO3Qsf/t
- 0LH/7dCx/+3Qsf//9vD///bw///28P//9vD/+uHK//rhyv/64cr/+uHK//vjzP/748z/++PM//vjzP/7
- 49D/++PQ//vj0P/749D/++bT//vm0//75tP/++bT//vp1f/76dX/++nV//vp1f/86dj//OnY//zp2P/8
- 6dj//Orb//zq2//86tv//Orb/////f////3////9/////f/SnHD/0pxw/9KccP/SnHD/7tnA/+7ZwP/u
- 2cD/7tnA/9CZVOXQmVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCZVKTQ
- mVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf/t0LH///bw///28P//9vD///bw//rhyv/64cr/+uHK//rhyv/7
- 48z/++PM//vjzP/748z/++PQ//vj0P/749D/++PQ//vm0//75tP/++bT//vm0//76dX/++nV//vp1f/7
- 6dX//OnY//zp2P/86dj//OnY//zq2//86tv//Orb//zq2/////3////9/////f////3/0pxw/9KccP/S
- nHD/0pxw/+7ZwP/u2cD/7tnA/+7ZwP/QmVTl0JlU5dCZVOXQmVTlAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADQmVSk0JlUpNCZVKTQmVSk7dCx/+3Qsf/t0LH/7dCx///28P//9vD///bw///28P/6
- 4cr/+uHK//rhyv/64cr/++PM//vjzP/748z/++PM//vj0P/749D/++PQ//vj0P/75tP/++bT//vm0//7
- 5tP/++nV//vp1f/76dX/++nV//zp2P/86dj//OnY//zp2P/86tv//Orb//zq2//86tv////9/////f//
- //3////9/9KccP/SnHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/u2cD/0JlU5dCZVOXQmVTl0JlU5QAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1Z5XktWeV5LVnleS1Z5XkuvKpP/ryqT/68qk/+vKpP//
- /fv///37///9+////fv//enV//3p1f/96dX//enV//3r2P/969j//evY//3r2P/96tv//erb//3q2//9
- 6tv//e3f//3t3//97d///e3f//3w4v/98OL//fDi//3w4v/98eT//fHk//3x5P/98eT//PDk//zw5P/8
- 8OT//PDk///////////////////////gn2//4J9v/+Cfb//gn2////v5///7+f//+/n///v5/9+3hv/f
- t4b/37eG/9+3hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWeV5LVnleS1Z5XktWeV5Lr
- yqT/68qk/+vKpP/ryqT///37///9+////fv///37//3p1f/96dX//enV//3p1f/969j//evY//3r2P/9
- 69j//erb//3q2//96tv//erb//3t3//97d///e3f//3t3//98OL//fDi//3w4v/98OL//fHk//3x5P/9
- 8eT//fHk//zw5P/88OT//PDk//zw5P//////////////////////4J9v/+Cfb//gn2//4J9v///7+f//
- +/n///v5///7+f/ft4b/37eG/9+3hv/ft4b/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV
- nleS1Z5XktWeV5LVnleS68qk/+vKpP/ryqT/68qk///9+////fv///37///9+//96dX//enV//3p1f/9
- 6dX//evY//3r2P/969j//evY//3q2//96tv//erb//3q2//97d///e3f//3t3//97d///fDi//3w4v/9
- 8OL//fDi//3x5P/98eT//fHk//3x5P/88OT//PDk//zw5P/88OT//////////////////////+Cfb//g
- n2//4J9v/+Cfb///+/n///v5///7+f//+/n/37eG/9+3hv/ft4b/37eG/wAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAA1Z5XktWeV5LVnleS1Z5XkuvKpP/ryqT/68qk/+vKpP///fv///37///9+///
- /fv//enV//3p1f/96dX//enV//3r2P/969j//evY//3r2P/96tv//erb//3q2//96tv//e3f//3t3//9
- 7d///e3f//3w4v/98OL//fDi//3w4v/98eT//fHk//3x5P/98eT//PDk//zw5P/88OT//PDk////////
- ///////////////gn2//4J9v/+Cfb//gn2////v5///7+f//+/n///v5/9+3hv/ft4b/37eG/9+3hv8A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqjWoTao1qE2qNahNqjWoTrxZn/68WZ/+vFmf/r
- xZn///////////////////////zv4v/87+L//O/i//zv4v/98Of//fDn//3w5//98Of//fHr//3x6//9
- 8ev//fHr//317v/99e7//fXu//317v/9+PH//fjx//348f/9+PH//fr3//369//9+vf//fr3///8+v//
- /Pr///z6///8+v///////////////////////vv3//779//++/f//vv3//Tav//02r//9Nq///Tav//a
- o1rq2qNa6tqjWurao1rqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADao1qE2qNahNqjWoTa
- o1qE68WZ/+vFmf/rxZn/68WZ///////////////////////87+L//O/i//zv4v/87+L//fDn//3w5//9
- 8Of//fDn//3x6//98ev//fHr//3x6//99e7//fXu//317v/99e7//fjx//348f/9+PH//fjx//369//9
- +vf//fr3//369////Pr///z6///8+v///Pr///////////////////////779//++/f//vv3//779//0
- 2r//9Nq///Tav//02r//2qNa6tqjWurao1rq2qNa6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAA2qNahNqjWoTao1qE2qNahOvFmf/rxZn/68WZ/+vFmf///////////////////////O/i//zv4v/8
- 7+L//O/i//3w5//98Of//fDn//3w5//98ev//fHr//3x6//98ev//fXu//317v/99e7//fXu//348f/9
- +PH//fjx//348f/9+vf//fr3//369//9+vf///z6///8+v///Pr///z6///////////////////////+
- +/f//vv3//779//++/f/9Nq///Tav//02r//9Nq//9qjWurao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAANqjWoTao1qE2qNahNqjWoTrxZn/68WZ/+vFmf/rxZn/////////////
- //////////zv4v/87+L//O/i//zv4v/98Of//fDn//3w5//98Of//fHr//3x6//98ev//fHr//317v/9
- 9e7//fXu//317v/9+PH//fjx//348f/9+PH//fr3//369//9+vf//fr3///8+v///Pr///z6///8+v//
- /////////////////////vv3//779//++/f//vv3//Tav//02r//9Nq///Tav//ao1rq2qNa6tqjWura
- o1rqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3ep1xt6r+L/+q/i//q
- v4v/6r+L////////////////////////////////////////////////////////////////////////
- ///////////////9+fT//fn0//359P/9+fT/+/Pq//vz6v/78+r/+/Pq//jr2f/469n/+OvZ//jr2f/4
- 5tP/+ObT//jm0//45tP/9d/F//Xfxf/138X/9d/F/+nLpf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3e
- p1zt3qdcXd6nXF3ep1xd3qdcXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3qdcbd6nXG3e
- p1xt3qdcbeq/i//qv4v/6r+L/+q/i///////////////////////////////////////////////////
- /////////////////////////////////////fn0//359P/9+fT//fn0//vz6v/78+r/+/Pq//vz6v/4
- 69n/+OvZ//jr2f/469n/+ObT//jm0//45tP/+ObT//Xfxf/138X/9d/F//Xfxf/py6X/6cul/+nLpf/p
- y6X/3qdc7d6nXO3ep1zt3qdc7d6nXF3ep1xd3qdcXd6nXF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAN6nXG3ep1xt3qdcbd6nXG3qv4v/6r+L/+q/i//qv4v/////////////////////////////
- //////////////////////////////////////////////////////////359P/9+fT//fn0//359P/7
- 8+r/+/Pq//vz6v/78+r/+OvZ//jr2f/469n/+OvZ//jm0//45tP/+ObT//jm0//138X/9d/F//Xfxf/1
- 38X/6cul/+nLpf/py6X/6cul/96nXO3ep1zt3qdc7d6nXO3ep1xd3qdcXd6nXF3ep1xdAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3ep1xt6r+L/+q/i//qv4v/6r+L////////
- ///////////////////////////////////////////////////////////////////////////////9
- +fT//fn0//359P/9+fT/+/Pq//vz6v/78+r/+/Pq//jr2f/469n/+OvZ//jr2f/45tP/+ObT//jm0//4
- 5tP/9d/F//Xfxf/138X/9d/F/+nLpf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3ep1zt3qdcXd6nXF3e
- p1xd3qdcXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4qteNuKrXjbiq1424qteNuKrXsbi
- q17G4qtexuKrXsbqu4D/6ruA/+q7gP/qu4D/6LZ2/+i2dv/otnb/6LZ2/+axbP/msWz/5rFs/+axbP/k
- r2f/5K9n/+SvZ//kr2f/4qte8OKrXvDiq17w4qte8OKrXuPiq17j4qte4+KrXuPiq17P4qtez+KrXs/i
- q17P4qtezOKrXsziq17M4qtezOKrXrviq1674qteu+KrXrviq16o4qteqOKrXqjiq16o4qteS+KrXkvi
- q15L4qteS+KrXgXiq14F4qteBeKrXgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOKrXjbi
- q1424qteNuKrXjbiq17G4qtexuKrXsbiq17G6ruA/+q7gP/qu4D/6ruA/+i2dv/otnb/6LZ2/+i2dv/m
- sWz/5rFs/+axbP/msWz/5K9n/+SvZ//kr2f/5K9n/+KrXvDiq17w4qte8OKrXvDiq17j4qte4+KrXuPi
- q17j4qtez+KrXs/iq17P4qtez+KrXsziq17M4qtezOKrXsziq1674qteu+KrXrviq1674qteqOKrXqji
- q16o4qteqOKrXkviq15L4qteS+KrXkviq14F4qteBeKrXgXiq14FAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADiq1424qteNuKrXjbiq1424qtexuKrXsbiq17G4qtexuq7gP/qu4D/6ruA/+q7gP/o
- tnb/6LZ2/+i2dv/otnb/5rFs/+axbP/msWz/5rFs/+SvZ//kr2f/5K9n/+SvZ//iq17w4qte8OKrXvDi
- q17w4qte4+KrXuPiq17j4qte4+KrXs/iq17P4qtez+KrXs/iq17M4qtezOKrXsziq17M4qteu+KrXrvi
- q1674qteu+KrXqjiq16o4qteqOKrXqjiq15L4qteS+KrXkviq15L4qteBeKrXgXiq14F4qteBQAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4qteNuKrXjbiq1424qteNuKrXsbiq17G4qtexuKrXsbq
- u4D/6ruA/+q7gP/qu4D/6LZ2/+i2dv/otnb/6LZ2/+axbP/msWz/5rFs/+axbP/kr2f/5K9n/+SvZ//k
- r2f/4qte8OKrXvDiq17w4qte8OKrXuPiq17j4qte4+KrXuPiq17P4qtez+KrXs/iq17P4qtezOKrXszi
- q17M4qtezOKrXrviq1674qteu+KrXrviq16o4qteqOKrXqjiq16o4qteS+KrXkviq15L4qteS+KrXgXi
- q14F4qteBeKrXgUAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8A
- AAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAA
- AAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/8AAAAAAAAP/w
- AAAAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAA
- AAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//
- AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAA
- AAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/
- AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAA
- AAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAACgAAAAwAAAAYAAAAAEAIAAA
- AAAAACQAAMMOAADDDgAAAAAAAAAAAACPWjAUj1owFI9aMBSPWjCEj1owhI9aMISPWjCjj1owo49aMKOP
- WjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDaj1ow2o9aMNqPWjDrj1ow649aMOuPWjD6j1ow+o9aMPqU
- YDj/lGA4/5RgOP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+sgV7/rIFe/6yBXv+PWjDZj1ow2Y9aMNmP
- WjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPWjAUj1owFI9aMBSPWjCEj1owhI9aMISP
- WjCjj1owo49aMKOPWjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDaj1ow2o9aMNqPWjDrj1ow649aMOuP
- WjD6j1ow+o9aMPqUYDj/lGA4/5RgOP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+sgV7/rIFe/6yBXv+P
- WjDZj1ow2Y9aMNmPWjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPWjAUj1owFI9aMBSP
- WjCEj1owhI9aMISPWjCjj1owo49aMKOPWjC2j1owto9aMLaPWjDJj1owyY9aMMmPWjDaj1ow2o9aMNqP
- WjDrj1ow649aMOuPWjD6j1ow+o9aMPqUYDj/lGA4/5RgOP+ZaED/mWhA/5loQP+ic07/onNO/6JzTv+s
- gV7/rIFe/6yBXv+PWjDZj1ow2Y9aMNmPWjA0j1owNI9aMDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT
- XjJok14yaJNeMmi3j2z/t49s/7ePbP/WuaL/1rmi/9a5ov/fxbL/38Wy/9/Fsv/n1ML/59TC/+fUwv/u
- 39P/7t/T/+7f0//16uL/9eri//Xq4v/79O//+/Tv//v07//9+vb//fr2//369v///v3///79///+/f/7
- 69//++vf//vr3//77+b/++/m//vv5v/AnH//wJx//8Ccf/+TXjJvk14yb5NeMm8AAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACTXjJok14yaJNeMmi3j2z/t49s/7ePbP/WuaL/1rmi/9a5ov/fxbL/38Wy/9/Fsv/n
- 1ML/59TC/+fUwv/u39P/7t/T/+7f0//16uL/9eri//Xq4v/79O//+/Tv//v07//9+vb//fr2//369v//
- /v3///79///+/f/769//++vf//vr3//77+b/++/m//vv5v/AnH//wJx//8Ccf/+TXjJvk14yb5NeMm8A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTXjJok14yaJNeMmi3j2z/t49s/7ePbP/WuaL/1rmi/9a5ov/f
- xbL/38Wy/9/Fsv/n1ML/59TC/+fUwv/u39P/7t/T/+7f0//16uL/9eri//Xq4v/79O//+/Tv//v07//9
- +vb//fr2//369v///v3///79///+/f/769//++vf//vr3//77+b/++/m//vv5v/AnH//wJx//8Ccf/+T
- XjJvk14yb5NeMm8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYYzWJmGM1iZhjNYnHo4T/x6OE/8ejhP//
- /////////////////////////////////////////////////////////////////vz///78///+/P/+
- +/f//vv3//779//+9/H//vfx//738f/+9vH//vbx//728f/krYX/5K2F/+Sthf/66Nv/+ujb//ro2//O
- rpT/zq6U/86ulP+YYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYYzWJmGM1iZhjNYnH
- o4T/x6OE/8ejhP//////////////////////////////////////////////////////////////////
- /vz///78///+/P/++/f//vv3//779//+9/H//vfx//738f/+9vH//vbx//728f/krYX/5K2F/+Sthf/6
- 6Nv/+ujb//ro2//OrpT/zq6U/86ulP+YYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY
- YzWJmGM1iZhjNYnHo4T/x6OE/8ejhP//////////////////////////////////////////////////
- /////////////////vz///78///+/P/++/f//vv3//779//+9/H//vfx//738f/+9vH//vbx//728f/k
- rYX/5K2F/+Sthf/66Nv/+ujb//ro2//OrpT/zq6U/86ulP+YYzWLmGM1i5hjNYsAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDj2nWg49p1oOPazhFj/s4RY/7OEWP/ZpHr/2aR6/9mkev/Y
- nW7/2J1u/9idbv/Xmmn/15pp/9eaaf/YlWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/Ujlj/1I5Y/9SOWP/T
- jVb/041W/9ONVv/inGj/4pxo/+KcaP/649H/+uPR//rj0f/YuqH/2Lqh/9i6of+daDienWg4np1oOJ4A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDj2nWg49p1oOPazhFj/s4RY/7OEWP/Z
- pHr/2aR6/9mkev/YnW7/2J1u/9idbv/Xmmn/15pp/9eaaf/YlWL/2JVi/9iVYv/WkVz/1pFc/9aRXP/U
- jlj/1I5Y/9SOWP/TjVb/041W/9ONVv/inGj/4pxo/+KcaP/649H/+uPR//rj0f/YuqH/2Lqh/9i6of+d
- aDienWg4np1oOJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdaDhXnWg4V51oOFedaDj2nWg49p1oOPaz
- hFj/s4RY/7OEWP/ZpHr/2aR6/9mkev/YnW7/2J1u/9idbv/Xmmn/15pp/9eaaf/YlWL/2JVi/9iVYv/W
- kVz/1pFc/9aRXP/Ujlj/1I5Y/9SOWP/TjVb/041W/9ONVv/inGj/4pxo/+KcaP/649H/+uPR//rj0f/Y
- uqH/2Lqh/9i6of+daDienWg4np1oOJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjbjsUo247FKNuOxSj
- bjuro247q6NuO6vVrYv/1a2L/9Wti//98OX//fDl//3w5f/3x6H/98eh//fHof/3z6z/98+s//fPrP/5
- 1bT/+dW0//nVtP/42rz/+Nq8//javP/43sH/+N7B//jewf/64cX/+uHF//rhxf/65Mz/+uTM//rkzP/9
- 9ez//fXs//317P/izrn/4s65/+LOuf+jbjuzo247s6NuO7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACj
- bjsUo247FKNuOxSjbjuro247q6NuO6vVrYv/1a2L/9Wti//98OX//fDl//3w5f/3x6H/98eh//fHof/3
- z6z/98+s//fPrP/51bT/+dW0//nVtP/42rz/+Nq8//javP/43sH/+N7B//jewf/64cX/+uHF//rhxf/6
- 5Mz/+uTM//rkzP/99ez//fXs//317P/izrn/4s65/+LOuf+jbjuzo247s6NuO7MAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACjbjsUo247FKNuOxSjbjuro247q6NuO6vVrYv/1a2L/9Wti//98OX//fDl//3w5f/3
- x6H/98eh//fHof/3z6z/98+s//fPrP/51bT/+dW0//nVtP/42rz/+Nq8//javP/43sH/+N7B//jewf/6
- 4cX/+uHF//rhxf/65Mz/+uTM//rkzP/99ez//fXs//317P/izrn/4s65/+LOuf+jbjuzo247s6NuO7MA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpdD8oqXQ/KKl0Pyi2hVX/toVV/7aFVf/+
- /v3//v79//7+/f/63sH/+t7B//rewf/63L7/+ty+//rcvv/527//+du///nbv//527//+du///nbv//5
- 3cD/+d3A//ndwP/627//+tu///rbv//63ML/+tzC//rcwv/9697//eve//3r3v/s3M3/7NzN/+zczf+p
- dD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpdD8oqXQ/KKl0Pyi2
- hVX/toVV/7aFVf/+/v3//v79//7+/f/63sH/+t7B//rewf/63L7/+ty+//rcvv/527//+du///nbv//5
- 27//+du///nbv//53cD/+d3A//ndwP/627//+tu///rbv//63ML/+tzC//rcwv/9697//eve//3r3v/s
- 3M3/7NzN/+zczf+pdD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp
- dD8oqXQ/KKl0Pyi2hVX/toVV/7aFVf/+/v3//v79//7+/f/63sH/+t7B//rewf/63L7/+ty+//rcvv/5
- 27//+du///nbv//527//+du///nbv//53cD/+d3A//ndwP/627//+tu///rbv//63ML/+tzC//rcwv/9
- 697//eve//3r3v/s3M3/7NzN/+zczf+pdD/KqXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAACwekIesHpCHrB6Qh64hVH/uIVR/7iFUf/+/Pn//vz5//78+f/53L7/+dy+//ncvv/4
- 277/+Nu+//jbvv/43L//+Ny///jcv//528H/+dvB//nbwf/53MD/+dzA//ncwP/53cH/+d3B//ndwf/6
- 3cL/+t3C//rdwv/759T/++fU//vn1P/17eL/9e3i//Xt4v+wekLksHpC5LB6QuQAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh64hVH/uIVR/7iFUf/+/Pn//vz5//78+f/5
- 3L7/+dy+//ncvv/4277/+Nu+//jbvv/43L//+Ny///jcv//528H/+dvB//nbwf/53MD/+dzA//ncwP/5
- 3cH/+d3B//ndwf/63cL/+t3C//rdwv/759T/++fU//vn1P/17eL/9e3i//Xt4v+wekLksHpC5LB6QuQA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHrB6Qh64hVH/uIVR/7iFUf/+
- /Pn//vz5//78+f/53L7/+dy+//ncvv/4277/+Nu+//jbvv/43L//+Ny///jcv//528H/+dvB//nbwf/5
- 3MD/+dzA//ncwP/53cH/+d3B//ndwf/63cL/+t3C//rdwv/759T/++fU//vn1P/17eL/9e3i//Xt4v+w
- ekLksHpC5LB6QuQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2gUYJtoFGCbaBRgm4
- hEr/uIRK/7iESv/++/f//vv3//779//53MD/+dzA//ncwP/43L7/+Ny+//jcvv/43L7/+Ny+//jcvv/4
- 27//+Nu///jbv//53b//+d2///ndv//53b//+d2///ndv//53cL/+d3C//ndwv/74sv/++LL//viy//8
- +fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2
- gUYJtoFGCbaBRgm4hEr/uIRK/7iESv/++/f//vv3//779//53MD/+dzA//ncwP/43L7/+Ny+//jcvv/4
- 3L7/+Ny+//jcvv/427//+Nu///jbv//53b//+d2///ndv//53b//+d2///ndv//53cL/+d3C//ndwv/7
- 4sv/++LL//viy//8+fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgEAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAC2gUYJtoFGCbaBRgm4hEr/uIRK/7iESv/++/f//vv3//779//53MD/+dzA//ncwP/4
- 3L7/+Ny+//jcvv/43L7/+Ny+//jcvv/427//+Nu///jbv//53b//+d2///ndv//53b//+d2///ndv//5
- 3cL/+d3C//ndwv/74sv/++LL//viy//8+fX//Pn1//z59f+2gUb7toFG+7aBRvu2gUYBtoFGAbaBRgEA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8h0r5vIdK+byHSvn89vD//Pbw//z28P/5
- 38f/+d/H//nfx//53Lz/+dy8//ncvP/63L7/+ty+//rcvv/628D/+tvA//rbwP/63cL/+t3C//rdwv/6
- 3cH/+t3B//rdwf/53cP/+d3D//ndw//74Mn/++DJ//vgyf///Pr///z6///8+v/AjFL/wIxS/8CMUv+8
- h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8h0r5vIdK+byHSvn8
- 9vD//Pbw//z28P/538f/+d/H//nfx//53Lz/+dy8//ncvP/63L7/+ty+//rcvv/628D/+tvA//rbwP/6
- 3cL/+t3C//rdwv/63cH/+t3B//rdwf/53cP/+d3D//ndw//74Mn/++DJ//vgyf///Pr///z6///8+v/A
- jFL/wIxS/8CMUv+8h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8
- h0r5vIdK+byHSvn89vD//Pbw//z28P/538f/+d/H//nfx//53Lz/+dy8//ncvP/63L7/+ty+//rcvv/6
- 28D/+tvA//rbwP/63cL/+t3C//rdwv/63cH/+t3B//rdwf/53cP/+d3D//ndw//74Mn/++DJ//vgyf//
- /Pr///z6///8+v/AjFL/wIxS/8CMUv+8h0oPvIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADDjU3aw41N2sONTdr159j/9efY//Xn2P/65dL/+uXS//rl0v/52rv/+dq7//nau//5
- 27v/+du7//nbu//6277/+tu+//rbvv/63cD/+t3A//rdwP/63cD/+t3A//rdwP/53cP/+d3D//ndw//7
- 4cj/++HI//vhyP///fv///37///9+//Ik1b/yJNW/8iTVv/DjU0Sw41NEsONTRIAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDjU3aw41N2sONTdr159j/9efY//Xn2P/65dL/+uXS//rl0v/5
- 2rv/+dq7//nau//527v/+du7//nbu//6277/+tu+//rbvv/63cD/+t3A//rdwP/63cD/+t3A//rdwP/5
- 3cP/+d3D//ndw//74cj/++HI//vhyP///fv///37///9+//Ik1b/yJNW/8iTVv/DjU0Sw41NEsONTRIA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDjU3aw41N2sONTdr159j/9efY//Xn2P/6
- 5dL/+uXS//rl0v/52rv/+dq7//nau//527v/+du7//nbu//6277/+tu+//rbvv/63cD/+t3A//rdwP/6
- 3cD/+t3A//rdwP/53cP/+d3D//ndw//74cj/++HI//vhyP///fv///37///9+//Ik1b/yJNW/8iTVv/D
- jU0Sw41NEsONTRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKk1G7ypNRu8qTUbvw
- 2cD/8NnA//DZwP/77eH/++3h//vt4f/52r//+dq///nav//53MH/+dzB//ncwf/53sT/+d7E//nexP/6
- 4Mf/+uDH//rgx//64sr/+uLK//riyv/64s3/+uLN//rizf/65dD/+uXQ//rl0P///v3///79///+/f/L
- jln/y45Z/8uOWf/Kk1HxypNR8cqTUfHKk1FFypNRRcqTUUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK
- k1G7ypNRu8qTUbvw2cD/8NnA//DZwP/77eH/++3h//vt4f/52r//+dq///nav//53MH/+dzB//ncwf/5
- 3sT/+d7E//nexP/64Mf/+uDH//rgx//64sr/+uLK//riyv/64s3/+uLN//rizf/65dD/+uXQ//rl0P//
- /v3///79///+/f/Ljln/y45Z/8uOWf/Kk1HxypNR8cqTUfHKk1FFypNRRcqTUUUAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADKk1G7ypNRu8qTUbvw2cD/8NnA//DZwP/77eH/++3h//vt4f/52r//+dq///nav//5
- 3MH/+dzB//ncwf/53sT/+d7E//nexP/64Mf/+uDH//rgx//64sr/+uLK//riyv/64s3/+uLN//rizf/6
- 5dD/+uXQ//rl0P///v3///79///+/f/Ljln/y45Z/8uOWf/Kk1HxypNR8cqTUfHKk1FFypNRRcqTUUUA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf//9vD///bw///28P/6
- 4cr/+uHK//rhyv/748z/++PM//vjzP/749D/++PQ//vj0P/75tP/++bT//vm0//76dX/++nV//vp1f/8
- 6dj//OnY//zp2P/86tv//Orb//zq2/////3////9/////f/SnHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/Q
- mVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTt0LH/7dCx/+3Qsf//
- 9vD///bw///28P/64cr/+uHK//rhyv/748z/++PM//vjzP/749D/++PQ//vj0P/75tP/++bT//vm0//7
- 6dX/++nV//vp1f/86dj//OnY//zp2P/86tv//Orb//zq2/////3////9/////f/SnHD/0pxw/9KccP/u
- 2cD/7tnA/+7ZwP/QmVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpNCZVKTt
- 0LH/7dCx/+3Qsf//9vD///bw///28P/64cr/+uHK//rhyv/748z/++PM//vjzP/749D/++PQ//vj0P/7
- 5tP/++bT//vm0//76dX/++nV//vp1f/86dj//OnY//zp2P/86tv//Orb//zq2/////3////9/////f/S
- nHD/0pxw/9KccP/u2cD/7tnA/+7ZwP/QmVTl0JlU5dCZVOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV
- nleS1Z5XktWeV5LryqT/68qk/+vKpP///fv///37///9+//96dX//enV//3p1f/969j//evY//3r2P/9
- 6tv//erb//3q2//97d///e3f//3t3//98OL//fDi//3w4v/98eT//fHk//3x5P/88OT//PDk//zw5P//
- ///////////////gn2//4J9v/+Cfb///+/n///v5///7+f/ft4b/37eG/9+3hv8AAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADVnleS1Z5XktWeV5LryqT/68qk/+vKpP///fv///37///9+//96dX//enV//3p1f/9
- 69j//evY//3r2P/96tv//erb//3q2//97d///e3f//3t3//98OL//fDi//3w4v/98eT//fHk//3x5P/8
- 8OT//PDk//zw5P/////////////////gn2//4J9v/+Cfb///+/n///v5///7+f/ft4b/37eG/9+3hv8A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVnleS1Z5XktWeV5LryqT/68qk/+vKpP///fv///37///9+//9
- 6dX//enV//3p1f/969j//evY//3r2P/96tv//erb//3q2//97d///e3f//3t3//98OL//fDi//3w4v/9
- 8eT//fHk//3x5P/88OT//PDk//zw5P/////////////////gn2//4J9v/+Cfb///+/n///v5///7+f/f
- t4b/37eG/9+3hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADao1qE2qNahNqjWoTrxZn/68WZ/+vFmf//
- ///////////////87+L//O/i//zv4v/98Of//fDn//3w5//98ev//fHr//3x6//99e7//fXu//317v/9
- +PH//fjx//348f/9+vf//fr3//369////Pr///z6///8+v/////////////////++/f//vv3//779//0
- 2r//9Nq///Tav//ao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADao1qE2qNahNqjWoTr
- xZn/68WZ/+vFmf/////////////////87+L//O/i//zv4v/98Of//fDn//3w5//98ev//fHr//3x6//9
- 9e7//fXu//317v/9+PH//fjx//348f/9+vf//fr3//369////Pr///z6///8+v/////////////////+
- +/f//vv3//779//02r//9Nq///Tav//ao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa
- o1qE2qNahNqjWoTrxZn/68WZ/+vFmf/////////////////87+L//O/i//zv4v/98Of//fDn//3w5//9
- 8ev//fHr//3x6//99e7//fXu//317v/9+PH//fjx//348f/9+vf//fr3//369////Pr///z6///8+v//
- ///////////////++/f//vv3//779//02r//9Nq///Tav//ao1rq2qNa6tqjWuoAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADep1xt3qdcbd6nXG3qv4v/6r+L/+q/i///////////////////////////////////
- ///////////////////////////////9+fT//fn0//359P/78+r/+/Pq//vz6v/469n/+OvZ//jr2f/4
- 5tP/+ObT//jm0//138X/9d/F//Xfxf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3ep1xd3qdcXd6nXF0A
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3qv4v/6r+L/+q/i///////////////////
- ///////////////////////////////////////////////9+fT//fn0//359P/78+r/+/Pq//vz6v/4
- 69n/+OvZ//jr2f/45tP/+ObT//jm0//138X/9d/F//Xfxf/py6X/6cul/+nLpf/ep1zt3qdc7d6nXO3e
- p1xd3qdcXd6nXF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADep1xt3qdcbd6nXG3qv4v/6r+L/+q/i///
- ///////////////////////////////////////////////////////////////9+fT//fn0//359P/7
- 8+r/+/Pq//vz6v/469n/+OvZ//jr2f/45tP/+ObT//jm0//138X/9d/F//Xfxf/py6X/6cul/+nLpf/e
- p1zt3qdc7d6nXO3ep1xd3qdcXd6nXF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiq1424qteNuKrXjbi
- q17G4qtexuKrXsbqu4D/6ruA/+q7gP/otnb/6LZ2/+i2dv/msWz/5rFs/+axbP/kr2f/5K9n/+SvZ//i
- q17w4qte8OKrXvDiq17j4qte4+KrXuPiq17P4qtez+KrXs/iq17M4qtezOKrXsziq1674qteu+KrXrvi
- q16o4qteqOKrXqjiq15L4qteS+KrXkviq14F4qteBeKrXgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi
- q1424qteNuKrXjbiq17G4qtexuKrXsbqu4D/6ruA/+q7gP/otnb/6LZ2/+i2dv/msWz/5rFs/+axbP/k
- r2f/5K9n/+SvZ//iq17w4qte8OKrXvDiq17j4qte4+KrXuPiq17P4qtez+KrXs/iq17M4qtezOKrXszi
- q1674qteu+KrXrviq16o4qteqOKrXqjiq15L4qteS+KrXkviq14F4qteBeKrXgUAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAADiq1424qteNuKrXjbiq17G4qtexuKrXsbqu4D/6ruA/+q7gP/otnb/6LZ2/+i2dv/m
- sWz/5rFs/+axbP/kr2f/5K9n/+SvZ//iq17w4qte8OKrXvDiq17j4qte4+KrXuPiq17P4qtez+KrXs/i
- q17M4qtezOKrXsziq1674qteu+KrXrviq16o4qteqOKrXqjiq15L4qteS+KrXkviq14F4qteBeKrXgUA
- AAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAA
- PwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AADg
- AAAAAD8AAOAAAAAAPwAA4AAAAAA/AADgAAAAAD8AAOAAAAAAPwAA4AAAAAA/AADgAAAAAAcAAOAAAAAA
- BwAA4AAAAAAHAAD8AAAAAAcAAPwAAAAABwAA/AAAAAAHAAD8AAAAAAcAAPwAAAAABwAA/AAAAAAHAAD8
- AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAA
- AAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8
- AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAADDDgAAww4AAAAAAAAA
- AAAAj1owFI9aMBSPWjCEj1owhI9aMKOPWjCjj1owto9aMLaPWjDJj1owyY9aMNqPWjDaj1ow649aMOuP
- WjD6j1ow+pRgOP+UYDj/mWhA/5loQP+ic07/onNO/6yBXv+sgV7/j1ow2Y9aMNmPWjA0j1owNAAAAAAA
- AAAAAAAAAAAAAACPWjAUj1owFI9aMISPWjCEj1owo49aMKOPWjC2j1owto9aMMmPWjDJj1ow2o9aMNqP
- WjDrj1ow649aMPqPWjD6lGA4/5RgOP+ZaED/mWhA/6JzTv+ic07/rIFe/6yBXv+PWjDZj1ow2Y9aMDSP
- WjA0AAAAAAAAAAAAAAAAAAAAAJNeMmiTXjJot49s/7ePbP/WuaL/1rmi/9/Fsv/fxbL/59TC/+fUwv/u
- 39P/7t/T//Xq4v/16uL/+/Tv//v07//9+vb//fr2///+/f///v3/++vf//vr3//77+b/++/m/8Ccf//A
- nH//k14yb5NeMm8AAAAAAAAAAAAAAAAAAAAAk14yaJNeMmi3j2z/t49s/9a5ov/WuaL/38Wy/9/Fsv/n
- 1ML/59TC/+7f0//u39P/9eri//Xq4v/79O//+/Tv//369v/9+vb///79///+/f/769//++vf//vv5v/7
- 7+b/wJx//8Ccf/+TXjJvk14ybwAAAAAAAAAAAAAAAAAAAACYYzWJmGM1icejhP/Ho4T/////////////
- /////////////////////////////////vz///78//779//++/f//vfx//738f/+9vH//vbx/+Sthf/k
- rYX/+ujb//ro2//OrpT/zq6U/5hjNYuYYzWLAAAAAAAAAAAAAAAAAAAAAJhjNYmYYzWJx6OE/8ejhP//
- ///////////////////////////////////////////+/P///vz//vv3//779//+9/H//vfx//728f/+
- 9vH/5K2F/+Sthf/66Nv/+ujb/86ulP/OrpT/mGM1i5hjNYsAAAAAAAAAAAAAAAAAAAAAnWg4V51oOFed
- aDj2nWg49rOEWP+zhFj/2aR6/9mkev/YnW7/2J1u/9eaaf/Xmmn/2JVi/9iVYv/WkVz/1pFc/9SOWP/U
- jlj/041W/9ONVv/inGj/4pxo//rj0f/649H/2Lqh/9i6of+daDienWg4ngAAAAAAAAAAAAAAAAAAAACd
- aDhXnWg4V51oOPadaDj2s4RY/7OEWP/ZpHr/2aR6/9idbv/YnW7/15pp/9eaaf/YlWL/2JVi/9aRXP/W
- kVz/1I5Y/9SOWP/TjVb/041W/+KcaP/inGj/+uPR//rj0f/YuqH/2Lqh/51oOJ6daDieAAAAAAAAAAAA
- AAAAAAAAAKNuOxSjbjsUo247q6NuO6vVrYv/1a2L//3w5f/98OX/98eh//fHof/3z6z/98+s//nVtP/5
- 1bT/+Nq8//javP/43sH/+N7B//rhxf/64cX/+uTM//rkzP/99ez//fXs/+LOuf/izrn/o247s6NuO7MA
- AAAAAAAAAAAAAAAAAAAAo247FKNuOxSjbjuro247q9Wti//VrYv//fDl//3w5f/3x6H/98eh//fPrP/3
- z6z/+dW0//nVtP/42rz/+Nq8//jewf/43sH/+uHF//rhxf/65Mz/+uTM//317P/99ez/4s65/+LOuf+j
- bjuzo247swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKl0PyipdD8otoVV/7aFVf/+/v3//v79//rewf/6
- 3sH/+ty+//rcvv/527//+du///nbv//527//+d3A//ndwP/627//+tu///rcwv/63ML//eve//3r3v/s
- 3M3/7NzN/6l0P8qpdD/KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXQ/KKl0Pyi2hVX/toVV//7+/f/+
- /v3/+t7B//rewf/63L7/+ty+//nbv//527//+du///nbv//53cD/+d3A//rbv//627//+tzC//rcwv/9
- 697//eve/+zczf/s3M3/qXQ/yql0P8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwekIesHpCHriFUf+4
- hVH//vz5//78+f/53L7/+dy+//jbvv/4277/+Ny///jcv//528H/+dvB//ncwP/53MD/+d3B//ndwf/6
- 3cL/+t3C//vn1P/759T/9e3i//Xt4v+wekLksHpC5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB6Qh6w
- ekIeuIVR/7iFUf/+/Pn//vz5//ncvv/53L7/+Nu+//jbvv/43L//+Ny///nbwf/528H/+dzA//ncwP/5
- 3cH/+d3B//rdwv/63cL/++fU//vn1P/17eL/9e3i/7B6QuSwekLkAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAtoFGCbaBRgm4hEr/uIRK//779//++/f/+dzA//ncwP/43L7/+Ny+//jcvv/43L7/+Nu///jbv//5
- 3b//+d2///ndv//53b//+d3C//ndwv/74sv/++LL//z59f/8+fX/toFG+7aBRvu2gUYBtoFGAQAAAAAA
- AAAAAAAAAAAAAAC2gUYJtoFGCbiESv+4hEr//vv3//779//53MD/+dzA//jcvv/43L7/+Ny+//jcvv/4
- 27//+Nu///ndv//53b//+d2///ndv//53cL/+d3C//viy//74sv//Pn1//z59f+2gUb7toFG+7aBRgG2
- gUYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvIdK+byHSvn89vD//Pbw//nfx//538f/+dy8//ncvP/6
- 3L7/+ty+//rbwP/628D/+t3C//rdwv/63cH/+t3B//ndw//53cP/++DJ//vgyf///Pr///z6/8CMUv/A
- jFL/vIdKD7yHSg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8h0r5vIdK+fz28P/89vD/+d/H//nfx//5
- 3Lz/+dy8//rcvv/63L7/+tvA//rbwP/63cL/+t3C//rdwf/63cH/+d3D//ndw//74Mn/++DJ///8+v//
- /Pr/wIxS/8CMUv+8h0oPvIdKDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMONTdrDjU3a9efY//Xn2P/6
- 5dL/+uXS//nau//52rv/+du7//nbu//6277/+tu+//rdwP/63cD/+t3A//rdwP/53cP/+d3D//vhyP/7
- 4cj///37///9+//Ik1b/yJNW/8ONTRLDjU0SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw41N2sONTdr1
- 59j/9efY//rl0v/65dL/+dq7//nau//527v/+du7//rbvv/6277/+t3A//rdwP/63cD/+t3A//ndw//5
- 3cP/++HI//vhyP///fv///37/8iTVv/Ik1b/w41NEsONTRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK
- k1G7ypNRu/DZwP/w2cD/++3h//vt4f/52r//+dq///ncwf/53MH/+d7E//nexP/64Mf/+uDH//riyv/6
- 4sr/+uLN//rizf/65dD/+uXQ///+/f///v3/y45Z/8uOWf/Kk1HxypNR8cqTUUXKk1FFAAAAAAAAAAAA
- AAAAAAAAAMqTUbvKk1G78NnA//DZwP/77eH/++3h//nav//52r//+dzB//ncwf/53sT/+d7E//rgx//6
- 4Mf/+uLK//riyv/64s3/+uLN//rl0P/65dD///79///+/f/Ljln/y45Z/8qTUfHKk1HxypNRRcqTUUUA
- AAAAAAAAAAAAAAAAAAAA0JlUpNCZVKTt0LH/7dCx///28P//9vD/+uHK//rhyv/748z/++PM//vj0P/7
- 49D/++bT//vm0//76dX/++nV//zp2P/86dj//Orb//zq2/////3////9/9KccP/SnHD/7tnA/+7ZwP/Q
- mVTl0JlU5QAAAAAAAAAAAAAAAAAAAADQmVSk0JlUpO3Qsf/t0LH///bw///28P/64cr/+uHK//vjzP/7
- 48z/++PQ//vj0P/75tP/++bT//vp1f/76dX//OnY//zp2P/86tv//Orb/////f////3/0pxw/9KccP/u
- 2cD/7tnA/9CZVOXQmVTlAAAAAAAAAAAAAAAAAAAAANWeV5LVnleS68qk/+vKpP///fv///37//3p1f/9
- 6dX//evY//3r2P/96tv//erb//3t3//97d///fDi//3w4v/98eT//fHk//zw5P/88OT////////////g
- n2//4J9v///7+f//+/n/37eG/9+3hv8AAAAAAAAAAAAAAAAAAAAA1Z5XktWeV5LryqT/68qk///9+///
- /fv//enV//3p1f/969j//evY//3q2//96tv//e3f//3t3//98OL//fDi//3x5P/98eT//PDk//zw5P//
- /////////+Cfb//gn2////v5///7+f/ft4b/37eG/wAAAAAAAAAAAAAAAAAAAADao1qE2qNahOvFmf/r
- xZn////////////87+L//O/i//3w5//98Of//fHr//3x6//99e7//fXu//348f/9+PH//fr3//369///
- /Pr///z6/////////////vv3//779//02r//9Nq//9qjWurao1rqAAAAAAAAAAAAAAAAAAAAANqjWoTa
- o1qE68WZ/+vFmf////////////zv4v/87+L//fDn//3w5//98ev//fHr//317v/99e7//fjx//348f/9
- +vf//fr3///8+v///Pr////////////++/f//vv3//Tav//02r//2qNa6tqjWuoAAAAAAAAAAAAAAAAA
- AAAA3qdcbd6nXG3qv4v/6r+L/////////////////////////////////////////////fn0//359P/7
- 8+r/+/Pq//jr2f/469n/+ObT//jm0//138X/9d/F/+nLpf/py6X/3qdc7d6nXO3ep1xd3qdcXQAAAAAA
- AAAAAAAAAAAAAADep1xt3qdcbeq/i//qv4v////////////////////////////////////////////9
- +fT//fn0//vz6v/78+r/+OvZ//jr2f/45tP/+ObT//Xfxf/138X/6cul/+nLpf/ep1zt3qdc7d6nXF3e
- p1xdAAAAAAAAAAAAAAAAAAAAAOKrXjbiq1424qtexuKrXsbqu4D/6ruA/+i2dv/otnb/5rFs/+axbP/k
- r2f/5K9n/+KrXvDiq17w4qte4+KrXuPiq17P4qtez+KrXsziq17M4qteu+KrXrviq16o4qteqOKrXkvi
- q15L4qteBeKrXgUAAAAAAAAAAAAAAAAAAAAA4qteNuKrXjbiq17G4qtexuq7gP/qu4D/6LZ2/+i2dv/m
- sWz/5rFs/+SvZ//kr2f/4qte8OKrXvDiq17j4qte4+KrXs/iq17P4qtezOKrXsziq1674qteu+KrXqji
- q16o4qteS+KrXkviq14F4qteBQAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/A
- AAAPwAAAD8AAAA/AAAAPwAAAA8AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAPAAAADwAAAA8AAAAPAAAADw
- AAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAKAAAABAAAAAgAAAAAQAgAAAAAAAABAAAww4AAMMOAAAA
- AAAAAAAAAI9aMBSPWjCEj1owo49aMLaPWjDJj1ow2o9aMOuPWjD6lGA4/5loQP+ic07/rIFe/49aMNmP
- WjA0AAAAAAAAAACTXjJot49s/9a5ov/fxbL/59TC/+7f0//16uL/+/Tv//369v///v3/++vf//vv5v/A
- nH//k14ybwAAAAAAAAAAmGM1icejhP////////////////////////78//779//+9/H//vbx/+Sthf/6
- 6Nv/zq6U/5hjNYsAAAAAAAAAAJ1oOFedaDj2s4RY/9mkev/YnW7/15pp/9iVYv/WkVz/1I5Y/9ONVv/i
- nGj/+uPR/9i6of+daDieAAAAAAAAAACjbjsUo247q9Wti//98OX/98eh//fPrP/51bT/+Nq8//jewf/6
- 4cX/+uTM//317P/izrn/o247swAAAAAAAAAAAAAAAKl0Pyi2hVX//v79//rewf/63L7/+du///nbv//5
- 3cD/+tu///rcwv/9697/7NzN/6l0P8oAAAAAAAAAAAAAAACwekIeuIVR//78+f/53L7/+Nu+//jcv//5
- 28H/+dzA//ndwf/63cL/++fU//Xt4v+wekLkAAAAAAAAAAAAAAAAtoFGCbiESv/++/f/+dzA//jcvv/4
- 3L7/+Nu///ndv//53b//+d3C//viy//8+fX/toFG+7aBRgEAAAAAAAAAAAAAAAC8h0r5/Pbw//nfx//5
- 3Lz/+ty+//rbwP/63cL/+t3B//ndw//74Mn///z6/8CMUv+8h0oPAAAAAAAAAAAAAAAAw41N2vXn2P/6
- 5dL/+dq7//nbu//6277/+t3A//rdwP/53cP/++HI///9+//Ik1b/w41NEgAAAAAAAAAAAAAAAMqTUbvw
- 2cD/++3h//nav//53MH/+d7E//rgx//64sr/+uLN//rl0P///v3/y45Z/8qTUfHKk1FFAAAAAAAAAADQ
- mVSk7dCx///28P/64cr/++PM//vj0P/75tP/++nV//zp2P/86tv////9/9KccP/u2cD/0JlU5QAAAAAA
- AAAA1Z5XkuvKpP///fv//enV//3r2P/96tv//e3f//3w4v/98eT//PDk///////gn2////v5/9+3hv8A
- AAAAAAAAANqjWoTrxZn///////zv4v/98Of//fHr//317v/9+PH//fr3///8+v///////vv3//Tav//a
- o1rqAAAAAAAAAADep1xt6r+L///////////////////////9+fT/+/Pq//jr2f/45tP/9d/F/+nLpf/e
- p1zt3qdcXQAAAAAAAAAA4qteNuKrXsbqu4D/6LZ2/+axbP/kr2f/4qte8OKrXuPiq17P4qtezOKrXrvi
- q16o4qteS+KrXgUAAwAAAAMAAAADAAAAAwAAAAMAAIADAACAAwAAgAEAAMABAADAAQAAwAAAAMAAAADA
- AAAAwAAAAMAAAADAAAAA
-
-
-
\ No newline at end of file
diff --git a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj b/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj
deleted file mode 100644
index bb378aa..0000000
--- a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}
- WinExe
- Novetus.ClientScriptTester
- ClientScriptTester
- v4.8
- 512
-
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- TRACE;DEBUG;TESTER;NOVETUS_APPS
- prompt
- 4
- false
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE;TESTER;NOVETUS_APPS;NET481
- prompt
- 4
- false
-
-
- NovetusIcon.ico
-
-
- app.manifest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- ClientScriptTestForm.cs
-
-
-
-
- ClientScriptTestForm.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
-
-
- SET path=$(SolutionDir)build
-if not exist "%25path%25" mkdir "%25path%25"
-SET path2=%25path%25\ClientScriptTester
-if not exist "%25path2%25" mkdir "%25path2%25"
-copy $(ProjectDir)$(OutDir) "%25path2%25"\*
-del "%25path%25"\$(TargetName).vshost.exe
-del "%25path%25"\$(TargetName).vshost.exe.config
-del "%25path%25"\$(TargetName).vshost.exe.manifest
-del "%25path%25"\$(TargetName).xml
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Novetus/Novetus.ClientScriptTester/NovetusIcon.ico b/Novetus/Novetus.ClientScriptTester/NovetusIcon.ico
deleted file mode 100644
index 8cd1cbe..0000000
Binary files a/Novetus/Novetus.ClientScriptTester/NovetusIcon.ico and /dev/null differ
diff --git a/Novetus/Novetus.ClientScriptTester/Properties/AssemblyInfo.cs b/Novetus/Novetus.ClientScriptTester/Properties/AssemblyInfo.cs
deleted file mode 100644
index 63b9fe1..0000000
--- a/Novetus/Novetus.ClientScriptTester/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-#region Usings
-using System.Reflection;
-using System.Runtime.InteropServices;
-#endregion
-
-
-// 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("ClientScript tester")]
-[assembly: AssemblyDescription("ClientScript tester tor testing ClientScript variables.")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Bitl")]
-[assembly: AssemblyProduct("Novetus")]
-[assembly: AssemblyCopyright("(c) Bitl 2018-2021. All rights to Roblox go to the Roblox Corporation.")]
-[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)]
-
-// 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.3.*")]
diff --git a/Novetus/Novetus.ClientScriptTester/Properties/Resources.Designer.cs b/Novetus/Novetus.ClientScriptTester/Properties/Resources.Designer.cs
deleted file mode 100644
index 8ac6056..0000000
--- a/Novetus/Novetus.ClientScriptTester/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Novetus.ClientScriptTester.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Novetus.ClientScriptTester.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/Novetus/Novetus.ClientScriptTester/Properties/Resources.resx b/Novetus/Novetus.ClientScriptTester/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/Novetus/Novetus.ClientScriptTester/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/Novetus/Novetus.ClientScriptTester/Properties/Settings.Designer.cs b/Novetus/Novetus.ClientScriptTester/Properties/Settings.Designer.cs
deleted file mode 100644
index 42f97fc..0000000
--- a/Novetus/Novetus.ClientScriptTester/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Novetus.ClientScriptTester.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.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/Novetus/Novetus.ClientScriptTester/Properties/Settings.settings b/Novetus/Novetus.ClientScriptTester/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/Novetus/Novetus.ClientScriptTester/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Novetus/Novetus.ClientScriptTester/Resources/ClientScriptTester.ico b/Novetus/Novetus.ClientScriptTester/Resources/ClientScriptTester.ico
deleted file mode 100644
index ced545e..0000000
Binary files a/Novetus/Novetus.ClientScriptTester/Resources/ClientScriptTester.ico and /dev/null differ
diff --git a/Novetus/Novetus.ClientScriptTester/Resources/NovetusIcon.ico b/Novetus/Novetus.ClientScriptTester/Resources/NovetusIcon.ico
deleted file mode 100644
index 8cd1cbe..0000000
Binary files a/Novetus/Novetus.ClientScriptTester/Resources/NovetusIcon.ico and /dev/null differ
diff --git a/Novetus/Novetus.ClientScriptTester/app.config b/Novetus/Novetus.ClientScriptTester/app.config
deleted file mode 100644
index da4575c..0000000
--- a/Novetus/Novetus.ClientScriptTester/app.config
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Novetus/Novetus.ClientScriptTester/app.manifest b/Novetus/Novetus.ClientScriptTester/app.manifest
deleted file mode 100644
index 5064322..0000000
--- a/Novetus/Novetus.ClientScriptTester/app.manifest
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true/pm
- permonitorv2,permonitor
- true
- true
-
-
-
-
-
-
-
-
-
-
diff --git a/Novetus/Novetus.ReleasePreparer/Novetus.Internal.ReleasePreparer.csproj b/Novetus/Novetus.ReleasePreparer/Novetus.Internal.ReleasePreparer.csproj
deleted file mode 100644
index 5c14202..0000000
--- a/Novetus/Novetus.ReleasePreparer/Novetus.Internal.ReleasePreparer.csproj
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {64A99062-3C1C-4D2E-99E4-D6D92443AC98}
- Exe
- Novetus.ReleasePreparer
- ReleasePreparer
- v4.8
- 512
- false
-
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- TRACE;DEBUG;PREPARER;NET481
- prompt
- 4
- false
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE;PREPARER;NET481
- prompt
- 4
- false
-
-
- NovetusIcon.ico
-
-
-
-
-
-
-
-
-
-
-
-
- INIFile.cs
-
-
-
-
-
-
-
-
-
-
-
-
- SET path=$(SolutionDir)build
-if not exist "%25path%25" mkdir "%25path%25"
-copy $(ProjectDir)$(OutDir) "%25path%25"\*
-del "%25path%25"\$(TargetName).vshost.exe
-del "%25path%25"\$(TargetName).vshost.exe.config
-del "%25path%25"\$(TargetName).vshost.exe.manifest
-del "%25path%25"\$(TargetName).xml
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Novetus/Novetus.ReleasePreparer/NovetusIcon.ico b/Novetus/Novetus.ReleasePreparer/NovetusIcon.ico
deleted file mode 100644
index 8cd1cbe..0000000
Binary files a/Novetus/Novetus.ReleasePreparer/NovetusIcon.ico and /dev/null differ
diff --git a/Novetus/Novetus.ReleasePreparer/Properties/AssemblyInfo.cs b/Novetus/Novetus.ReleasePreparer/Properties/AssemblyInfo.cs
deleted file mode 100644
index 441fdf7..0000000
--- a/Novetus/Novetus.ReleasePreparer/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-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("ReleasePreparer")]
-[assembly: AssemblyDescription("A utility designed for faster releases.")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Bitl")]
-[assembly: AssemblyProduct("ReleasePreparer")]
-[assembly: AssemblyCopyright("(c) Bitl 2018-2021. All rights to Roblox go to the Roblox Corporation.")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("64a99062-3c1c-4d2e-99e4-d6d92443ac98")]
-
-// 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.3.*")]
diff --git a/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs b/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs
deleted file mode 100644
index 3680341..0000000
--- a/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs
+++ /dev/null
@@ -1,156 +0,0 @@
-#region Usings
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-#endregion
-
-namespace Novetus.ReleasePreparer
-{
- #region ReleasePreparer
- class ReleasePreparer
- {
- static void Main(string[] args)
- {
- string novpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\Novetus";
-
- if (args.Length > 0)
- {
- if (args.Contains("-snapshot"))
- {
- string infopath = novpath + @"\\config\\info.ini";
- string currver = GetBranch(infopath);
- TurnOnInitialSequence(infopath);
-
- string pathbeta = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\betaversion.txt";
- Console.WriteLine("Creating " + pathbeta);
- if (!File.Exists(pathbeta))
- {
- // Create a file to write to.
- using (StreamWriter sw = File.CreateText(pathbeta))
- {
- sw.Write(currver);
- }
- }
- Console.WriteLine("Created " + pathbeta);
- }
- else if (args.Contains("-release"))
- {
- DoRelease(novpath);
- }
- }
- else
- {
- DoRelease(novpath);
- }
- }
-
- public static void DoRelease(string novpath)
- {
- string infopath = novpath + @"\\config\\info.ini";
- string currbranch = GetBranch(infopath);
- TurnOnInitialSequence(infopath);
-
- string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\releaseversion.txt";
- Console.WriteLine("Creating " + path);
- if (!File.Exists(path))
- {
- // Create a file to write to.
- using (StreamWriter sw = File.CreateText(path))
- {
- sw.Write(currbranch);
- }
- }
- Console.WriteLine("Created " + path);
- }
-
- public static void FixedFileCopy(string src, string dest, bool overwrite)
- {
- if (File.Exists(dest))
- {
- File.SetAttributes(dest, FileAttributes.Normal);
- }
-
- File.Copy(src, dest, overwrite);
- File.SetAttributes(dest, FileAttributes.Normal);
- }
-
- public static void FixedFileDelete(string src)
- {
- if (File.Exists(src))
- {
- File.SetAttributes(src, FileAttributes.Normal);
- File.Delete(src);
- }
- }
-
- public static string GetBranch(string infopath)
- {
- INIFile ini = new INIFile(infopath);
- return GetBranch(ini, infopath);
- }
-
- public static string GetBranch(INIFile ini, string infopath)
- {
- //READ
- string versionbranch, extendedVersionNumber, extendedVersionTemplate, extendedVersionRevision, isLite;
- string section = "ProgramInfo";
- versionbranch = ini.IniReadValue(section, "Branch", "0.0");
- extendedVersionNumber = ini.IniReadValue(section, "ExtendedVersionNumber", "False");
- extendedVersionTemplate = ini.IniReadValue(section, "ExtendedVersionTemplate", "%version%");
- extendedVersionRevision = ini.IniReadValue(section, "ExtendedVersionRevision", "-1");
- isLite = ini.IniReadValue(section, "IsLite", "False");
-
- string novpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\Novetus\\bin\\Novetus.exe";
-
- if (!extendedVersionNumber.Equals("False"))
- {
- var versionInfo = FileVersionInfo.GetVersionInfo(novpath);
- return extendedVersionTemplate.Replace("%version%", versionbranch)
- .Replace("%build%", versionInfo.ProductBuildPart.ToString())
- .Replace("%revision%", versionInfo.FilePrivatePart.ToString())
- .Replace("%extended-revision%", (!extendedVersionRevision.Equals("-1") ? extendedVersionRevision : ""))
- .Replace("%lite%", (!isLite.Equals("False") ? " (Lite)" : ""));
- }
- else
- {
- return versionbranch;
- }
- }
-
- public static void SetToLite(string infopath)
- {
- INIFile ini = new INIFile(infopath);
- string section = "ProgramInfo";
- string isLite = ini.IniReadValue(section, "IsLite", "False");
-
- try
- {
- if (!isLite.Equals("True"))
- {
- ini.IniWriteValue(section, "IsLite", "True");
- }
- }
- catch (Exception)
- {
- SetToLite(infopath);
- }
- }
-
- public static void TurnOnInitialSequence(string infopath)
- {
- //READ
- INIFile ini = new INIFile(infopath);
- string section = "ProgramInfo";
-
- string initialBootup = ini.IniReadValue(section, "InitialBootup", "True");
- if (Convert.ToBoolean(initialBootup) == false)
- {
- ini.IniWriteValue(section, "InitialBootup", "True");
- }
- }
- }
- #endregion
-}
diff --git a/Novetus/Novetus.ReleasePreparer/Resources/NovetusIcon.ico b/Novetus/Novetus.ReleasePreparer/Resources/NovetusIcon.ico
deleted file mode 100644
index 8cd1cbe..0000000
Binary files a/Novetus/Novetus.ReleasePreparer/Resources/NovetusIcon.ico and /dev/null differ
diff --git a/Novetus/Novetus.ReleasePreparer/app.config b/Novetus/Novetus.ReleasePreparer/app.config
deleted file mode 100644
index 3e0e37c..0000000
--- a/Novetus/Novetus.ReleasePreparer/app.config
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/Novetus/Novetus.Tools.sln b/Novetus/Novetus.Tools.sln
deleted file mode 100644
index f90a1a5..0000000
--- a/Novetus/Novetus.Tools.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.2.32630.192
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novetus.Internal.ReleasePreparer", "Novetus.ReleasePreparer\Novetus.Internal.ReleasePreparer.csproj", "{64A99062-3C1C-4D2E-99E4-D6D92443AC98}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novetus.ClientScriptTester", "Novetus.ClientScriptTester\Novetus.ClientScriptTester.csproj", "{83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {64A99062-3C1C-4D2E-99E4-D6D92443AC98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {64A99062-3C1C-4D2E-99E4-D6D92443AC98}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {64A99062-3C1C-4D2E-99E4-D6D92443AC98}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {64A99062-3C1C-4D2E-99E4-D6D92443AC98}.Release|Any CPU.Build.0 = Release|Any CPU
- {83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {83B08607-65B8-4F9C-8D0F-AB1C8EEFFAE0}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {66CA6CE5-670E-48AA-A2DA-9347371D4CA0}
- EndGlobalSection
-EndGlobal
diff --git a/Novetus/NovetusCore/Classes/IDiscordRPC.cs b/Novetus/NovetusCore/Classes/IDiscordRPC.cs
index afda33f..e3e7ece 100644
--- a/Novetus/NovetusCore/Classes/IDiscordRPC.cs
+++ b/Novetus/NovetusCore/Classes/IDiscordRPC.cs
@@ -6,7 +6,8 @@ namespace Novetus.Core
{
#region Discord RPC
//code by discord obv. just renamed it to fit better.
- public class DiscordRPC
+ //TODO: add proper c# implementation.
+ public class IDiscordRPC
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void ReadyCallback();
@@ -95,5 +96,57 @@ namespace Novetus.Core
[DllImport("discord-rpc", EntryPoint = "Discord_Respond", CallingConvention = CallingConvention.Cdecl)]
public static extern void Respond(string userId, Reply reply);
}
- #endregion
+
+ public class DiscordRPC
+ {
+ public static void ReadyCallback()
+ {
+ Util.ConsolePrint("Discord RPC: Ready", 3);
+ }
+
+ public static void DisconnectedCallback(int errorCode, string message)
+ {
+ Util.ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2);
+ }
+
+ public static void ErrorCallback(int errorCode, string message)
+ {
+ Util.ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2);
+ }
+
+ public static void JoinCallback(string secret)
+ {
+ }
+
+ public static void SpectateCallback(string secret)
+ {
+ }
+
+ public static void RequestCallback(IDiscordRPC.JoinRequest request)
+ {
+ }
+
+ public static void StartDiscord()
+ {
+ if (GlobalVars.UserConfiguration.DiscordPresence)
+ {
+ GlobalVars.handlers = new IDiscordRPC.EventHandlers();
+ GlobalVars.handlers.readyCallback = ReadyCallback;
+ GlobalVars.handlers.disconnectedCallback += DisconnectedCallback;
+ GlobalVars.handlers.errorCallback += ErrorCallback;
+ GlobalVars.handlers.joinCallback += JoinCallback;
+ GlobalVars.handlers.spectateCallback += SpectateCallback;
+ GlobalVars.handlers.requestCallback += RequestCallback;
+ IDiscordRPC.Initialize(GlobalVars.appid, ref GlobalVars.handlers, true, "");
+ Util.ConsolePrint("Discord RPC: Initalized", 3);
+
+#if URI
+ ClientManagement.UpdateRichPresence(GlobalVars.LauncherState.LoadingURI, true);
+#else
+ ClientManagement.UpdateRichPresence(ClientManagement.GetStateForType(GlobalVars.GameOpened), true);
+#endif
+ }
+ }
+ }
+#endregion
}
diff --git a/Novetus/NovetusCore/NovetusCore.projitems b/Novetus/NovetusCore/NovetusCore.projitems
index 658dacc..660bc3b 100644
--- a/Novetus/NovetusCore/NovetusCore.projitems
+++ b/Novetus/NovetusCore/NovetusCore.projitems
@@ -24,6 +24,9 @@
+
+
+
diff --git a/Novetus/NovetusCore/StorageAndFunctions/ClientManagement.cs b/Novetus/NovetusCore/StorageAndFunctions/ClientManagement.cs
index cad8171..3965103 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/ClientManagement.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/ClientManagement.cs
@@ -6,9 +6,9 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
-using System.Windows.Forms;
using System.Xml.Linq;
using System.Security.Cryptography;
+using System.Windows.Forms;
using System.Reflection;
#endregion
@@ -198,24 +198,24 @@ namespace Novetus.Core
DefaultClientInfo.Description = desc;
string[] lines = {
- SecurityFuncs.Base64Encode(DefaultClientInfo.UsesPlayerName.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.UsesID.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.Warning.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.LegacyMode.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.ClientMD5.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.ScriptMD5.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.Description.ToString()),
- SecurityFuncs.Base64Encode(placeholder.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.Fix2007.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.AlreadyHasSecurity.ToString()),
- SecurityFuncs.Base64Encode(((int)DefaultClientInfo.ClientLoadOptions).ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.SeperateFolders.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.UsesCustomClientEXEName.ToString()),
- SecurityFuncs.Base64Encode(DefaultClientInfo.CustomClientEXEName.ToString().Replace("\\", "")),
- SecurityFuncs.Base64Encode(DefaultClientInfo.CommandLineArgs.ToString())
+ SecurityFuncs.Encode(DefaultClientInfo.UsesPlayerName.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.UsesID.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.Warning.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.LegacyMode.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.ClientMD5.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.ScriptMD5.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.Description.ToString()),
+ SecurityFuncs.Encode(placeholder.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.Fix2007.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.AlreadyHasSecurity.ToString()),
+ SecurityFuncs.Encode(((int)DefaultClientInfo.ClientLoadOptions).ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.SeperateFolders.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.UsesCustomClientEXEName.ToString()),
+ SecurityFuncs.Encode(DefaultClientInfo.CustomClientEXEName.ToString().Replace("\\", "")),
+ SecurityFuncs.Encode(DefaultClientInfo.CommandLineArgs.ToString())
};
- File.WriteAllText(path + "\\clientinfo.nov", SecurityFuncs.Base64Encode(string.Join("|", lines)));
+ File.WriteAllText(path + "\\clientinfo.nov", SecurityFuncs.Encode(string.Join("|", lines)));
}
//NOT FOR SDK.
@@ -260,36 +260,36 @@ namespace Novetus.Core
file = reader.ReadLine();
}
- string ConvertedLine = SecurityFuncs.Base64Decode(file);
+ string ConvertedLine = SecurityFuncs.Decode(file);
string[] result = ConvertedLine.Split('|');
- usesplayername = SecurityFuncs.Base64Decode(result[0]);
- usesid = SecurityFuncs.Base64Decode(result[1]);
- warning = SecurityFuncs.Base64Decode(result[2]);
- legacymode = SecurityFuncs.Base64Decode(result[3]);
- clientmd5 = SecurityFuncs.Base64Decode(result[4]);
- scriptmd5 = SecurityFuncs.Base64Decode(result[5]);
- desc = SecurityFuncs.Base64Decode(result[6]);
- fix2007 = SecurityFuncs.Base64Decode(result[8]);
- alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]);
- clientloadoptions = SecurityFuncs.Base64Decode(result[10]);
+ usesplayername = SecurityFuncs.Decode(result[0]);
+ usesid = SecurityFuncs.Decode(result[1]);
+ warning = SecurityFuncs.Decode(result[2]);
+ legacymode = SecurityFuncs.Decode(result[3]);
+ clientmd5 = SecurityFuncs.Decode(result[4]);
+ scriptmd5 = SecurityFuncs.Decode(result[5]);
+ desc = SecurityFuncs.Decode(result[6]);
+ fix2007 = SecurityFuncs.Decode(result[8]);
+ alreadyhassecurity = SecurityFuncs.Decode(result[9]);
+ clientloadoptions = SecurityFuncs.Decode(result[10]);
folders = "False";
usescustomname = "False";
customname = "";
try
{
- commandlineargs = SecurityFuncs.Base64Decode(result[11]);
+ commandlineargs = SecurityFuncs.Decode(result[11]);
bool parsedValue;
if (bool.TryParse(commandlineargs, out parsedValue))
{
- folders = SecurityFuncs.Base64Decode(result[11]);
- commandlineargs = SecurityFuncs.Base64Decode(result[12]);
+ folders = SecurityFuncs.Decode(result[11]);
+ commandlineargs = SecurityFuncs.Decode(result[12]);
bool parsedValue2;
if (bool.TryParse(commandlineargs, out parsedValue2))
{
- usescustomname = SecurityFuncs.Base64Decode(result[12]);
- customname = SecurityFuncs.Base64Decode(result[13]);
- commandlineargs = SecurityFuncs.Base64Decode(result[14]);
+ usescustomname = SecurityFuncs.Decode(result[12]);
+ customname = SecurityFuncs.Decode(result[13]);
+ commandlineargs = SecurityFuncs.Decode(result[14]);
}
}
}
@@ -297,7 +297,7 @@ namespace Novetus.Core
{
//fake this option until we properly apply it.
clientloadoptions = "2";
- commandlineargs = SecurityFuncs.Base64Decode(result[10]);
+ commandlineargs = SecurityFuncs.Decode(result[10]);
}
info.UsesPlayerName = Convert.ToBoolean(usesplayername);
@@ -365,7 +365,8 @@ namespace Novetus.Core
if (initial)
{
GlobalVars.presence.largeImageKey = GlobalVars.imagekey_large;
- GlobalVars.presence.startTimestamp = SecurityFuncs.UnixTimeNow();
+ var timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0));
+ GlobalVars.presence.startTimestamp = (long)timeSpan.TotalSeconds;
}
string ValidMapname = (string.IsNullOrWhiteSpace(mapname) ? "Place1" : mapname);
@@ -425,7 +426,7 @@ namespace Novetus.Core
break;
}
- DiscordRPC.UpdatePresence(ref GlobalVars.presence);
+ IDiscordRPC.UpdatePresence(ref GlobalVars.presence);
}
}
@@ -1046,7 +1047,7 @@ namespace Novetus.Core
string fileMD5 = parsedFileParams[1];
string fullFilePath = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\" + filePath;
- if (!SecurityFuncs.CheckMD5(fileMD5, fullFilePath))
+ if (!CheckMD5(fileMD5, fullFilePath))
{
#if URI
UpdateStatus(label, "The client has been detected as modified.");
@@ -1074,10 +1075,90 @@ namespace Novetus.Core
}
}
+ public static bool CheckMD5(string MD5Hash, string path)
+ {
+ if (!File.Exists(path))
+ return false;
+
+ using (var md5 = MD5.Create())
+ {
+ using (var stream = File.OpenRead(path))
+ {
+ byte[] hash = md5.ComputeHash(stream);
+ string clientMD5 = BitConverter.ToString(hash).Replace("-", "");
+ if (clientMD5.Equals(MD5Hash))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+ }
+
+ public static bool checkClientMD5(string client)
+ {
+ if (!GlobalVars.AdminMode)
+ {
+ if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
+ {
+ string rbxexe = "";
+ string BasePath = GlobalPaths.BasePath + "\\clients\\" + client;
+ if (GlobalVars.SelectedClientInfo.LegacyMode)
+ {
+ rbxexe = BasePath + "\\RobloxApp.exe";
+ }
+ else if (GlobalVars.SelectedClientInfo.SeperateFolders)
+ {
+ rbxexe = BasePath + "\\client\\RobloxApp_client.exe";
+ }
+ else if (GlobalVars.SelectedClientInfo.UsesCustomClientEXEName)
+ {
+ rbxexe = BasePath + @"\\" + GlobalVars.SelectedClientInfo.CustomClientEXEName;
+ }
+ else
+ {
+ rbxexe = BasePath + "\\RobloxApp_client.exe";
+ }
+ return CheckMD5(GlobalVars.SelectedClientInfo.ClientMD5, rbxexe);
+ }
+ else
+ {
+ return true;
+ }
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ public static bool checkScriptMD5(string client)
+ {
+ if (!GlobalVars.AdminMode)
+ {
+ if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
+ {
+ string rbxscript = GlobalPaths.BasePath + "\\clients\\" + client + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua";
+ return CheckMD5(GlobalVars.SelectedClientInfo.ScriptMD5, rbxscript);
+ }
+ else
+ {
+ return true;
+ }
+ }
+ else
+ {
+ return true;
+ }
+ }
+
#if URI
public static void LaunchRBXClient(string ClientName, ScriptType type, bool no3d, bool nomap, EventHandler e, Label label)
#else
- public static void LaunchRBXClient(string ClientName, ScriptType type, bool no3d, bool nomap, EventHandler e)
+ public static void LaunchRBXClient(string ClientName, ScriptType type, bool no3d, bool nomap, EventHandler e)
#endif
{
#if LAUNCHER
@@ -1271,7 +1352,7 @@ namespace Novetus.Core
{
if (info.AlreadyHasSecurity != true)
{
- if (SecurityFuncs.checkClientMD5(ClientName) && SecurityFuncs.checkScriptMD5(ClientName))
+ if (checkClientMD5(ClientName) && checkScriptMD5(ClientName))
{
OpenClient(type, rbxexe, args, ClientName, mapname, e);
}
@@ -1755,6 +1836,13 @@ namespace Novetus.Core
}
}
+ public static string CopyMapToRBXAsset()
+ {
+ string clientcontentpath = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\content\\temp.rbxl";
+ Util.FixedFileCopy(GlobalVars.UserConfiguration.MapPath, clientcontentpath, true);
+ return GlobalPaths.AltBaseGameDir + "temp.rbxl";
+ }
+
public static string CompileScript(string code, string tag, string endtag, string mapfile, string luafile, string rbxexe, bool usesharedtags = true)
{
return CompileScript(GlobalVars.UserConfiguration.SelectedClient, code, tag, endtag, mapfile, luafile, rbxexe, usesharedtags);
@@ -1823,7 +1911,7 @@ namespace Novetus.Core
string extractedCode = GetArgsFromTag(code, start, end);
#if LAUNCHER
- string md5dir = !info.AlreadyHasSecurity ? SecurityFuncs.GenerateMD5(Assembly.GetExecutingAssembly().Location) : "";
+ string md5dir = !info.AlreadyHasSecurity ? SecurityFuncs.GenerateMD5(Assembly.GetExecutingAssembly().Location) : "";
#else
string md5dir = !info.AlreadyHasSecurity ? SecurityFuncs.GenerateMD5(GlobalPaths.RootPathLauncher + "\\Novetus.exe") : "";
#endif
@@ -1878,7 +1966,7 @@ namespace Novetus.Core
.Replace("%extrad%", GlobalPaths.extraGameDir + GlobalVars.UserCustomization.Extra)
.Replace("%hat4d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Extra)
.Replace("%mapfiled%", GlobalPaths.BaseGameDir + GlobalVars.UserConfiguration.MapPathSnip.Replace(@"\\", @"\").Replace(@"/", @"\"))
- .Replace("%mapfilec%", extractedCode.Contains("%mapfilec%") ? NovetusFuncs.CopyMapToRBXAsset() : "")
+ .Replace("%mapfilec%", extractedCode.Contains("%mapfilec%") ? CopyMapToRBXAsset() : "")
.Replace("%tripcode%", GlobalVars.PlayerTripcode)
.Replace("%scripttype%", Generator.GetNameForType(type))
.Replace("%notifications%", GlobalVars.UserConfiguration.ShowServerNotifications.ToString().ToLower())
diff --git a/Novetus/NovetusCore/StorageAndFunctions/FileManagement.cs b/Novetus/NovetusCore/StorageAndFunctions/FileManagement.cs
index 14ae392..af0bb27 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/FileManagement.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/FileManagement.cs
@@ -11,7 +11,8 @@ using System.Drawing.Imaging;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Xml.Serialization;
-using System.Runtime.Versioning;
+using System.Xml;
+using System.Xml.Linq;
#endregion
namespace Novetus.Core
@@ -971,7 +972,8 @@ namespace Novetus.Core
if (!forcewrite)
{
- string curval = NovetusFuncs.GenerateAndReturnTripcode();
+ //Powered by https://github.com/davcs86/csharp-uhwid
+ string curval = UHWIDEngine.AdvancedUid;
if (!GlobalVars.PlayerTripcode.Equals(curval))
{
GlobalVars.PlayerTripcode = curval;
@@ -1360,6 +1362,101 @@ namespace Novetus.Core
GlobalVars.UserCustomization = new FileFormat.CustomizationConfig();
ReloadLoadoutValue();
}
+ public static string GetItemTextureLocalPath(string item, string nameprefix)
+ {
+ //don't bother, we're offline.
+ if (GlobalVars.ExternalIP.Equals("localhost"))
+ return "";
+
+ if (!GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%localizeonlineclothing%"))
+ return "";
+
+ if (item.Contains("http://") || item.Contains("https://"))
+ {
+ string peram = "id=";
+ string fullname = nameprefix + "Temp.png";
+
+ if (item.Contains(peram))
+ {
+ string id = item.After(peram);
+ fullname = id + ".png";
+ }
+ else
+ {
+ return item;
+ }
+
+ Downloader download = new Downloader(item, fullname, "", GlobalPaths.AssetCacheDirAssets);
+
+ try
+ {
+ string path = download.GetFullDLPath();
+ download.InitDownloadNoDialog(path);
+ return GlobalPaths.AssetCacheAssetsGameDir + download.fileName;
+ }
+#if URI || LAUNCHER || BASICLAUNCHER
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+#else
+ catch (Exception)
+ {
+#endif
+ }
+ }
+
+ return "";
+ }
+
+ public static string GetItemTextureID(string item, string name, AssetCacheDefBasic assetCacheDef)
+ {
+ //don't bother, we're offline.
+ if (GlobalVars.ExternalIP.Equals("localhost"))
+ return "";
+
+ if (!GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%localizeonlineclothing%"))
+ return "";
+
+ if (item.Contains("http://") || item.Contains("https://"))
+ {
+ string peram = "id=";
+ if (!item.Contains(peram))
+ {
+ return item;
+ }
+
+ Downloader download = new Downloader(item, name + "Temp.rbxm", "", GlobalPaths.AssetCacheDirAssets);
+
+ try
+ {
+ string path = download.GetFullDLPath();
+ download.InitDownloadNoDialog(path);
+ string oldfile = File.ReadAllText(path);
+ string fixedfile = RobloxXML.RemoveInvalidXmlChars(RobloxXML.ReplaceHexadecimalSymbols(oldfile)).Replace(" ", "\t").Replace("#9;", "\t");
+ XDocument doc = null;
+ XmlReaderSettings xmlReaderSettings = new XmlReaderSettings { CheckCharacters = false };
+ Stream filestream = Util.GenerateStreamFromString(fixedfile);
+ using (XmlReader xmlReader = XmlReader.Create(filestream, xmlReaderSettings))
+ {
+ xmlReader.MoveToContent();
+ doc = XDocument.Load(xmlReader);
+ }
+
+ return RobloxXML.GetURLInNodes(doc, assetCacheDef.Class, assetCacheDef.Id[0], item);
+ }
+#if URI || LAUNCHER || BASICLAUNCHER
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+#else
+ catch (Exception)
+ {
+#endif
+ }
+ }
+
+ return "";
+ }
public static void ReloadLoadoutValue(bool localizeOnlineClothing = false)
{
@@ -1404,15 +1501,15 @@ namespace Novetus.Core
if (localizeOnlineClothing)
{
- GlobalVars.TShirtTextureID = NovetusFuncs.GetItemTextureID(GlobalVars.UserCustomization.TShirt, "TShirt", new AssetCacheDefBasic("ShirtGraphic", new string[] { "Graphic" }));
- GlobalVars.ShirtTextureID = NovetusFuncs.GetItemTextureID(GlobalVars.UserCustomization.Shirt, "Shirt", new AssetCacheDefBasic("Shirt", new string[] { "ShirtTemplate" }));
- GlobalVars.PantsTextureID = NovetusFuncs.GetItemTextureID(GlobalVars.UserCustomization.Pants, "Pants", new AssetCacheDefBasic("Pants", new string[] { "PantsTemplate" }));
- GlobalVars.FaceTextureID = NovetusFuncs.GetItemTextureID(GlobalVars.UserCustomization.Face, "Face", new AssetCacheDefBasic("Decal", new string[] { "Texture" }));
+ GlobalVars.TShirtTextureID = GetItemTextureID(GlobalVars.UserCustomization.TShirt, "TShirt", new AssetCacheDefBasic("ShirtGraphic", new string[] { "Graphic" }));
+ GlobalVars.ShirtTextureID = GetItemTextureID(GlobalVars.UserCustomization.Shirt, "Shirt", new AssetCacheDefBasic("Shirt", new string[] { "ShirtTemplate" }));
+ GlobalVars.PantsTextureID = GetItemTextureID(GlobalVars.UserCustomization.Pants, "Pants", new AssetCacheDefBasic("Pants", new string[] { "PantsTemplate" }));
+ GlobalVars.FaceTextureID = GetItemTextureID(GlobalVars.UserCustomization.Face, "Face", new AssetCacheDefBasic("Decal", new string[] { "Texture" }));
- GlobalVars.TShirtTextureLocal = NovetusFuncs.GetItemTextureLocalPath(GlobalVars.TShirtTextureID, "TShirt");
- GlobalVars.ShirtTextureLocal = NovetusFuncs.GetItemTextureLocalPath(GlobalVars.ShirtTextureID, "Shirt");
- GlobalVars.PantsTextureLocal = NovetusFuncs.GetItemTextureLocalPath(GlobalVars.PantsTextureID, "Pants");
- GlobalVars.FaceTextureLocal = NovetusFuncs.GetItemTextureLocalPath(GlobalVars.FaceTextureID, "Face");
+ GlobalVars.TShirtTextureLocal = GetItemTextureLocalPath(GlobalVars.TShirtTextureID, "TShirt");
+ GlobalVars.ShirtTextureLocal = GetItemTextureLocalPath(GlobalVars.ShirtTextureID, "Shirt");
+ GlobalVars.PantsTextureLocal = GetItemTextureLocalPath(GlobalVars.PantsTextureID, "Pants");
+ GlobalVars.FaceTextureLocal = GetItemTextureLocalPath(GlobalVars.FaceTextureID, "Face");
}
}
diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs
index 8465a11..0908ede 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs
@@ -81,7 +81,7 @@ namespace Novetus.Core
LoadingURI = 6
}
- public static DiscordRPC.EventHandlers handlers;
+ public static IDiscordRPC.EventHandlers handlers;
#endregion
#region Class definitions
@@ -97,7 +97,7 @@ namespace Novetus.Core
public static string DefaultIP = "localhost";
public static int DefaultRobloxPort = 53640;
public static GameServer CurrentServer = new GameServer(DefaultIP, DefaultRobloxPort);
- public static string ExternalIP = SecurityFuncs.GetExternalIPAddress();
+ public static string ExternalIP = NovetusFuncs.GetExternalIPAddress();
public static ScriptType GameOpened = ScriptType.None;
public static string PlayerTripcode = "";
#if LAUNCHER || URI
@@ -127,7 +127,7 @@ namespace Novetus.Core
#region Discord Variables
//discord
- public static DiscordRPC.RichPresence presence;
+ public static IDiscordRPC.RichPresence presence;
public static string appid = "505955125727330324";
public static string imagekey_large = "novetus_large";
public static string image_ingame = "ingame_small";
diff --git a/Novetus/NovetusCore/StorageAndFunctions/NetFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/NetFuncs.cs
index f27dc3c..125240a 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/NetFuncs.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/NetFuncs.cs
@@ -10,15 +10,40 @@ using Titanium.Web.Proxy.Models;
namespace Novetus.Core
{
#region NetFuncs
-
public static class NetFuncs
{
- public static void InitUPnP(EventHandler DeviceFound, EventHandler DeviceLost)
+ public static void InitUPnP()
{
if (GlobalVars.UserConfiguration.UPnP)
{
- NatUtility.DeviceFound += DeviceFound;
- NatUtility.StartDiscovery();
+ try
+ {
+ NatUtility.DeviceFound += DeviceFound;
+ NatUtility.StartDiscovery();
+ Util.ConsolePrint("UPnP: Service initialized", 3);
+ }
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+ Util.ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2);
+ }
+ }
+ }
+
+ public static void DeviceFound(object sender, DeviceEventArgs args)
+ {
+ try
+ {
+ INatDevice device = args.Device;
+ string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
+ Util.ConsolePrint("UPnP: Device '" + IP + "' registered.", 3);
+ StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
+ StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
+ }
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+ Util.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
}
}
@@ -26,14 +51,25 @@ namespace Novetus.Core
{
if (GlobalVars.UserConfiguration.UPnP)
{
- Mapping checker = device.GetSpecificMapping(protocol, port);
- int mapPublic = checker.PublicPort;
- int mapPrivate = checker.PrivatePort;
-
- if (mapPublic == -1 && mapPrivate == -1)
+ try
{
- Mapping portmap = new Mapping(protocol, port, port);
- device.CreatePortMap(portmap);
+ Mapping checker = device.GetSpecificMapping(protocol, port);
+ int mapPublic = checker.PublicPort;
+ int mapPrivate = checker.PrivatePort;
+
+ if (mapPublic == -1 && mapPrivate == -1)
+ {
+ Mapping portmap = new Mapping(protocol, port, port);
+ device.CreatePortMap(portmap);
+ }
+
+ string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
+ Util.ConsolePrint("UPnP: Port " + port + " opened on '" + IP + "' (" + protocol.ToString() + ")", 3);
+ }
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+ Util.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
}
}
}
@@ -42,14 +78,25 @@ namespace Novetus.Core
{
if (GlobalVars.UserConfiguration.UPnP)
{
- Mapping checker = device.GetSpecificMapping(protocol, port);
- int mapPublic = checker.PublicPort;
- int mapPrivate = checker.PrivatePort;
-
- if (mapPublic != -1 && mapPrivate != -1)
+ try
{
- Mapping portmap = new Mapping(protocol, port, port);
- device.DeletePortMap(portmap);
+ Mapping checker = device.GetSpecificMapping(protocol, port);
+ int mapPublic = checker.PublicPort;
+ int mapPrivate = checker.PrivatePort;
+
+ if (mapPublic != -1 && mapPrivate != -1)
+ {
+ Mapping portmap = new Mapping(protocol, port, port);
+ device.DeletePortMap(portmap);
+ }
+
+ string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
+ Util.ConsolePrint("UPnP: Port " + port + " closed on '" + IP + "' (" + protocol.ToString() + ")", 3);
+ }
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+ Util.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
}
}
}
diff --git a/Novetus/NovetusCore/StorageAndFunctions/NovetusFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/NovetusFuncs.cs
index dd5bb2e..baec1b7 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/NovetusFuncs.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/NovetusFuncs.cs
@@ -1,13 +1,10 @@
#region Usings
using System;
-using System.IO;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
-using System.Xml;
-using System.Xml.Linq;
using System.Linq;
using System.Windows.Forms;
-using System.Collections.Generic;
+using System.Net;
#endregion
namespace Novetus.Core
@@ -15,127 +12,69 @@ namespace Novetus.Core
#region Novetus Functions
public class NovetusFuncs
{
- public static string CopyMapToRBXAsset()
+ public static int GenerateRandomNumber()
{
- string clientcontentpath = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\content\\temp.rbxl";
- Util.FixedFileCopy(GlobalVars.UserConfiguration.MapPath, clientcontentpath, true);
- return GlobalPaths.AltBaseGameDir + "temp.rbxl";
- }
+ CryptoRandom random = new CryptoRandom();
+ int randomID = 0;
+ int randIDmode = random.Next(0, 8);
+ int idlimit = 0;
- public static string GetItemTextureLocalPath(string item, string nameprefix)
- {
- //don't bother, we're offline.
- if (GlobalVars.ExternalIP.Equals("localhost"))
- return "";
-
- if (!GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%localizeonlineclothing%"))
- return "";
-
- if (item.Contains("http://") || item.Contains("https://"))
+ switch (randIDmode)
{
- string peram = "id=";
- string fullname = nameprefix + "Temp.png";
-
- if (item.Contains(peram))
- {
- string id = item.After(peram);
- fullname = id + ".png";
- }
- else
- {
- return item;
- }
-
- Downloader download = new Downloader(item, fullname, "", GlobalPaths.AssetCacheDirAssets);
-
- try
- {
- string path = download.GetFullDLPath();
- download.InitDownloadNoDialog(path);
- return GlobalPaths.AssetCacheAssetsGameDir + download.fileName;
- }
-#if URI || LAUNCHER || BASICLAUNCHER
- catch (Exception ex)
- {
- Util.LogExceptions(ex);
-#else
- catch (Exception)
- {
-#endif
- }
+ case 0:
+ idlimit = 9;
+ break;
+ case 1:
+ idlimit = 99;
+ break;
+ case 2:
+ idlimit = 999;
+ break;
+ case 3:
+ idlimit = 9999;
+ break;
+ case 4:
+ idlimit = 99999;
+ break;
+ case 5:
+ idlimit = 999999;
+ break;
+ case 6:
+ idlimit = 9999999;
+ break;
+ case 7:
+ idlimit = 99999999;
+ break;
+ case 8:
+ default:
+ break;
}
- return "";
- }
-
- public static string GetItemTextureID(string item, string name, AssetCacheDefBasic assetCacheDef)
- {
- //don't bother, we're offline.
- if (GlobalVars.ExternalIP.Equals("localhost"))
- return "";
-
- if (!GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%localizeonlineclothing%"))
- return "";
-
- if (item.Contains("http://") || item.Contains("https://"))
+ if (idlimit > 0)
{
- string peram = "id=";
- if (!item.Contains(peram))
- {
- return item;
- }
-
- Downloader download = new Downloader(item, name + "Temp.rbxm", "", GlobalPaths.AssetCacheDirAssets);
-
- try
- {
- string path = download.GetFullDLPath();
- download.InitDownloadNoDialog(path);
- string oldfile = File.ReadAllText(path);
- string fixedfile = RobloxXML.RemoveInvalidXmlChars(RobloxXML.ReplaceHexadecimalSymbols(oldfile)).Replace(" ", "\t").Replace("#9;", "\t");
- XDocument doc = null;
- XmlReaderSettings xmlReaderSettings = new XmlReaderSettings { CheckCharacters = false };
- Stream filestream = Util.GenerateStreamFromString(fixedfile);
- using (XmlReader xmlReader = XmlReader.Create(filestream, xmlReaderSettings))
- {
- xmlReader.MoveToContent();
- doc = XDocument.Load(xmlReader);
- }
-
- return RobloxXML.GetURLInNodes(doc, assetCacheDef.Class, assetCacheDef.Id[0], item);
- }
-#if URI || LAUNCHER || BASICLAUNCHER
- catch (Exception ex)
- {
- Util.LogExceptions(ex);
-#else
- catch (Exception)
- {
-#endif
- }
+ randomID = random.Next(0, idlimit);
+ }
+ else
+ {
+ randomID = random.Next();
}
- return "";
+ //2147483647 is max id.
+ return randomID;
}
public static void GeneratePlayerID()
{
- int randomID = SecurityFuncs.GenerateRandomNumber();
+ int randomID = GenerateRandomNumber();
//2147483647 is max id.
GlobalVars.UserConfiguration.UserID = randomID;
}
- public static string GenerateAndReturnTripcode()
- {
- //Powered by https://github.com/davcs86/csharp-uhwid
- return UHWIDEngine.AdvancedUid;
- }
-
public static void PingMasterServer(bool online, string reason)
{
if (online)
{
- GlobalVars.ServerID = SecurityFuncs.RandomString(30) + SecurityFuncs.GenerateRandomNumber();
+ GlobalVars.ServerID = RandomString(30) + GenerateRandomNumber();
GlobalVars.PingURL = "http://" + GlobalVars.UserConfiguration.ServerBrowserServerAddress +
"/list.php?name=" + GlobalVars.UserConfiguration.ServerBrowserServerName +
"&ip=" + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : GlobalVars.ExternalIP) +
@@ -152,45 +91,42 @@ namespace Novetus.Core
}
Util.ConsolePrint("Pinging master server. " + reason, 4);
- Task.Factory.StartNew(() => TryPing());
- }
+ Task.Factory.StartNew(() => {
+ string response = Util.HttpGet(GlobalVars.PingURL);
- private static void TryPing()
- {
- string response = Util.HttpGet(GlobalVars.PingURL);
-
- if (!string.IsNullOrWhiteSpace(response))
- {
- Util.ConsolePrint(response, response.Contains("ERROR:") ? 2 : 4);
-
- if (response.Contains("ERROR:"))
+ if (!string.IsNullOrWhiteSpace(response))
{
- GlobalVars.ServerID = "N/A";
+ Util.ConsolePrint(response, response.Contains("ERROR:") ? 2 : 4);
+
+ if (response.Contains("ERROR:"))
+ {
+ GlobalVars.ServerID = "N/A";
+ }
}
- }
- if (!GlobalVars.ServerID.Equals("N/A"))
- {
- Util.ConsolePrint("Master server ping successful. Your server's ID is " + GlobalVars.ServerID, 4);
- }
+ if (!GlobalVars.ServerID.Equals("N/A"))
+ {
+ Util.ConsolePrint("Master server ping successful. Your server's ID is " + GlobalVars.ServerID, 4);
+ }
- GlobalVars.PingURL = "";
+ GlobalVars.PingURL = "";
+ });
}
public static string[] LoadServerInformation()
{
string[] lines1 = {
- SecurityFuncs.Base64Encode(!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : GlobalVars.ExternalIP),
- SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
- SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
+ SecurityFuncs.Encode(!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : GlobalVars.ExternalIP),
+ SecurityFuncs.Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
+ SecurityFuncs.Encode(GlobalVars.UserConfiguration.SelectedClient)
};
- string URI = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines1), true);
+ string URI = "novetus://" + SecurityFuncs.Encode(string.Join("|", lines1), true);
string[] lines2 = {
- SecurityFuncs.Base64Encode("localhost"),
- SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
- SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
+ SecurityFuncs.Encode("localhost"),
+ SecurityFuncs.Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
+ SecurityFuncs.Encode(GlobalVars.UserConfiguration.SelectedClient)
};
- string URI2 = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines2), true);
+ string URI2 = "novetus://" + SecurityFuncs.Encode(string.Join("|", lines2), true);
GameServer server = new GameServer((!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : GlobalVars.ExternalIP),
GlobalVars.UserConfiguration.RobloxPort);
string[] text = {
@@ -208,16 +144,6 @@ namespace Novetus.Core
return text;
}
- public static void CreateTXT()
- {
- List text = new List();
- text.AddRange(LoadServerInformation());
-
- string txt = GlobalPaths.BasePath + "\\" + GlobalPaths.ServerInfoFileName;
- File.WriteAllLines(txt, text);
- Util.ConsolePrint("Server Information sent to file " + txt, 4);
- }
-
#if LAUNCHER || URI
public static void LaunchCharacterCustomization()
{
@@ -293,386 +219,33 @@ namespace Novetus.Core
return finalUrl;
}
- public static void SetupAdminPassword()
+ public static string RandomString(int length = 30, string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz")
{
CryptoRandom random = new CryptoRandom();
- string Name1 = SecurityFuncs.GenerateName(random.Next(4, 12));
- string Name2 = SecurityFuncs.GenerateName(random.Next(4, 12));
- GlobalVars.Important = Name1 + Name2;
- GlobalVars.Important2 = SecurityFuncs.Encipher(GlobalVars.Important, random.Next(2, 13));
+ return new string(Enumerable.Repeat(chars, length).Select(s => s[random.Next(s.Length)]).ToArray());
+ }
+
+ public static string GetExternalIPAddress()
+ {
+ string ipAddress;
+
+ try
+ {
+ ipAddress = new WebClient().DownloadString("https://ipv4.icanhazip.com/").TrimEnd();
+ }
+#if URI || LAUNCHER || BASICLAUNCHER
+ catch (Exception ex)
+ {
+ Util.LogExceptions(ex);
+#else
+ catch (Exception)
+ {
+#endif
+ ipAddress = "localhost";
+ }
+
+ return ipAddress;
}
}
#endregion
-
- #region Roblox Helpers
- #region Vector3
- public class Vector3
- {
- public double X;
- public double Y;
- public double Z;
-
- public Vector3(double aX, double aY, double aZ)
- {
- X = aX;
- Y = aY;
- Z = aZ;
- }
- }
- #endregion
-
- #region Roblox File Types
- public enum RobloxFileType
- {
- //RBXL and RBXM
- RBXL,
- RBXM,
- //Items
- Hat,
- Head,
- Face,
- TShirt,
- Shirt,
- Pants,
- Script,
- HeadNoCustomMesh
- }
- #endregion
-
- #region Asset Cache Definition
- public class AssetCacheDefBasic
- {
- public AssetCacheDefBasic(string clas, string[] id)
- {
- Class = clas;
- Id = id;
- }
-
- public string Class { get; set; }
- public string[] Id { get; set; }
- }
-
- public class AssetCacheDef : AssetCacheDefBasic
- {
- public AssetCacheDef(string clas, string[] id, string[] ext,
- string[] dir, string[] gamedir) : base(clas, id)
- {
- Ext = ext;
- Dir = dir;
- GameDir = gamedir;
- }
-
- public string[] Ext { get; set; }
- public string[] Dir { get; set; }
- public string[] GameDir { get; set; }
- }
- #endregion
-
- #region Roblox Type Definitions
- public struct RobloxDefs
- {
- //item defs below
- public static AssetCacheDef ItemHatFonts
- {
- get
- {
- return new AssetCacheDef("SpecialMesh",
- new string[] { "MeshId", "TextureId" },
- new string[] { ".mesh", ".png" },
- new string[] { GlobalPaths.hatdirFonts, GlobalPaths.hatdirTextures },
- new string[] { GlobalPaths.hatGameDirFonts, GlobalPaths.hatGameDirTextures });
- }
- }
-
- public static AssetCacheDef ItemHatSound
- {
- get
- {
- return new AssetCacheDef("Sound",
- new string[] { "SoundId" },
- new string[] { ".wav" },
- new string[] { GlobalPaths.hatdirSounds },
- new string[] { GlobalPaths.hatGameDirSounds });
- }
- }
-
- public static AssetCacheDef ItemHatScript
- {
- get
- {
- return new AssetCacheDef("Script",
- new string[] { "LinkedSource" },
- new string[] { ".lua" },
- new string[] { GlobalPaths.hatdirScripts },
- new string[] { GlobalPaths.hatGameDirScripts });
- }
- }
-
- public static AssetCacheDef ItemHatLocalScript
- {
- get
- {
- return new AssetCacheDef("LocalScript",
- new string[] { "LinkedSource" },
- new string[] { ".lua" },
- new string[] { GlobalPaths.hatdirScripts },
- new string[] { GlobalPaths.hatGameDirScripts });
- }
- }
-
- public static AssetCacheDef ItemHeadFonts
- {
- get
- {
- return new AssetCacheDef("SpecialMesh",
- new string[] { "MeshId", "TextureId" },
- new string[] { ".mesh", ".png" },
- new string[] { GlobalPaths.headdirFonts, GlobalPaths.headdirTextures },
- new string[] { GlobalPaths.headGameDirFonts, GlobalPaths.headGameDirTextures });
- }
- }
-
- public static AssetCacheDef ItemFaceTexture
- {
- get
- {
- return new AssetCacheDef("Decal",
- new string[] { "Texture" },
- new string[] { ".png" },
- new string[] { GlobalPaths.facedirTextures },
- new string[] { GlobalPaths.faceGameDirTextures });
- }
- }
-
- public static AssetCacheDef ItemShirtTexture
- {
- get
- {
- return new AssetCacheDef("Shirt",
- new string[] { "ShirtTemplate" },
- new string[] { ".png" },
- new string[] { GlobalPaths.shirtdirTextures },
- new string[] { GlobalPaths.shirtGameDirTextures });
- }
- }
-
- public static AssetCacheDef ItemTShirtTexture
- {
- get
- {
- return new AssetCacheDef("ShirtGraphic",
- new string[] { "Graphic" },
- new string[] { ".png" },
- new string[] { GlobalPaths.tshirtdirTextures },
- new string[] { GlobalPaths.tshirtGameDirTextures });
- }
- }
-
- public static AssetCacheDef ItemPantsTexture
- {
- get
- {
- return new AssetCacheDef("Pants",
- new string[] { "PantsTemplate" },
- new string[] { ".png" },
- new string[] { GlobalPaths.pantsdirTextures },
- new string[] { GlobalPaths.pantsGameDirTextures });
- }
- }
- }
- #endregion
-
- #region XML Types
- public enum XMLTypes
- {
- Token,
- Bool,
- Float,
- String,
- Vector2Int16,
- Int
- }
- #endregion
-
- #region Roblox XML Parser
- public static class RobloxXML
- {
- public static void EditRenderSettings(XDocument doc, string setting, string value, XMLTypes type)
- {
- var v = from nodes in doc.Descendants("Item")
- where nodes.Attribute("class").Value == "RenderSettings"
- select nodes;
-
- foreach (var item in v)
- {
- var v2 = from nodes in item.Descendants((type != XMLTypes.Vector2Int16 ? type.ToString().ToLower() : "Vector2int16"))
- where nodes.Attribute("name").Value == setting
- select nodes;
-
- foreach (var item2 in v2)
- {
- if (type != XMLTypes.Vector2Int16)
- {
- item2.Value = value;
- }
- else
- {
- string[] vals = value.Split('x');
-
- var v3 = from nodes in item2.Descendants("X")
- select nodes;
-
- foreach (var item3 in v3)
- {
- item3.Value = vals[0];
- }
-
- var v4 = from nodes in item2.Descendants("Y")
- select nodes;
-
- foreach (var item4 in v4)
- {
- item4.Value = vals[1];
- }
- }
- }
- }
- }
-
- public static bool IsRenderSettingStringValid(XDocument doc, string setting, XMLTypes type)
- {
- if (type != XMLTypes.String)
- return false;
-
- var v = from nodes in doc.Descendants("Item")
- where nodes.Attribute("class").Value == "RenderSettings"
- select nodes;
-
- foreach (var item in v)
- {
- var v2 = from nodes in item.Descendants(type.ToString().ToLower())
- where nodes.Attribute("name").Value == setting
- select nodes;
-
- foreach (var item2 in v2)
- {
- return true;
- }
- }
-
- return false;
- }
-
- public static string GetRenderSettings(XDocument doc, string setting, XMLTypes type)
- {
- var v = from nodes in doc.Descendants("Item")
- where nodes.Attribute("class").Value == "RenderSettings"
- select nodes;
-
- foreach (var item in v)
- {
- var v2 = from nodes in item.Descendants((type != XMLTypes.Vector2Int16 ? type.ToString().ToLower() : "Vector2int16"))
- where nodes.Attribute("name").Value == setting
- select nodes;
-
- foreach (var item2 in v2)
- {
- if (type != XMLTypes.Vector2Int16)
- {
- return item2.Value;
- }
- else
- {
- string ValX = "";
- string ValY = "";
-
- var v3 = from nodes in item2.Descendants("X")
- select nodes;
-
- foreach (var item3 in v3)
- {
- ValX = item3.Value;
- }
-
- var v4 = from nodes in item2.Descendants("Y")
- select nodes;
-
- foreach (var item4 in v4)
- {
- ValY = item4.Value;
- }
-
- return ValX + "x" + ValY;
- }
- }
- }
-
- return "";
- }
-
- public static string GetURLInNodes(XDocument doc, string itemClassValue, string itemIdValue, string url)
- {
- var v = from nodes in doc.Descendants("Item")
- where nodes.Attribute("class").Value == itemClassValue
- select nodes;
-
- foreach (var item in v)
- {
- var v2 = from nodes in item.Descendants("Content")
- where nodes.Attribute("name").Value == itemIdValue
- select nodes;
-
- foreach (var item2 in v2)
- {
- var v3 = from nodes in item2.Descendants("url")
- select nodes;
-
- foreach (var item3 in v3)
- {
- if (!item3.Value.Contains("rbxassetid"))
- {
- if (!item3.Value.Contains("rbxasset"))
- {
- string oldurl = item3.Value;
- string urlFixed = NovetusFuncs.FixURLString(oldurl, url);
- string peram = "id=";
-
- if (urlFixed.Contains(peram))
- {
- return urlFixed;
- }
- }
- }
- else
- {
- string oldurl = item3.Value;
- string rbxassetid = "rbxassetid://";
- string urlFixed = url + oldurl.After(rbxassetid);
- string peram = "id=";
-
- if (urlFixed.Contains(peram))
- {
- return urlFixed;
- }
- }
- }
- }
- }
-
- return "";
- }
-
- public static string RemoveInvalidXmlChars(string content)
- {
- return new string(content.Where(ch => XmlConvert.IsXmlChar(ch)).ToArray());
- }
-
- public static string ReplaceHexadecimalSymbols(string txt)
- {
- string r = "[\x00-\x08\x0B\x0C\x0E-\x1F]";
- return Regex.Replace(txt, r, "", RegexOptions.Compiled);
- }
- }
- #endregion
- #endregion
}
diff --git a/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxTypes.cs b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxTypes.cs
new file mode 100644
index 0000000..30bd82b
--- /dev/null
+++ b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxTypes.cs
@@ -0,0 +1,163 @@
+namespace Novetus.Core
+{
+ #region Roblox File Types
+ public enum RobloxFileType
+ {
+ //RBXL and RBXM
+ RBXL,
+ RBXM,
+ //Items
+ Hat,
+ Head,
+ Face,
+ TShirt,
+ Shirt,
+ Pants,
+ Script,
+ HeadNoCustomMesh
+ }
+ #endregion
+
+ #region Asset Cache Definition
+ public class AssetCacheDefBasic
+ {
+ public AssetCacheDefBasic(string clas, string[] id)
+ {
+ Class = clas;
+ Id = id;
+ }
+
+ public string Class { get; set; }
+ public string[] Id { get; set; }
+ }
+
+ public class AssetCacheDef : AssetCacheDefBasic
+ {
+ public AssetCacheDef(string clas, string[] id, string[] ext,
+ string[] dir, string[] gamedir) : base(clas, id)
+ {
+ Ext = ext;
+ Dir = dir;
+ GameDir = gamedir;
+ }
+
+ public string[] Ext { get; set; }
+ public string[] Dir { get; set; }
+ public string[] GameDir { get; set; }
+ }
+ #endregion
+
+ #region Roblox Type Definitions
+ public struct RobloxDefs
+ {
+ //item defs below
+ public static AssetCacheDef ItemHatFonts
+ {
+ get
+ {
+ return new AssetCacheDef("SpecialMesh",
+ new string[] { "MeshId", "TextureId" },
+ new string[] { ".mesh", ".png" },
+ new string[] { GlobalPaths.hatdirFonts, GlobalPaths.hatdirTextures },
+ new string[] { GlobalPaths.hatGameDirFonts, GlobalPaths.hatGameDirTextures });
+ }
+ }
+
+ public static AssetCacheDef ItemHatSound
+ {
+ get
+ {
+ return new AssetCacheDef("Sound",
+ new string[] { "SoundId" },
+ new string[] { ".wav" },
+ new string[] { GlobalPaths.hatdirSounds },
+ new string[] { GlobalPaths.hatGameDirSounds });
+ }
+ }
+
+ public static AssetCacheDef ItemHatScript
+ {
+ get
+ {
+ return new AssetCacheDef("Script",
+ new string[] { "LinkedSource" },
+ new string[] { ".lua" },
+ new string[] { GlobalPaths.hatdirScripts },
+ new string[] { GlobalPaths.hatGameDirScripts });
+ }
+ }
+
+ public static AssetCacheDef ItemHatLocalScript
+ {
+ get
+ {
+ return new AssetCacheDef("LocalScript",
+ new string[] { "LinkedSource" },
+ new string[] { ".lua" },
+ new string[] { GlobalPaths.hatdirScripts },
+ new string[] { GlobalPaths.hatGameDirScripts });
+ }
+ }
+
+ public static AssetCacheDef ItemHeadFonts
+ {
+ get
+ {
+ return new AssetCacheDef("SpecialMesh",
+ new string[] { "MeshId", "TextureId" },
+ new string[] { ".mesh", ".png" },
+ new string[] { GlobalPaths.headdirFonts, GlobalPaths.headdirTextures },
+ new string[] { GlobalPaths.headGameDirFonts, GlobalPaths.headGameDirTextures });
+ }
+ }
+
+ public static AssetCacheDef ItemFaceTexture
+ {
+ get
+ {
+ return new AssetCacheDef("Decal",
+ new string[] { "Texture" },
+ new string[] { ".png" },
+ new string[] { GlobalPaths.facedirTextures },
+ new string[] { GlobalPaths.faceGameDirTextures });
+ }
+ }
+
+ public static AssetCacheDef ItemShirtTexture
+ {
+ get
+ {
+ return new AssetCacheDef("Shirt",
+ new string[] { "ShirtTemplate" },
+ new string[] { ".png" },
+ new string[] { GlobalPaths.shirtdirTextures },
+ new string[] { GlobalPaths.shirtGameDirTextures });
+ }
+ }
+
+ public static AssetCacheDef ItemTShirtTexture
+ {
+ get
+ {
+ return new AssetCacheDef("ShirtGraphic",
+ new string[] { "Graphic" },
+ new string[] { ".png" },
+ new string[] { GlobalPaths.tshirtdirTextures },
+ new string[] { GlobalPaths.tshirtGameDirTextures });
+ }
+ }
+
+ public static AssetCacheDef ItemPantsTexture
+ {
+ get
+ {
+ return new AssetCacheDef("Pants",
+ new string[] { "PantsTemplate" },
+ new string[] { ".png" },
+ new string[] { GlobalPaths.pantsdirTextures },
+ new string[] { GlobalPaths.pantsGameDirTextures });
+ }
+ }
+ }
+ #endregion
+}
diff --git a/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxXML.cs b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxXML.cs
new file mode 100644
index 0000000..06e3c6c
--- /dev/null
+++ b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/RobloxXML.cs
@@ -0,0 +1,203 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Linq;
+
+namespace Novetus.Core
+{
+ #region XML Types
+ public enum XMLTypes
+ {
+ Token,
+ Bool,
+ Float,
+ String,
+ Vector2Int16,
+ Int
+ }
+ #endregion
+
+ #region Roblox XML Parser
+ public static class RobloxXML
+ {
+ public static void EditRenderSettings(XDocument doc, string setting, string value, XMLTypes type)
+ {
+ var v = from nodes in doc.Descendants("Item")
+ where nodes.Attribute("class").Value == "RenderSettings"
+ select nodes;
+
+ foreach (var item in v)
+ {
+ var v2 = from nodes in item.Descendants((type != XMLTypes.Vector2Int16 ? type.ToString().ToLower() : "Vector2int16"))
+ where nodes.Attribute("name").Value == setting
+ select nodes;
+
+ foreach (var item2 in v2)
+ {
+ if (type != XMLTypes.Vector2Int16)
+ {
+ item2.Value = value;
+ }
+ else
+ {
+ string[] vals = value.Split('x');
+
+ var v3 = from nodes in item2.Descendants("X")
+ select nodes;
+
+ foreach (var item3 in v3)
+ {
+ item3.Value = vals[0];
+ }
+
+ var v4 = from nodes in item2.Descendants("Y")
+ select nodes;
+
+ foreach (var item4 in v4)
+ {
+ item4.Value = vals[1];
+ }
+ }
+ }
+ }
+ }
+
+ public static bool IsRenderSettingStringValid(XDocument doc, string setting, XMLTypes type)
+ {
+ if (type != XMLTypes.String)
+ return false;
+
+ var v = from nodes in doc.Descendants("Item")
+ where nodes.Attribute("class").Value == "RenderSettings"
+ select nodes;
+
+ foreach (var item in v)
+ {
+ var v2 = from nodes in item.Descendants(type.ToString().ToLower())
+ where nodes.Attribute("name").Value == setting
+ select nodes;
+
+ foreach (var item2 in v2)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public static string GetRenderSettings(XDocument doc, string setting, XMLTypes type)
+ {
+ var v = from nodes in doc.Descendants("Item")
+ where nodes.Attribute("class").Value == "RenderSettings"
+ select nodes;
+
+ foreach (var item in v)
+ {
+ var v2 = from nodes in item.Descendants((type != XMLTypes.Vector2Int16 ? type.ToString().ToLower() : "Vector2int16"))
+ where nodes.Attribute("name").Value == setting
+ select nodes;
+
+ foreach (var item2 in v2)
+ {
+ if (type != XMLTypes.Vector2Int16)
+ {
+ return item2.Value;
+ }
+ else
+ {
+ string ValX = "";
+ string ValY = "";
+
+ var v3 = from nodes in item2.Descendants("X")
+ select nodes;
+
+ foreach (var item3 in v3)
+ {
+ ValX = item3.Value;
+ }
+
+ var v4 = from nodes in item2.Descendants("Y")
+ select nodes;
+
+ foreach (var item4 in v4)
+ {
+ ValY = item4.Value;
+ }
+
+ return ValX + "x" + ValY;
+ }
+ }
+ }
+
+ return "";
+ }
+
+ public static string GetURLInNodes(XDocument doc, string itemClassValue, string itemIdValue, string url)
+ {
+ var v = from nodes in doc.Descendants("Item")
+ where nodes.Attribute("class").Value == itemClassValue
+ select nodes;
+
+ foreach (var item in v)
+ {
+ var v2 = from nodes in item.Descendants("Content")
+ where nodes.Attribute("name").Value == itemIdValue
+ select nodes;
+
+ foreach (var item2 in v2)
+ {
+ var v3 = from nodes in item2.Descendants("url")
+ select nodes;
+
+ foreach (var item3 in v3)
+ {
+ if (!item3.Value.Contains("rbxassetid"))
+ {
+ if (!item3.Value.Contains("rbxasset"))
+ {
+ string oldurl = item3.Value;
+ string urlFixed = NovetusFuncs.FixURLString(oldurl, url);
+ string peram = "id=";
+
+ if (urlFixed.Contains(peram))
+ {
+ return urlFixed;
+ }
+ }
+ }
+ else
+ {
+ string oldurl = item3.Value;
+ string rbxassetid = "rbxassetid://";
+ string urlFixed = url + oldurl.After(rbxassetid);
+ string peram = "id=";
+
+ if (urlFixed.Contains(peram))
+ {
+ return urlFixed;
+ }
+ }
+ }
+ }
+ }
+
+ return "";
+ }
+
+ public static string RemoveInvalidXmlChars(string content)
+ {
+ return new string(content.Where(ch => XmlConvert.IsXmlChar(ch)).ToArray());
+ }
+
+ public static string ReplaceHexadecimalSymbols(string txt)
+ {
+ string r = "[\x00-\x08\x0B\x0C\x0E-\x1F]";
+ return Regex.Replace(txt, r, "", RegexOptions.Compiled);
+ }
+ }
+ #endregion
+}
diff --git a/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/Vector3.cs b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/Vector3.cs
new file mode 100644
index 0000000..1d94c10
--- /dev/null
+++ b/Novetus/NovetusCore/StorageAndFunctions/Roblox Helpers/Vector3.cs
@@ -0,0 +1,18 @@
+#region Vector3
+namespace Novetus.Core
+{
+ public class Vector3
+ {
+ public double X;
+ public double Y;
+ public double Z;
+
+ public Vector3(double aX, double aY, double aZ)
+ {
+ X = aX;
+ Y = aY;
+ Z = aZ;
+ }
+ }
+}
+#endregion
diff --git a/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs
index 7d1772c..09794c3 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs
@@ -21,96 +21,35 @@ namespace Novetus.Core
{
[DllImport("user32.dll")]
static extern int SetWindowText(IntPtr hWnd, string text);
+ public static bool IsElevated { get { return WindowsIdentity.GetCurrent().Owner.IsWellKnown(WellKnownSidType.BuiltinAdministratorsSid); } }
- public static string RandomString(int length)
+ public static string Decode(string EncodedData, bool useOldDecoding = false)
{
- CryptoRandom random = new CryptoRandom();
- const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
- return new string(Enumerable.Repeat(chars, length)
- .Select(s => s[random.Next(s.Length)]).ToArray());
- }
-
- public static int GenerateRandomNumber()
- {
- CryptoRandom random = new CryptoRandom();
- int randomID = 0;
- int randIDmode = random.Next(0, 8);
- int idlimit = 0;
-
- switch (randIDmode)
- {
- case 0:
- idlimit = 9;
- break;
- case 1:
- idlimit = 99;
- break;
- case 2:
- idlimit = 999;
- break;
- case 3:
- idlimit = 9999;
- break;
- case 4:
- idlimit = 99999;
- break;
- case 5:
- idlimit = 999999;
- break;
- case 6:
- idlimit = 9999999;
- break;
- case 7:
- idlimit = 99999999;
- break;
- case 8:
- default:
- break;
+ if (useOldDecoding)
+ {
+ return DecodeOld(EncodedData);
}
- if (idlimit > 0)
- {
- randomID = random.Next(0, idlimit);
- }
- else
- {
- randomID = random.Next();
- }
-
- //2147483647 is max id.
- return randomID;
- }
-
- //these 2 methods are for the clientinfo creator.
- public static string Base64DecodeNew(string base64EncodedData)
- {
- return base64EncodedData.Decrypt();
- }
-
- public static string Base64DecodeOld(string base64EncodedData)
- {
- var base64EncodedBytes = Convert.FromBase64String(base64EncodedData);
- return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
- }
-
- //this is for everything else
- public static string Base64Decode(string base64EncodedData)
- {
try
{
- string decode = base64EncodedData.Decrypt();
+ string decode = EncodedData.Decrypt();
return decode;
}
catch (Exception)
{
- var base64EncodedBytes = Convert.FromBase64String(base64EncodedData);
- return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
+ return DecodeOld(EncodedData);
}
}
- public static string Base64Encode(string plainText, bool oldVer = false)
+ private static string DecodeOld(string EncodedData)
+ {
+ var EncodedBytes = Convert.FromBase64String(EncodedData);
+ return System.Text.Encoding.UTF8.GetString(EncodedBytes);
+ }
+
+ public static string Encode(string plainText, bool useOldEncoding = false)
{
- if (oldVer)
+ if (useOldEncoding)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
@@ -121,98 +60,6 @@ namespace Novetus.Core
}
}
- public static bool IsBase64String(string s)
- {
- s = s.Trim();
- return (s.Length % 4 == 0) && Regex.IsMatch(s, @"^[a-zA-Z0-9\+/]*={0,3}$", RegexOptions.None);
- }
-
- public static long UnixTimeNow()
- {
- var timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0));
- return (long)timeSpan.TotalSeconds;
- }
-
- public static bool checkClientMD5(string client)
- {
- if (!GlobalVars.AdminMode)
- {
- if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
- {
- string rbxexe = "";
- string BasePath = GlobalPaths.BasePath + "\\clients\\" + client;
- if (GlobalVars.SelectedClientInfo.LegacyMode)
- {
- rbxexe = BasePath + "\\RobloxApp.exe";
- }
- else if (GlobalVars.SelectedClientInfo.SeperateFolders)
- {
- rbxexe = BasePath + "\\client\\RobloxApp_client.exe";
- }
- else if (GlobalVars.SelectedClientInfo.UsesCustomClientEXEName)
- {
- rbxexe = BasePath + @"\\" + GlobalVars.SelectedClientInfo.CustomClientEXEName;
- }
- else
- {
- rbxexe = BasePath + "\\RobloxApp_client.exe";
- }
- return CheckMD5(GlobalVars.SelectedClientInfo.ClientMD5, rbxexe);
- }
- else
- {
- return true;
- }
- }
- else
- {
- return true;
- }
- }
-
- public static bool checkScriptMD5(string client)
- {
- if (!GlobalVars.AdminMode)
- {
- if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
- {
- string rbxscript = GlobalPaths.BasePath + "\\clients\\" + client + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua";
- return CheckMD5(GlobalVars.SelectedClientInfo.ScriptMD5, rbxscript);
- }
- else
- {
- return true;
- }
- }
- else
- {
- return true;
- }
- }
-
- public static bool CheckMD5(string MD5Hash, string path)
- {
- if (!File.Exists(path))
- return false;
-
- using (var md5 = MD5.Create())
- {
- using (var stream = File.OpenRead(path))
- {
- byte[] hash = md5.ComputeHash(stream);
- string clientMD5 = BitConverter.ToString(hash).Replace("-", "");
- if (clientMD5.Equals(MD5Hash))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
-
public static string GenerateMD5(string filename)
{
using (var md5 = MD5.Create())
@@ -224,18 +71,10 @@ namespace Novetus.Core
}
}
- public static bool IsElevated
- {
- get
- {
- return WindowsIdentity.GetCurrent().Owner.IsWellKnown(WellKnownSidType.BuiltinAdministratorsSid);
- }
- }
-
- public static string RandomStringTitle()
+ private static string RandomStringTitle()
{
CryptoRandom random = new CryptoRandom();
- return new String(' ', random.Next(20));
+ return NovetusFuncs.RandomString(random.Next(20), " ");
}
public static void RenameWindow(Process exe, ScriptType type, string clientname, string mapname)
@@ -316,51 +155,8 @@ namespace Novetus.Core
}
}
- public static string GetExternalIPAddress()
- {
- string ipAddress;
-
- try
- {
- ipAddress = new WebClient().DownloadString("https://ipv4.icanhazip.com/").TrimEnd();
- }
-#if URI || LAUNCHER || BASICLAUNCHER
- catch (Exception ex)
- {
- Util.LogExceptions(ex);
-#else
- catch (Exception)
- {
-#endif
- ipAddress = "localhost";
- }
-
- return ipAddress;
- }
-
- //modified from https://stackoverflow.com/questions/14687658/random-name-generator-in-c-sharp
- public static string GenerateName(int len)
- {
- CryptoRandom r = new CryptoRandom();
- string[] consonants = { "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "l", "n", "p", "q", "r", "s", "sh", "zh", "t", "v", "w", "x" };
- string[] vowels = { "a", "e", "i", "o", "u", "ae", "y" };
- string Name = "";
- Name += consonants[r.Next(consonants.Length)].ToUpper();
- Name += vowels[r.Next(vowels.Length)];
- int b = 2; //b tells how many times a new letter has been added. It's 2 right now because the first two letters are already in the name.
- while (b < len)
- {
- Name += consonants[r.Next(consonants.Length)];
- b++;
- Name += vowels[r.Next(vowels.Length)];
- b++;
- }
-
- return Name;
- }
-
//https://www.c-sharpcorner.com/article/caesar-cipher-in-c-sharp/
- public static char cipher(char ch, int key)
+ private static char cipher(char ch, int key)
{
if (!char.IsLetter(ch))
{
diff --git a/Novetus/NovetusCore/StorageAndFunctions/Util.cs b/Novetus/NovetusCore/StorageAndFunctions/Util.cs
index 6cce83e..08cccfc 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/Util.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/Util.cs
@@ -907,164 +907,6 @@ namespace Novetus.Core
}
#endif
#endregion
-
-#if !BASICLAUNCHER
- #region UPnP
- public static void InitUPnP()
- {
- if (GlobalVars.UserConfiguration.UPnP)
- {
- try
- {
- NetFuncs.InitUPnP(DeviceFound, DeviceLost);
- ConsolePrint("UPnP: Service initialized", 3);
- }
- catch (Exception ex)
- {
- LogExceptions(ex);
- ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2);
- }
- }
- }
-
- public static void StartUPnP(INatDevice device, Protocol protocol, int port)
- {
- if (GlobalVars.UserConfiguration.UPnP)
- {
- try
- {
- NetFuncs.StartUPnP(device, protocol, port);
- string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
- ConsolePrint("UPnP: Port " + port + " opened on '" + IP + "' (" + protocol.ToString() + ")", 3);
- }
- catch (Exception ex)
- {
- LogExceptions(ex);
- ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
- }
- }
- }
-
- public static void StopUPnP(INatDevice device, Protocol protocol, int port)
- {
- if (GlobalVars.UserConfiguration.UPnP)
- {
- try
- {
- NetFuncs.StopUPnP(device, protocol, port);
- string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
- ConsolePrint("UPnP: Port " + port + " closed on '" + IP + "' (" + protocol.ToString() + ")", 3);
- }
- catch (Exception ex)
- {
- LogExceptions(ex);
- ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
- }
- }
- }
-
- public static void DeviceFound(object sender, DeviceEventArgs args)
- {
- try
- {
- INatDevice device = args.Device;
- string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
- ConsolePrint("UPnP: Device '" + IP + "' registered.", 3);
- StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
- StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
- }
- catch (Exception ex)
- {
- LogExceptions(ex);
- ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
- }
- }
-
- public static void DeviceLost(object sender, DeviceEventArgs args)
- {
- try
- {
- INatDevice device = args.Device;
- string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString();
- ConsolePrint("UPnP: Device '" + IP + "' disconnected.", 3);
- StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
- StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
- }
- catch (Exception ex)
- {
- LogExceptions(ex);
- ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2);
- }
- }
- #endregion
-
- #region Discord
- public static void ReadyCallback()
- {
- ConsolePrint("Discord RPC: Ready", 3);
- }
-
- public static void DisconnectedCallback(int errorCode, string message)
- {
- ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2);
- }
-
- public static void ErrorCallback(int errorCode, string message)
- {
- ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2);
- }
-
- public static void JoinCallback(string secret)
- {
- }
-
- public static void SpectateCallback(string secret)
- {
- }
-
- public static void RequestCallback(DiscordRPC.JoinRequest request)
- {
- }
-
- public static void StartDiscord()
- {
- if (GlobalVars.UserConfiguration.DiscordPresence)
- {
- GlobalVars.handlers = new DiscordRPC.EventHandlers();
- GlobalVars.handlers.readyCallback = ReadyCallback;
- GlobalVars.handlers.disconnectedCallback += DisconnectedCallback;
- GlobalVars.handlers.errorCallback += ErrorCallback;
- GlobalVars.handlers.joinCallback += JoinCallback;
- GlobalVars.handlers.spectateCallback += SpectateCallback;
- GlobalVars.handlers.requestCallback += RequestCallback;
- DiscordRPC.Initialize(GlobalVars.appid, ref GlobalVars.handlers, true, "");
- ConsolePrint("Discord RPC: Initalized", 3);
-
- ClientManagement.UpdateRichPresence(ClientManagement.GetStateForType(GlobalVars.GameOpened), true);
- }
- }
- #endregion
-#endif
- }
- #endregion
-
- #region Tab Control without Header
- //https://stackoverflow.com/questions/23247941/c-sharp-how-to-remove-tabcontrol-border
-
- public partial class TabControlWithoutHeader : TabControl
- {
- public TabControlWithoutHeader()
- {
- if (!DesignMode) Multiline = true;
- }
-
- protected override void WndProc(ref Message m)
- {
- if (m.Msg == 0x1328 && !DesignMode)
- m.Result = new IntPtr(1);
- else
- base.WndProc(ref m);
- }
}
#endregion
}
\ No newline at end of file
diff --git a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs
index f94c366..89e0988 100644
--- a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs
+++ b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs
@@ -157,7 +157,7 @@ public class Splash
DateTime now = DateTime.Now;
return text.Replace("%name%", GlobalVars.UserConfiguration.PlayerName)
- .Replace("%randomtext%", SecurityFuncs.RandomString(random.Next(2, (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish ? 64 : 32))))
+ .Replace("%randomtext%", NovetusFuncs.RandomString(random.Next(2, (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish ? 64 : 32))))
.Replace("%version%", GlobalVars.ProgramInformation.Version)
.Replace("%year%", now.Year.ToString())
.Replace("%day%", now.Day.ToString())
diff --git a/Novetus/NovetusLauncher/Classes/TabControlWithoutHeader.cs b/Novetus/NovetusLauncher/Classes/TabControlWithoutHeader.cs
new file mode 100644
index 0000000..3810a03
--- /dev/null
+++ b/Novetus/NovetusLauncher/Classes/TabControlWithoutHeader.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+
+//https://stackoverflow.com/questions/23247941/c-sharp-how-to-remove-tabcontrol-border
+
+public partial class TabControlWithoutHeader : TabControl
+{
+ public TabControlWithoutHeader()
+ {
+ if (!DesignMode) Multiline = true;
+ }
+
+ protected override void WndProc(ref Message m)
+ {
+ if (m.Msg == 0x1328 && !DesignMode)
+ m.Result = new IntPtr(1);
+ else
+ base.WndProc(ref m);
+ }
+}
diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs
index d0093c9..854ecae 100644
--- a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs
+++ b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs
@@ -188,7 +188,7 @@ namespace NovetusLauncher
}
if (GlobalVars.UserConfiguration.DiscordPresence)
{
- DiscordRPC.Shutdown();
+ IDiscordRPC.Shutdown();
}
if (GlobalVars.UserConfiguration.WebProxyEnabled)
{
diff --git a/Novetus/NovetusLauncher/Forms/NovetusConsole.cs b/Novetus/NovetusLauncher/Forms/NovetusConsole.cs
index 7083114..25804dd 100644
--- a/Novetus/NovetusLauncher/Forms/NovetusConsole.cs
+++ b/Novetus/NovetusLauncher/Forms/NovetusConsole.cs
@@ -30,11 +30,36 @@ namespace NovetusLauncher
InitializeComponent();
}
+ //modified from https://stackoverflow.com/questions/14687658/random-name-generator-in-c-sharp
+ public static string GenerateName(int len)
+ {
+ CryptoRandom r = new CryptoRandom();
+ string[] consonants = { "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "l", "n", "p", "q", "r", "s", "sh", "zh", "t", "v", "w", "x" };
+ string[] vowels = { "a", "e", "i", "o", "u", "ae", "y" };
+ string Name = "";
+ Name += consonants[r.Next(consonants.Length)].ToUpper();
+ Name += vowels[r.Next(vowels.Length)];
+ int b = 2; //b tells how many times a new letter has been added. It's 2 right now because the first two letters are already in the name.
+ while (b < len)
+ {
+ Name += consonants[r.Next(consonants.Length)];
+ b++;
+ Name += vowels[r.Next(vowels.Length)];
+ b++;
+ }
+
+ return Name;
+ }
+
private void NovetusConsole_Load(object sender, EventArgs e)
{
Util.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded.", 4);
Util.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4);
- NovetusFuncs.SetupAdminPassword();
+ CryptoRandom random = new CryptoRandom();
+ string Name1 = GenerateName(random.Next(4, 12));
+ string Name2 = GenerateName(random.Next(4, 12));
+ GlobalVars.Important = Name1 + Name2;
+ GlobalVars.Important2 = SecurityFuncs.Encipher(GlobalVars.Important, random.Next(2, 13));
if (argList.Length > 0)
{
diff --git a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
index 387d3c4..8ffd2c0 100644
--- a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
+++ b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
@@ -108,26 +108,26 @@ public partial class ClientinfoEditor : Form
{
IsVersion2 = true;
label9.Text = curversion + " (v" + GlobalVars.ProgramInformation.Version + ")";
- ConvertedLine = SecurityFuncs.Base64DecodeNew(file);
+ ConvertedLine = SecurityFuncs.Decode(file, false);
}
catch (Exception)
{
label9.Text = "v1 (v1.1)";
- ConvertedLine = SecurityFuncs.Base64DecodeOld(file);
+ ConvertedLine = SecurityFuncs.Decode(file, true);
}
string[] result = ConvertedLine.Split('|');
- usesplayername = SecurityFuncs.Base64Decode(result[0]);
- usesid = SecurityFuncs.Base64Decode(result[1]);
- warning = SecurityFuncs.Base64Decode(result[2]);
- legacymode = SecurityFuncs.Base64Decode(result[3]);
- clientmd5 = SecurityFuncs.Base64Decode(result[4]);
- scriptmd5 = SecurityFuncs.Base64Decode(result[5]);
- desc = SecurityFuncs.Base64Decode(result[6]);
- locked = SecurityFuncs.Base64Decode(result[7]);
- fix2007 = SecurityFuncs.Base64Decode(result[8]);
- alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]);
- cmdargsorclientoptions = SecurityFuncs.Base64Decode(result[10]);
+ usesplayername = SecurityFuncs.Decode(result[0]);
+ usesid = SecurityFuncs.Decode(result[1]);
+ warning = SecurityFuncs.Decode(result[2]);
+ legacymode = SecurityFuncs.Decode(result[3]);
+ clientmd5 = SecurityFuncs.Decode(result[4]);
+ scriptmd5 = SecurityFuncs.Decode(result[5]);
+ desc = SecurityFuncs.Decode(result[6]);
+ locked = SecurityFuncs.Decode(result[7]);
+ fix2007 = SecurityFuncs.Decode(result[8]);
+ alreadyhassecurity = SecurityFuncs.Decode(result[9]);
+ cmdargsorclientoptions = SecurityFuncs.Decode(result[10]);
folders = "False";
usescustomname = "False";
customname = "";
@@ -137,19 +137,19 @@ public partial class ClientinfoEditor : Form
{
if (IsVersion2)
{
- commandargsver2 = SecurityFuncs.Base64Decode(result[11]);
+ commandargsver2 = SecurityFuncs.Decode(result[11]);
bool parsedValue;
if (bool.TryParse(commandargsver2, out parsedValue))
{
- folders = SecurityFuncs.Base64Decode(result[11]);
- commandargsver2 = SecurityFuncs.Base64Decode(result[12]);
+ folders = SecurityFuncs.Decode(result[11]);
+ commandargsver2 = SecurityFuncs.Decode(result[12]);
bool parsedValue2;
if (bool.TryParse(commandargsver2, out parsedValue2))
{
- usescustomname = SecurityFuncs.Base64Decode(result[12]);
- customname = SecurityFuncs.Base64Decode(result[13]);
- commandargsver2 = SecurityFuncs.Base64Decode(result[14]);
+ usescustomname = SecurityFuncs.Decode(result[12]);
+ customname = SecurityFuncs.Decode(result[13]);
+ commandargsver2 = SecurityFuncs.Decode(result[14]);
}
else
{
@@ -248,23 +248,23 @@ public partial class ClientinfoEditor : Form
if (!string.IsNullOrWhiteSpace(SelectedClientInfoPath))
{
string[] lines = {
- SecurityFuncs.Base64Encode(SelectedClientInfo.UsesPlayerName.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.UsesID.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.Warning.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.LegacyMode.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.ClientMD5.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.ScriptMD5.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.Description.ToString()),
- SecurityFuncs.Base64Encode(Locked.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.Fix2007.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()),
- SecurityFuncs.Base64Encode(((int)SelectedClientInfo.ClientLoadOptions).ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.SeperateFolders.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.UsesCustomClientEXEName.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.CustomClientEXEName.ToString()),
- SecurityFuncs.Base64Encode(SelectedClientInfo.CommandLineArgs.ToString())
+ SecurityFuncs.Encode(SelectedClientInfo.UsesPlayerName.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.UsesID.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.Warning.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.LegacyMode.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.ClientMD5.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.ScriptMD5.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.Description.ToString()),
+ SecurityFuncs.Encode(Locked.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.Fix2007.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()),
+ SecurityFuncs.Encode(((int)SelectedClientInfo.ClientLoadOptions).ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.SeperateFolders.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.UsesCustomClientEXEName.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.CustomClientEXEName.ToString()),
+ SecurityFuncs.Encode(SelectedClientInfo.CommandLineArgs.ToString())
};
- File.WriteAllText(SelectedClientInfoPath + "\\clientinfo.nov", SecurityFuncs.Base64Encode(string.Join("|", lines)));
+ File.WriteAllText(SelectedClientInfoPath + "\\clientinfo.nov", SecurityFuncs.Encode(string.Join("|", lines)));
label9.Text = curversion + " (v" + GlobalVars.ProgramInformation.Version + ")";
diff --git a/Novetus/NovetusLauncher/Forms/ServerBrowser.cs b/Novetus/NovetusLauncher/Forms/ServerBrowser.cs
index 6e0d7eb..5b5b295 100644
--- a/Novetus/NovetusLauncher/Forms/ServerBrowser.cs
+++ b/Novetus/NovetusLauncher/Forms/ServerBrowser.cs
@@ -145,11 +145,11 @@ namespace NovetusLauncher
try
{
string[] initialLine = line.Split('|');
- DecodedLine = SecurityFuncs.Base64DecodeOld(initialLine[1]);
+ DecodedLine = SecurityFuncs.Decode(initialLine[1], true);
}
catch (Exception)
{
- DecodedLine = SecurityFuncs.Base64DecodeOld(line);
+ DecodedLine = SecurityFuncs.Decode(line, true);
}
string[] serverInfo = DecodedLine.Split('|');
@@ -253,11 +253,11 @@ namespace NovetusLauncher
{
public ServerBrowserDef(string name, string ip, string port, string client, string version)
{
- ServerName = SecurityFuncs.Base64DecodeOld(name);
- ServerIP = SecurityFuncs.Base64DecodeOld(ip);
- ServerPort = Convert.ToInt32(SecurityFuncs.Base64DecodeOld(port));
- ServerClient = SecurityFuncs.Base64DecodeOld(client);
- ServerVersion = SecurityFuncs.Base64DecodeOld(version);
+ ServerName = SecurityFuncs.Decode(name, true);
+ ServerIP = SecurityFuncs.Decode(ip, true);
+ ServerPort = Convert.ToInt32(SecurityFuncs.Decode(port, true));
+ ServerClient = SecurityFuncs.Decode(client, true);
+ ServerVersion = SecurityFuncs.Decode(version, true);
}
public bool IsValid()
diff --git a/Novetus/NovetusLauncher/Novetus.Launcher.csproj b/Novetus/NovetusLauncher/Novetus.Launcher.csproj
index 563522b..ae4befa 100644
--- a/Novetus/NovetusLauncher/Novetus.Launcher.csproj
+++ b/Novetus/NovetusLauncher/Novetus.Launcher.csproj
@@ -21,6 +21,9 @@
False
False
OnBuildSuccess
+ false
+
+
publish\
true
Disk
@@ -33,11 +36,8 @@
true
0
1.0.0.%2a
- false
false
true
-
-
x86
@@ -96,6 +96,11 @@
..\packages\DotNetZip.1.16.0\lib\net40\DotNetZip.dll
+
+ ..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll
@@ -109,10 +114,21 @@
+
+ ..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+ ..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
+ True
+ True
+
3.5
@@ -120,29 +136,136 @@
3.5
+
+ ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+
+ ..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll
+ True
+ True
+
-
+
+ ..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
+ True
+ True
+
+
+ ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll
+ True
+ True
+
+
+
+ ..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll
+ True
+ True
+
..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
-
+
+ ..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+ ..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+ ..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll
+
+ ..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
@@ -154,6 +277,11 @@
3.5
+
+ ..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll
+ True
+ True
+
..\packages\Titanium.Web.Proxy.3.2.0\lib\net461\Titanium.Web.Proxy.dll
@@ -186,6 +314,9 @@
+
+ Component
+
Form
diff --git a/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs b/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs
index c2f0efb..c374807 100644
--- a/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs
+++ b/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs
@@ -97,8 +97,8 @@ namespace NovetusLauncher
FileManagement.CreateInitialFileListIfNeededMulti();
FileManagement.CreateAssetCacheDirectories();
- Util.InitUPnP();
- Util.StartDiscord();
+ NetFuncs.InitUPnP();
+ DiscordRPC.StartDiscord();
}
static void Run(string[] args, bool sdk = false, CMDState state = CMDState.CMDOpen)
diff --git a/Novetus/NovetusLauncher/packages.config b/Novetus/NovetusLauncher/packages.config
index a316aab..deefc0c 100644
--- a/Novetus/NovetusLauncher/packages.config
+++ b/Novetus/NovetusLauncher/packages.config
@@ -2,16 +2,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Novetus/NovetusURI/Classes/LocalFuncs.cs b/Novetus/NovetusURI/Classes/LocalFuncs.cs
index eb5c888..d50b1cb 100644
--- a/Novetus/NovetusURI/Classes/LocalFuncs.cs
+++ b/Novetus/NovetusURI/Classes/LocalFuncs.cs
@@ -82,11 +82,11 @@ namespace NovetusURI
try
{
string ExtractedArg = LocalVars.SharedArgs.Replace("novetus://", "").Replace("novetus", "").Replace(":", "").Replace("/", "").Replace("?", "");
- string ConvertedArg = SecurityFuncs.Base64DecodeOld(ExtractedArg);
+ string ConvertedArg = SecurityFuncs.Decode(ExtractedArg, true);
string[] SplitArg = ConvertedArg.Split('|');
- string ip = SecurityFuncs.Base64Decode(SplitArg[0]);
- string port = SecurityFuncs.Base64Decode(SplitArg[1]);
- string client = SecurityFuncs.Base64Decode(SplitArg[2]);
+ string ip = SecurityFuncs.Decode(SplitArg[0]);
+ string port = SecurityFuncs.Decode(SplitArg[1]);
+ string client = SecurityFuncs.Decode(SplitArg[2]);
GlobalVars.UserConfiguration.SelectedClient = client;
GlobalVars.CurrentServer.ServerIP = ip;
GlobalVars.CurrentServer.ServerPort = Convert.ToInt32(port);
diff --git a/Novetus/NovetusURI/Forms/LoaderForm.cs b/Novetus/NovetusURI/Forms/LoaderForm.cs
index eb21161..eaf536d 100644
--- a/Novetus/NovetusURI/Forms/LoaderForm.cs
+++ b/Novetus/NovetusURI/Forms/LoaderForm.cs
@@ -13,53 +13,6 @@ namespace NovetusURI
#region URI Loader
public partial class LoaderForm : Form
{
- #region Private Variables
- private DiscordRPC.EventHandlers handlers;
- #endregion
-
- #region Discord
- public void ReadyCallback()
- {
- }
-
- public void DisconnectedCallback(int errorCode, string message)
- {
- }
-
- public void ErrorCallback(int errorCode, string message)
- {
- }
-
- public void JoinCallback(string secret)
- {
- }
-
- public void SpectateCallback(string secret)
- {
- }
-
- public void RequestCallback(DiscordRPC.JoinRequest request)
- {
- }
-
- void StartDiscord()
- {
- if (GlobalVars.UserConfiguration.DiscordPresence)
- {
- handlers = new DiscordRPC.EventHandlers();
- handlers.readyCallback = ReadyCallback;
- handlers.disconnectedCallback += DisconnectedCallback;
- handlers.errorCallback += ErrorCallback;
- handlers.joinCallback += JoinCallback;
- handlers.spectateCallback += SpectateCallback;
- handlers.requestCallback += RequestCallback;
- DiscordRPC.Initialize(GlobalVars.appid, ref handlers, true, "");
-
- ClientManagement.UpdateRichPresence(GlobalVars.LauncherState.LoadingURI, true);
- }
- }
- #endregion
-
#region Constructor
public LoaderForm()
{
@@ -131,7 +84,7 @@ namespace NovetusURI
if (GlobalVars.UserConfiguration.DiscordPresence)
{
ClientManagement.UpdateStatus(label1, "Starting Discord Rich Presence...");
- StartDiscord();
+ DiscordRPC.StartDiscord();
}
ClientManagement.UpdateStatus(label1, "Launching Game...");
LocalFuncs.SetupURIValues();
diff --git a/Novetus/NovetusURI/Novetus.URI.csproj b/Novetus/NovetusURI/Novetus.URI.csproj
index a2e1e3c..92c8972 100644
--- a/Novetus/NovetusURI/Novetus.URI.csproj
+++ b/Novetus/NovetusURI/Novetus.URI.csproj
@@ -53,6 +53,11 @@
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\BrotliSharpLib.0.3.3\lib\net451\BrotliSharpLib.dll
+
+ ..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll
@@ -63,32 +68,151 @@
..\packages\NLog.5.1.0\lib\net46\NLog.dll
+
+ ..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+ ..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
+ True
+ True
+
-
+
+ ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+
+ ..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll
+ True
+ True
+
+
+ ..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
+ True
+ True
+
+
+ ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll
+ True
+ True
+
+
+
+ ..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll
+ True
+ True
+
+
+ ..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll
+ True
+ True
+
..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+ ..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+ ..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+ ..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll
+
+ ..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
@@ -102,6 +226,11 @@
+
+ ..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll
+ True
+ True
+
..\packages\Titanium.Web.Proxy.3.2.0\lib\net461\Titanium.Web.Proxy.dll
@@ -126,6 +255,10 @@
Forms\CharCustom\Extended\CharacterCustomizationExtended.designer.cs
CharacterCustomizationExtended.cs
+
+ Classes\TabControlWithoutHeader.cs
+ Component
+
diff --git a/Novetus/NovetusURI/packages.config b/Novetus/NovetusURI/packages.config
index 530607d..b532d6a 100644
--- a/Novetus/NovetusURI/packages.config
+++ b/Novetus/NovetusURI/packages.config
@@ -1,16 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SECURITY.md b/SECURITY.md
index f74c0af..932ad15 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -4,16 +4,11 @@
|Stable Versions|Supported|
|-------|-------|
-|1.2.4.1|:white_check_mark:|
-|1.2.4.1 (lite) |:white_check_mark:|
+| 1.3 |:white_check_mark:|
|Snapshots|Supported|
|-------|-------|
-| 1.2.5 |:white_check_mark:|
-
-|In Development|Supported|
-|-------|-------|
-| 1.3 (1.2.5 Refresh)|:white_check_mark:|
+| 1.3 |:white_check_mark:|
## Reporting a Vulnerability
diff --git a/changelog.txt b/changelog.txt
index 41a98c4..c66acf8 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -4,6 +4,7 @@ Enhancements:
- Merged some static APIs into one extension.
- Restored the Help button functionality.
- All clients now work properly with the Web Proxy.
+- Rearraged folder layout.
----------------------------------------------------------------------------
1.3 Snapshot v22.8412.32591.1
Enhancements: