diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/3DRRadio.csproj b/Tools/ArdupilotMegaPlanner/3DRRadio/3DRRadio.csproj
new file mode 100644
index 0000000000..7f514ee20c
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/3DRRadio.csproj
@@ -0,0 +1,216 @@
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}
+ WinExe
+ Properties
+ _3DRRadio
+ 3DRRadio
+ v3.5
+
+
+ 512
+ false
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ true
+
+
+ x86
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+ 3dr.ico
+
+
+
+ ..\Lib\log4net.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Linked\ArduinoComms.cs
+
+
+ Linked\ArduinoSTK.cs
+ Component
+
+
+ Linked\DisplayTextAttribute.cs
+
+
+ Linked\PrivateAttribute.cs
+
+
+ Linked\CommsSerialInterface.cs
+
+
+ Linked\CommsSerialPort.cs
+ Component
+
+
+ Linked\BackstageView.cs
+ UserControl
+
+
+ Linked\BackstageView.designer.cs
+ BackstageView.cs
+
+
+ Linked\BackstageViewButton.cs
+ Component
+
+
+ Linked\BackStageViewContentPanel.cs
+ UserControl
+
+
+ Linked\BackStageViewMenuPanel.cs
+ Component
+
+
+ Linked\CustomMessageBox.cs
+
+
+ Linked\MyButton.cs
+ Component
+
+
+ Linked\3DRradio.cs
+ UserControl
+
+
+ Linked\3DRradio.designer.cs
+ 3DRradio.cs
+
+
+ Linked\IHex.cs
+
+
+ Linked\Uploader.cs
+
+
+
+ Form
+
+
+ Config.cs
+
+
+
+
+
+
+ Linked\BackstageView.resx
+ BackstageView.cs
+
+
+ Linked\3DRradio.resx
+ 3DRradio.cs
+
+
+ Linked\3DRradio.zh-Hans.resx
+ 3DRradio.cs
+
+
+ Config.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/3dr.ico b/Tools/ArdupilotMegaPlanner/3DRRadio/3dr.ico
new file mode 100644
index 0000000000..9837bfa416
Binary files /dev/null and b/Tools/ArdupilotMegaPlanner/3DRRadio/3dr.ico differ
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Common.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Common.cs
new file mode 100644
index 0000000000..f3d229dc04
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Common.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Security.Cryptography.X509Certificates;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+using System.Xml; // config file
+using System.Runtime.InteropServices; // dll imports
+using System.Drawing.Drawing2D;
+using log4net;
+using System.Reflection;
+using System.Windows.Forms;
+
+namespace ArdupilotMega
+{
+ public class Common
+ {
+ private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ public static bool getFilefromNet(string url, string saveto)
+ {
+ try
+ {
+ // this is for mono to a ssl server
+ //ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy();
+
+ ServicePointManager.ServerCertificateValidationCallback =
+ new System.Net.Security.RemoteCertificateValidationCallback((sender, certificate, chain, policyErrors) => { return true; });
+
+ // Create a request using a URL that can receive a post.
+ WebRequest request = WebRequest.Create(url);
+ request.Timeout = 10000;
+ // Set the Method property of the request to POST.
+ request.Method = "GET";
+ // Get the response.
+ WebResponse response = request.GetResponse();
+ // Display the status.
+ log.Info(((HttpWebResponse)response).StatusDescription);
+ if (((HttpWebResponse)response).StatusCode != HttpStatusCode.OK)
+ return false;
+ // Get the stream containing content returned by the server.
+ Stream dataStream = response.GetResponseStream();
+
+ long bytes = response.ContentLength;
+ long contlen = bytes;
+
+ byte[] buf1 = new byte[1024];
+
+ FileStream fs = new FileStream(saveto + ".new", FileMode.Create);
+
+ DateTime dt = DateTime.Now;
+
+ while (dataStream.CanRead && bytes > 0)
+ {
+ Application.DoEvents();
+ log.Debug(saveto + " " + bytes);
+ int len = dataStream.Read(buf1, 0, buf1.Length);
+ bytes -= len;
+ fs.Write(buf1, 0, len);
+ }
+
+ fs.Close();
+ dataStream.Close();
+ response.Close();
+
+ File.Delete(saveto);
+ File.Move(saveto + ".new", saveto);
+
+ return true;
+ }
+ catch (Exception ex) { log.Info("getFilefromNet(): " + ex.ToString()); return false; }
+ }
+
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Config.Designer.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.Designer.cs
new file mode 100644
index 0000000000..5bc3522d91
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.Designer.cs
@@ -0,0 +1,146 @@
+namespace _3DRRadio
+{
+ partial class Config
+ {
+ ///
+ /// 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(Config));
+ this.CMB_SerialPort = new System.Windows.Forms.ComboBox();
+ this.CMB_Baudrate = new System.Windows.Forms.ComboBox();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // CMB_SerialPort
+ //
+ this.CMB_SerialPort.FormattingEnabled = true;
+ resources.ApplyResources(this.CMB_SerialPort, "CMB_SerialPort");
+ this.CMB_SerialPort.Name = "CMB_SerialPort";
+ this.CMB_SerialPort.SelectedIndexChanged += new System.EventHandler(this.CMB_SerialPort_SelectedIndexChanged);
+ this.CMB_SerialPort.Click += new System.EventHandler(this.CMB_SerialPort_Click);
+ //
+ // CMB_Baudrate
+ //
+ this.CMB_Baudrate.FormattingEnabled = true;
+ this.CMB_Baudrate.Items.AddRange(new object[] {
+ resources.GetString("CMB_Baudrate.Items"),
+ resources.GetString("CMB_Baudrate.Items1"),
+ resources.GetString("CMB_Baudrate.Items2"),
+ resources.GetString("CMB_Baudrate.Items3"),
+ resources.GetString("CMB_Baudrate.Items4"),
+ resources.GetString("CMB_Baudrate.Items5"),
+ resources.GetString("CMB_Baudrate.Items6"),
+ resources.GetString("CMB_Baudrate.Items7")});
+ resources.ApplyResources(this.CMB_Baudrate, "CMB_Baudrate");
+ this.CMB_Baudrate.Name = "CMB_Baudrate";
+ this.CMB_Baudrate.SelectedIndexChanged += new System.EventHandler(this.CMB_Baudrate_SelectedIndexChanged);
+ //
+ // panel1
+ //
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.MinimumSize = new System.Drawing.Size(781, 433);
+ this.panel1.Name = "panel1";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.CMB_SerialPort);
+ this.groupBox1.Controls.Add(this.CMB_Baudrate);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.label2);
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.panel1);
+ resources.ApplyResources(this.groupBox2, "groupBox2");
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.TabStop = false;
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.BackgroundImage = global::_3DRRadio.Properties.Resources._3dr3;
+ resources.ApplyResources(this.pictureBox1, "pictureBox1");
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.TabStop = false;
+ //
+ // Config
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.pictureBox1);
+ this.Name = "Config";
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ComboBox CMB_SerialPort;
+ private System.Windows.Forms.ComboBox CMB_Baudrate;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.GroupBox groupBox2;
+ }
+}
+
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Config.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.cs
new file mode 100644
index 0000000000..02e1d74378
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace _3DRRadio
+{
+ public partial class Config : Form
+ {
+ public Config()
+ {
+ InitializeComponent();
+
+ ArdupilotMega._3DRradio form = new ArdupilotMega._3DRradio();
+
+ panel1.Controls.Add(form);
+
+ ArdupilotMega.Utilities.ThemeManager.SetTheme(ArdupilotMega.Utilities.ThemeManager.Themes.None);
+
+ ArdupilotMega.Utilities.ThemeManager.ApplyThemeTo(this);
+
+ CMB_SerialPort.Items.AddRange(ArdupilotMega.Comms.SerialPort.GetPortNames());
+ if (CMB_SerialPort.Items.Count > 0)
+ CMB_SerialPort.SelectedIndex = 0;
+
+ // default
+ CMB_Baudrate.SelectedIndex = CMB_Baudrate.Items.IndexOf("57600");
+ }
+
+ private void CMB_SerialPort_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ArdupilotMega.MainV2.comPort.BaseStream.PortName = CMB_SerialPort.Text;
+ }
+
+ private void CMB_Baudrate_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ArdupilotMega.MainV2.comPort.BaseStream.BaudRate = int.Parse(CMB_Baudrate.Text);
+ }
+
+ private void CMB_SerialPort_Click(object sender, EventArgs e)
+ {
+ CMB_SerialPort.Items.Clear();
+ CMB_SerialPort.Items.AddRange(ArdupilotMega.Comms.SerialPort.GetPortNames());
+ }
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Config.resx b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.resx
new file mode 100644
index 0000000000..c2d6487d8e
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Config.resx
@@ -0,0 +1,1533 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ 47, 14
+
+
+ 109, 21
+
+
+
+ 0
+
+
+ CMB_SerialPort
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 0
+
+
+ 4800
+
+
+ 9600
+
+
+ 14400
+
+
+ 19200
+
+
+ 28800
+
+
+ 38400
+
+
+ 57600
+
+
+ 115200
+
+
+ 47, 41
+
+
+ 109, 21
+
+
+ 1
+
+
+ CMB_Baudrate
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
+
+
+
+ Top, Bottom, Left, Right
+
+
+ 1, 19
+
+
+ 781, 452
+
+
+ 2
+
+
+ panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 6, 49
+
+
+ 32, 13
+
+
+ 3
+
+
+ Baud
+
+
+ label1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 6, 22
+
+
+ 26, 13
+
+
+ 4
+
+
+ Port
+
+
+ label2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 3
+
+
+ True
+
+
+ NoControl
+
+
+ 184, 25
+
+
+ 176, 39
+
+
+ 6
+
+
+ 1. Please Select the comport
+ and baudrate for your 3DRRadio.
+2. Then click load settings.
+
+
+ label3
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
+
+ 12, 9
+
+
+ 166, 67
+
+
+ 7
+
+
+ ComPort
+
+
+ groupBox1
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ 12, 82
+
+
+ 786, 477
+
+
+ 8
+
+
+ Settings
+
+
+ groupBox2
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ Zoom
+
+
+ NoControl
+
+
+ 445, 5
+
+
+ 353, 81
+
+
+ 5
+
+
+ pictureBox1
+
+
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
+
+
+ True
+
+
+ 6, 13
+
+
+ 810, 566
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ RQM/h0CwP4c//z+HP/8/hz/qPoU9lT6FO3A+hTyMP4c/3T+HP/8/hz//P4hAzT+KRAo+hTuvPoU8/z6F
+ PP8+hTv/PodAZAAAAAAAAAAAAAAAAD6FPK0+hTz/PoU82D6FPKM+hTz/PoU8/z6EOa4+gzePPoM4kD6D
+ OJA+gziQPoM4kz6DOGk+hTu+PoU8/z6EO+g+hz8SP4xHLz+HPvI/hz//P4c//z+GP8U+hTyAPoU7cj6G
+ Pqc/h0D9P4c//z+HPv8/iEJyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHgdxDx4
+ Hf88eB3/PHge/zx4Hv88eB7/PHge/zx4Hv88dx3/PHcd/zx4H6o9fCkGAAAAAAAAAAAAAAAAAAAAADx4
+ H7g8eB3/PHgd/zx4Hf89eyVBAAAAAAAAAAAAAAAAPHgdeDx4Hf88eB3/PHgd/zx4Hv88eB7/PHge/zx3
+ Hf88dx3/PHgfvT6AMxM8eiMGPHgc5zx4Hf88dx3bPHgfBD6ENwI9fCmTPXoj/z16JP89eyX/PXsl/z17
+ Jf89eiT/PXok/z15JOU+gDBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9fCpsPXoj9D16
+ JP89eyT/PXsl/z17Jf89eiT/PXoj/z16JcI+hDkVAAAAAD6DOBE9eiW6PXoj/z16JP89eyX/PXsl/z17
+ Jf89eiT/PXoj/z16Jcs+gzYjAAAAADx3HLw8eB3/PHcd/zx4ILw9fSsCAAAAAAAAAAAAAAAAPHgdtTx4
+ Hf88eB3iPHgdqjx4Hf88eB3/PHge/zx4Hv88eB7/PHge/zx4Hv88eB7/PHgeyzx4HcY8eB3/PHgd8zx3
+ HBwAAAAAPoEySj15I+o9eiT/PXok/z17Jf89eyX/PXsl/z16JP89eiP/PXsonz+GPAUAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6aweIOmsHuzprB7k6awe5OmsHuTprB7k6awe6OmsHuDps
+ B6I6bQhkO3UWBQAAAAAAAAAAAAAAAAAAAAAAAAAAOmwISzprBro6awe6OmsHnDpsCgYAAAAAAAAAAAAA
+ AAA6awdUOmsHujprB7k6awe5OmsHuTprB7o6awe4OmsHozttB1w8dRgFAAAAADpqBgk6awegOmsHuzpr
+ B5g6aQQEAAAAAAAAAAA7cQ5QOm4KqzptCdY6bQnoOm0J5DptCsU7cAt+PHQUGQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7cxMxO24KnjptCdM6bQnoOm0J5DptCsA7bwxvPHccCgAA
+ AAAAAAAAAAAAADx2Gwc7cAxnOm4KtzptCdw6bQnpOm0J4DpuCrk7cAxrPHccCwAAAAAAAAAAOmoHgjpr
+ B7s6aga3Om8NLwAAAAAAAAAAAAAAAAAAAAA6awd+OmsHuzprB506awd2OmsHujprB7k6awe5OmsHuTpr
+ B7k6awe5OmsHuTprB7o6aweGOmsHiTprB7s6awepOmkFFAAAAAAAAAAAO3MUHjtvC4Y6bQrJOm0J5Tpt
+ Ceg6bQnaOm0KtTtwDVo9eCIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWkDCzlp
+ AxQ5aQMSOmsEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAOWkDCTlpAxQ5aQMSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWgEDjlo
+ BBU5aAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADppBQQ5aAQTOWgEFDloBA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89Pvk/PT4tAAAAAD89PqQ/PT7/Pz0+/z89
+ Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89PvY/PT6JPjw9EQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD89Pms/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89
+ Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89PpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PDwKPjw9rz88
+ Pf8/PD3/Pzw9gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4pByD+KQf8/ikH/P4pB/z+K
+ Qf8/ikH/P4pB/z+PQV8AAAAAPTY8kz08PP89PDz/PTw8/z08PP89PDz/PTw8/z08PP89PDz/PTw8/z08
+ PP89PDz/PTw8/z08PP89PDz/PTw8/z08PP89PDz/PTw8/z08PP89PDz/PTw8/z08PP89PDz/PTw97Dw7
+ PE4AAAAAAAAAAAAAAAAAAAAAAAAAAD08PdU9PD3/PTw9/z08Pf89PD3/PTw9/z08Pf89PD3/PTw9/z08
+ Pf89PD3/PTw9+T08PS0AAAAAPTw9pD08Pf89PD3/PTw9/z08Pf89PD3/PTw9/z08Pf89PD3/PTw9/z08
+ Pf89PD3/PTw9/z08Pf89PD3/Pjw9/z08Pf89PD3SPTs8PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAPTw9az08Pf89PD3/PTw9/z08Pf89PD3/PTw9/z08Pf89PD3/PTw9/z08Pf89PD3/PTw9kAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAOzo7Cjw7PLA8Ozz/PDs8/zw7PP88OzyBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAA7bwZFO28GXjtvBl47bwZeO28GXjtvBl47bwZeO3IEIQAAAAA7Nj6TOzo7/zs6
+ O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7/zs6
+ O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7+Ds6O0gAAAAAAAAAAAAAAAAAAAAAPDo81Tw6
+ PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88Ojz5PDo8LQAAAAA8OjykPDo8/zw6
+ PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6
+ PP88Ojz2Ozo7XgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8OjxrPDo8/zw6PP88Ojz/PDo8/zw6
+ PP88Ojz/PDo8/zw6PP88Ojz/PDo8/zw6PP88OjyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo4Ogo7OTuxOzk7/zs5
+ O/87OTv/Ozk7/zs5O4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9PLhs/Ty4lP08uJT9P
+ LiU/Ty4lP08uJT9PLiU/Ty8NAAAAADo3OpI6ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4
+ Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4
+ Ov86ODr/Ojg67Do4OicAAAAAAAAAAAAAAAA6ODrVOjg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4
+ Ov86ODr/Ojg6/zo4Ovk6ODotAAAAADs5O6Q7OTv/Ozk7/zs5O/87OTv/Ozk7/zs5O/87OTv/Ozk7/zs5
+ O/87OTv/Ozk7/zs5O/87OTv/Ozk7/zs5O/87OTv/Ozk7/zs5O/87OTv8Ojg6bAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADo4Oms6ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4
+ OpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAA4NzgKOjg6sjo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6gQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQT5DwUE+Q/9BPkP/QT5D/0E+Q/9BPkP/QT5D/0I+Q1sAAAAAODc4nDg3
+ OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3
+ OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/OTc5vDk3OQMAAAAAAAAAADk3
+ OdU5Nzn/OTc5/zk3Of85Nzn/OTc5/zk3Of85Nzn/OTc5/zk3Of85Nzn/OTc5+Tk3OS0AAAAAOTg5pDk4
+ Of85ODn/OTg5/zk4Of85ODn/OTg5/zk4Of85ODn/OTg5/zk4Of85ODn/OTg5/zk4Of85ODn/OTg5/zk4
+ Of85ODn/OTg5/zk4Of85ODn9ODc4XwAAAAAAAAAAAAAAAAAAAAAAAAAAOTc5azk3Of85Nzn/OTc5/zk3
+ Of85Nzn/OTc5/zk3Of85Nzn/OTc5/zk3Of85Nzn/OTc5kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzY3Cjg3OLQ4Nzj/ODc4/zg3
+ OP84Nzj/ODc4/zg3OP84NziBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBP0C7QT9A/0E/
+ QP9BP0D/QT9A/0E/QP9BP0D/QT9AWAAAAAA3NjesNzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2
+ N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2
+ N/83Njf/NzY3/zc2N/83Njf/NzU3VwAAAAAAAAAANzY31Tc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2
+ N/83Njf/NzY3/zc2N/83Njf5NzY3LQAAAAA4NzikODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3
+ OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84Nzj3NzY3PQAA
+ AAAAAAAAAAAAAAAAAAA3NjdrNzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2N/83Njf/NzY3/zc2
+ N/83NjeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADY0Ngw3NTe2NzU3/zc1N/83NTf/NzU3/zc1N/83NTf/NzU3/zc1N4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA+P7tAPj//QD4//0A+P/9APj//QD4//0A+P/9APj9YAAAAADY0
+ Nqs2NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0
+ Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDbKNjQ2BAAA
+ AAA2NTbVNjU2/zY1Nv82NTb/NjU2/zY1Nv82NTb/NjU2/zY1Nv82NTb/NjU2/zY1Nvk2NTYtAAAAADc1
+ N6Q3NTf/NzU3/zc1N/83NTf/NzU3/zc1N/83NTf/NzU3/zc1N/83NTf/NzU3/zc1N/83NTf/NzU3/zc1
+ N/83NTf/NzU3/zc1N/83NTf/NzU3/zc1N/83NTfcNTM1EwAAAAAAAAAAAAAAADY1Nms2NTb/NjU2/zY1
+ Nv82NTb/NjU2/zY1Nv82NTb/NjU2/zY1Nv82NTb/NjU2/zY1NpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MzUNNTM1tzY0Nv82NDb/NjQ2/zY0
+ Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz0+uz89
+ Pv8/PT7/Pz0+/z89Pv8/PT7/Pz0+/z89PlgAAAAANDM1tDQzNf80MzX/NDM1/zQzNf80MzX/NDM1/zQz
+ Nf80MzX/NDM1/zQzNf80MzX/NDM1/zQzNf80MzX/NDM1/zQzNf80MzX/NDM1/zQzNf80MzX/NDM1/zQz
+ Nf80MzX/NDM1/zQzNf80MzX/NDM1/zQzNfw0MzU1AAAAADUzNdU1MzX/NTM1/zUzNf81MzX/NTM1/zUz
+ Nf81MzX/NTM1/zUzNf81MzX/NTM1+TUzNS0AAAAANTM1rDUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUz
+ Nf81MzX/NTM1/zUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUz
+ Nf81MzWcAAAAAAAAAAAAAAAANTM1azUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUzNf81MzX/NTM1/zUz
+ Nf81MzX/NTM1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMjIzDjMyNLgzMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjSBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+PD27Pjw9/z48Pf8+PD3/Pjw9/z48Pf8+PD3/Pj0+WAAA
+ AAAzMjRtMzI0pjMyNKMzMjSjMzI0ozMyNKMzMjSkMzI0kDMyNIUzMjSHMzI0hzMyNIczMjSHMzI0hzMy
+ NIUzMjSXMzI04jMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMy
+ NHoAAAAAMzI01TMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT5MzI0LQAA
+ AAAzMjRpMzI0pjMyNKMzMjSjMzI0ojMyNKszMjTGMzI05DMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMy
+ NP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zQzNPszMjQ8AAAAAAAAAAAzMjRrMzI0/zMy
+ NP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjT/MzI0/zMyNP8zMjSQAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEwMg4yMTO4MjEz/zIxM/8yMTP/MjEz/zIx
+ M/8yMTP/MjEz/zIxM/8yMTP/MjEz/zIxM4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD48
+ Pbs+PD3/Pjw9/z48Pf8+PD3/Pjw9/z48Pf8/PT5ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMTMWMjAzrjIwM/8yMDP/MjAz/zIw
+ M/8yMDP/MjAz/zIwM/8yMDP/MjAz/zIwM/8yMDP/MTAyswAAAAAyMTPVMjEz/zIxM/8yMTP/MjEz/zIx
+ M/8yMTP/MjEz/zIxM/8yMTP/MjEz/zIxM/kyMTMuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzMjQPMjEzTDIxM7QyMTP/MjEz/zIxM/8yMTP/MjEz/zIxM/8yMTP/MjEz/zIxM/8yMTP/MjEz/zIx
+ M/8yMTP/MjEz/zIxM7YxMDIBAAAAADIxM2syMTP/MjEz/zIxM/8yMTP/MjEz/zIxM/8yMTP/MjEz/zIx
+ M/8yMTP/MjEz/zIxM5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAvLjEOMS8yujEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8ygQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDs8uzw7PP88Ozz/PDs8/zw7PP88Ozz/PDs8/zw7
+ PFkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAxLzMHMC4xxzAuMf8wLjH/MC4x/zAuMf8wLjH/MC4x/zAuMf8wLjH/MC4x/zAu
+ Mf8wLjHTMC4xBjEvMtIxLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y+TEv
+ Mi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEwMlwxLzLvMS8y/zEv
+ Mv8xLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y/zEvMv8xLzL/MS8y+zAvMTIAAAAAMC8yazAv
+ Mv8wLzL/MC8y/zAvMv8wLzL/MC8y/zAvMv8wLzL/MC8y/zAvMv8wLzL/MC8ykAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi0vDi8uMLsvLjD/Ly4w/y8uMP8vLjD/Ly4w/y8u
+ MP8vLjD/Ly4w/y8uMP8vLjD/Ly4w/y8uMP8vLjCGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA7Oju7Ozo7/zs6O/87Ojv/Ozo7/zs6O/87Ojv/Ozo7WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLjBSLi0w/i4t
+ MP8uLTD/Li0w/y4tMP8uLTD/Li0w/y4tMP8uLTD/Li0w/y4tMOEuLTATLy4x0C8uMf8vLjH/Ly4x/y8u
+ Mf8vLjH/Ly4x/y8uMf8vLjH/Ly4x/y8uMf8vLjH5Ly4xLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAuMTkvLjHpLy4x/y8uMf8vLjH/Ly4x/y8uMf8vLjH/Ly4x/y8u
+ Mf8vLjH/Ly4x/y8uMf8vLjH/Ly4xjgAAAAAvLjBrLy4w/y8uMP8vLjD/Ly4w/y8uMP8vLjD/Ly4w/y8u
+ MP8vLjD/Ly4w/y8uMP8vLjCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0r
+ Lg8uLS++Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4t
+ L2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs4O7s7ODv/Ozg7/zs4O/87ODv/Ozg7/zs4
+ O/87ODtZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0sLiItLC70LSwu/y0sLv8tLC7/LSwu/y0sLv8tLC7/LSwu/y0s
+ Lv8tLC7/LSwu6S0sLhsuLS/PLi0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4t
+ L/kuLS8uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4t
+ LzsuLS/2Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS/XLSwuAS4t
+ L2guLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL/8uLS//Li0v/y4tL5AAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKi0RLCstvy0rLv8tKy7/LSsu/y0rLv8tKy7/LSsu/y0r
+ Lv8tKy7/LSsu/y0rLv8tKy7/LSsu/ywrLv8tKy59AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAOjg6uzo4Ov86ODr/Ojg6/zo4Ov86ODr/Ojg6/zo4OlkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCotLywq
+ LfksKi3/LCot/ywqLf8sKi3/LCot/ywqLf8sKi3/LCot/ywqLf8sKi3vLCstIC0rLc4tKy3/LSst/y0r
+ Lf8tKy3/LSst/y0rLf8tKy3/LSst/y0rLf8tKy3/LSst+S0rLS4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0sLngtLC7/LSwu/y0sLv8tLC7/LSwu/y0s
+ Lv8tLC7/LSwu/y0sLv8tLC7/LSwu/y0sLvssKi0dLSsuYi0rLv8tKy7/LSsu/y0rLv8tKy7/LSsu/y0r
+ Lv8tKy7/LSsu/y0rLv8tKy7/LSsukAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSksEiop
+ LMArKSz/Kiks/yopLP8qKSz/Kiks/yopLP8qKSz/Kiks/yopLP8qKSz/Kiks/yopLP8qKSz/KyktewAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4Nzi7ODc4/zg3OP84Nzj/ODc4/zg3
+ OP84Nzj/ODc4WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKSyDKiks/yopLP8qKSz/Kiks/yopLP8qKSz/Kiks/yop
+ LP8qKSz/Kiks/yopLOMqKSwVKyks0CspLP8rKSz/Kyks/yspLP8rKSz/Kyks/yspLP8rKSz/Kyks/ysp
+ LP8rKSz5KyksLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAALCotBysqLdYrKi3/Kyot/ysqLf8rKi3/Kyot/ysqLf8rKi3/Kyot/ysqLf8rKi3/Kyot/ysq
+ LVErKSxfKyks/yspLP8rKSz/Kyks/yspLP8rKSz/Kyks/yspLP8rKSz/Kyks/yspLP8rKSyQAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAACkoKxMpKCvAKSgr/ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr/yko
+ K/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADg3OLs4Nzj/ODc4/zg3OP84Nzj/ODc4/zg3OP84NzhZAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCcqQyko
+ K/MpKCv/KSgr/ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr1ykoKwgpKCvRKSgr/yko
+ K/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK/kpKCsuAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiksdiopLP8qKSz/Kiks/yop
+ LP8qKSz/Kiks/yopLP8qKSz/Kiks/yopLP8qKSz/KiksfCkoK1wpKCv/KSgr/ykoK/8pKCv/KSgr/yko
+ K/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJikTKCcqwSgn
+ Kv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv0oJyqOAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzY3uzc2N/83Njf/NzY3/zc2
+ N/83Njf/NzY3/zc2N1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiUpDyYlKQ0mJSkLJiUpCyYl
+ KQsmJSkLJiUpCyYlKQsmJSkIJiUpHScmKXAnJirzKCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygn
+ Kv8oJyr/KCcq/ygnKv8oJyq8AAAAACgnKtUoJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygn
+ Kv8oJyr/KCcq+SgnKi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApKCsyKSgr+ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr/ykoK/8pKCv/KSgr/yko
+ K/8pKCubKCcqXSgnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcqkAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJSQoEyYlKcImJSn/JiUp/yYlKf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYl
+ Kf8mJSn/JiUp/yYlKf8mJSn/JiUpugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAA2NDa7NjQ2/zY0Nv82NDb/NjQ2/zY0Nv82NDb/NjQ2WQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAmJSleJiUp4CYlKdwmJSnbJiUp2yYlKdsmJSnbJiUp2yYlKdkmJSnrJiUp/yYl
+ Kf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYlKX0AAAAAJyYp1Scm
+ Kf8nJin/JyYp/ycmKf8nJin/JyYp/ycmKf8nJin/JyYp/ycmKf8nJin5JyYpLgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmKgwnJirmJyYq/ycm
+ Kv8nJir/JyYq/ycmKv8nJir/JyYq/ycmKv8nJir/JyYq/ycmKqsmJSloJiUp/yYlKf8mJSn/JiUp/yYl
+ Kf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYlKf8mJSmQAAAAAAAAAAAAAAAAAAAAACQjJhMlJCfEJSQn/yUk
+ J/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUkJ/8kIyf/JCMn/yQjJv8jIibzIyIlcgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY0Nrs2NDb/NjQ2/zY0
+ Nv82NDb/NjQ2/zY0Nv82NDZZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUkKQQlJCeIIyIl/yMi
+ Jf8jIib/JCMm/yQjJv8kIyb/JCMn/yUkJ/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUk
+ J/8lJCf/JSQn/yUkJ/8lJCf8JSQnNwAAAAAlJCjVJSQo/yUkKP8lJCj/JSQo/yUkKP8lJCj/JSQo/yUk
+ KP8lJCj/JSQo/yUkKPklJCguAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJiUpBSYlKdImJSn/JiUp/yYlKf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYl
+ Kf8mJSn/JiUpqyUkKGglJCj/JSQo/yUkKP8lJCj/JSQo/yUkKP8lJCj/JSQo/yUkKP8lJCj/JSQo/yUk
+ KJAAAAAAAAAAAAAAAAAiISUVIyIlxyQjJv8kIyb/JCMm/yQjJf8jIiX/IyIl/yMiJf8jIiX/IiEk/yIh
+ JP8iIST/IyIl/yQjJv8lJCf/KSgr/y0sLv8xMDL/PTw9cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAANDM1uzQzNf80MzX/NDM1/zQzNf80MzX/NDM1/zQzNVkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLC5/MC8x/ysqLf8oJyr/JSQn/yQjJv8jIiX/ISAk/yEg
+ JP8iIST/IiEk/yIhJf8jIiX/IyIl/yMiJf8jIiX/IyIl/yMiJv8jIib/IyIm/yMiJcgkIyYEAAAAACQj
+ J9UkIyf/JCMn/yQjJ/8kIyf/JCMn/yQjJ/8kIyf/JCMn/yQjJ/8kIyf/JCMn+SQjJy4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlJCcFJSQn0iUk
+ J/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUkJ/8lJCf/JSQn/yUkJ/8lJCerJCMmaCQjJv8kIyb/JCMm/yQj
+ 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
+ AAAAAAAAAAAAAAAAAABBQEACQUBAWkFAQOBBQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBAt0FAQAEAAAAAQUBAb0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBAjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEFAQJVBQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQEC9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKi27Kyot/ysqLf8rKi3/Kyot/ysq
+ Lf8rKi3/KygtWQAAAAAAAAAAQUBAPEFAQHhBQEBvQUBAb0FAQG9BQEBvQUBAb0FAQG9BQEBvQUBAb0FA
+ QG9BQEBvQUBAb0FAQG9BQEBvQUBAb0FAQGJBQEC+QUBA/0FAQP9BQED/QUBA/0FAQP9BQEB3AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQUBAtEFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED5QUBALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFAQBJBQEAzQUBAcEFAQMlBQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQPtBQEA5AAAAAAAA
+ AABBQEBPQUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQECYQUBAD0FA
+ QBNBQEATQUBAE0FAQBNBQEATQUBAE0FAQBNBQEARQUBAHkFAQElBQECyQUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQLkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAACopLLsqKSz/Kiks/yopLP8qKSz/Kiks/yopLP8pKCxZAAAAAAAAAABCQUAlQUBA1EFA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEBrAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAVQUBAwUFA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP5BQEDeQUBA10FAQNdBQEDXQUBA10FA
+ QNdBQEDYQUBA5UFAQPpBQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBAkgAAAAAAAAAAAAAAAAAAAABBQEBvQUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQPRBQEDjQUBA5UFAQOVBQEDlQUBA5UFAQOVBQEDlQUBA5UFA
+ QORBQEDtQUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBAnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSgruykoK/8pKCv/KSgr/yko
+ K/8pKCv/KSgr/ykoK1kAAAAAAAAAAAAAAABBQEAWQUBAxUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQEBtAAAAAAAAAAAAAAAAAAAAAAAAAABBQEATQUBAwUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQNRBQEAPAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEBzQUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEBxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAoJyq7KCcq/ygnKv8oJyr/KCcq/ygnKv8oJyr/KCcqWQAAAAAAAAAAAAAAAAAA
+ AABBQEAUQUBAxEFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEBvAAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQEASQUBAwEFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQEDvQUBAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQECDQUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/EFAQDcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgnKrsoJyr/KCcq/ygn
+ Kv8oJyr/KCcq/ygnKv8oJypZAAAAAAAAAAAAAAAAAAAAAAAAAABBQEATQUBAxEFAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQEBwAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAQQUBAv0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA+UFAQEkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQECBQUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEDTQUBABgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJiUpuyYlKf8mJSn/JiUp/yYlKf8mJSn/JiUp/yYlKVkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEARQUBAwUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEBxAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEAOQUBAvUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQPRBQEBbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQECAQUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQHUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlJCi7JSQo/yUk
+ KP8lJCj/JSQo/yUkKP8lJCj/JSQoWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEASQUBAv0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEByAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAOQUBAxUFA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEDqQUBARgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEB/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEDZQUBADwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAACUkKLslJCj/JSQo/yUkKP8lJCj/JSQo/yUkKP8lJChZAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEASQUBAwkFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQEB0AAAAAAAAAAAAAAAAAAAAAAAAAABBQEAcQUBAzUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBAykFAQC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEB+QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA+kFAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCMmuyQj
+ Jv8kIyb/JCMm/yQjJv8kIyb/JCMm/yQjJlkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQEAbQUBA0UFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEB1AAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQEAbQUBAzUFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/EFAQIlBQEAMAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEB8QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQPpBQEBfAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIiW7IyIl/yMiJf8jIiX/IyIl/yMiJf8jIiX/IyIlWQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAcQUBA0UFAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQEB4AAAAAAAAAAAAAAAAAAAAAAAAAABBQEAZQUBAzEFAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QLNBQEA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEB6QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQEDbQUBASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIh
+ JMQiIST/IiEk/yIhJP8iIST/IiEk/yIhJP8iISReAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEAaQUBAzkFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQECBQUBABAAA
+ AAAAAAAAAAAAAAAAAABBQEAXQUBAykFAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA7UFAQKRBQEA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQEB5QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQEDvQUBAkkFAQBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISAkbiEgJOAhICT/ISAk/yEgJP8hICT/ISAk2yEg
+ JCkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAaQUBAuUFA
+ QNZBQEDVQUBA1UFAQNVBQEDVQUBA1UFAQNVBQEDVQUBA1UFAQNVBQEDVQUBA1UFAQNVBQEDVQUBA1UFA
+ QNVBQEDVQUBA1UFAQNVBQEDVQUBA1kFAQNhBQEBHAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAXQUBAyEFA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQPNBQEDVQUBAqEFAQGFBQEAgAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEB3QUBA/0FAQP9BQED/QUBA/0FA
+ QP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQP9BQED/QUBA/0FAQOpBQEDDQUBAeEFA
+ QCMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAISAkFiAfI3cgHyO6IB8jvSAfI4EhICQXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUBACEFAQAdBQEAHQUBAB0FAQAdBQEAHQUBAB0FA
+ QAdBQEAHQUBAB0FAQAdBQEAHQUBAB0FAQAdBQEAHQUBAB0FAQAdBQEAHQUBAB0FAQAdBQEAHQUBACUFA
+ QAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQEAYQUBAckFAQHdBQEB2QUBAdkFAQHZBQEB4QUBAZkFA
+ QFNBQEA7QUBAJUFAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABBQEBXQUBAeUFAQHZBQEB2QUBAdkFAQHZBQEB2QUBAdkFAQHZBQEB2QUBAdkFA
+ QHZBQEB4QUBAb0FAQFJBQEA4QUBAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jHyAfI1IgHyNVIB8jJQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABBQEAcQUBAH0FAQB9BQEAfQUBAH0FAQCBBQEAUQUBACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFAQA9BQEAgQUBAH0FA
+ QB9BQEAfQUBAH0FAQB9BQEAfQUBAH0FAQB9BQEAfQUBAH0FAQCBBQEAaQUBABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////z8H+APj4f/4fwfPif58H/4/A/gAY4B/4BwBjwH8cAf+PiPwACM
+ AP8AYAI8B/GAD/jwwAT4iPh+PiPiOAfxD4/48cAM/Aj8fj4H8DgH8R+P+OPgDPwB/H4/x/AwB/EcD/gD
+ 44z8Afx8f8fwIgAQPA/4AOMc/AH8fH/H8CIAED4P+HjzHPwB/H4/x/AGA/Ef//j8cTz8CPx+P8fwBgfx
+ H//4/HA8+Ij4fj4j4g4H8Q+P+AD4PACIIP8IIIIeABGCH/gA+HwBjAH/gHAGHgABwB/4A/x8B48H/8H8
+ Hj8gAeB/////////////////////////////////////////////////////////////////////////
+ //////////////gMAAA/+ABgAf/+AB///+f4DAAAD/gAYAA//gAf///H+AwAAAP4AGAAD/4AH///h/gM
+ AAAB+ABgAAf+AB///wf//AAAAPgAYAAD/gAf//4H//wAAAB4AGAAAf4AH//8B/gMAAAAOABgAAD+AB//
+ +Af4DAAAADgAYAAAfgAf//AH+AwAAAAYAGAAAD4AH//gB/gMAAAAGABgAAAeAB//wAf4DgAAABgAcAAA
+ HgAf/4AH+A///gAIAH/wAA4AH/8AB/gP//8ACAB//AAOAB/+AAf4D///gAgAf/4ABgAf/AAP+A///4AI
+ AH//AAYAH/gAH/gP//+ACAB//4AGAB/wAD/4D///AAgAf/+ABgAf4AA/+A///wAIAH//wAYAH8AAf/gP
+ //4ACAB//8ACAB+AAP/4D/gAABgAf//AAgAfAAD/+A/4AAAYAH//wAIAHgAAf/gP/gAAGAB//8ACABwA
+ AD/4D/8AADgAf//AAgAcAAAf+A//gAA4AH//wAIAH/wAH/gP/8AAeAB//8ACAB/+AA/4D//gAPgAf/+A
+ BgAf/wAP+A//8AH4AH//gAYAH/8AD/gP//gD+AB//wAGAB//AAf4D//8B/gAf/4ABgAf/wAH+A///g/4
+ AH/8AA4AH/8AB/gP//8D+AB/+AAOAB/+AAf4D///A/gAf+AAHgAf/AAH+A8AAAH8AAAAAB8AAAAAB/gP
+ gAAA/gAAAAA/gAAAAA/4D8AAAH8AAAAAf4AAAAAP+A/gAAA/gAAAAP/AAAAAD/gP8AAAH8AAAAH/4AAA
+ AB/4D/gAAA/gAAAD//gAAAAf+A/8AAAH8AAAB//8AAAAP/gP/gAAA/gAAA///gAAAH/4D/8AAAH8AAA/
+ //8AAAD/+A//gAAAfgAA////gAAB//wP/8AAAH8AB////8AAD///H///////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
+ NoControl
+
+
+ 3DRRadio Config
+
+
+ Config
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/MainV2.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/MainV2.cs
new file mode 100644
index 0000000000..22232ee1cd
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/MainV2.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ArdupilotMega
+{
+ class MainV2
+ {
+ public static portproxy comPort = new portproxy();
+ }
+
+ class portproxy
+ {
+ public ArdupilotMega.Comms.SerialPort BaseStream = new ArdupilotMega.Comms.SerialPort();
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Program.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Program.cs
new file mode 100644
index 0000000000..e4f207fc14
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Program.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using log4net.Config;
+
+namespace _3DRRadio
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ XmlConfigurator.Configure();
+
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Config());
+ }
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..ae9d3a3560
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("3DRRadio")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("3DRRadio")]
+[assembly: AssemblyCopyright("Copyright © 2012")]
+[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("5f5b5ed0-0b27-4a90-8c24-248309f363f8")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.1.*")]
+[assembly: AssemblyFileVersion("0.1.0.0")]
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.Designer.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.Designer.cs
new file mode 100644
index 0000000000..f107d01f7a
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.Designer.cs
@@ -0,0 +1,84 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.261
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace _3DRRadio.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", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// 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("_3DRRadio.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;
+ }
+ }
+
+ internal static System.Drawing.Bitmap _3dr {
+ get {
+ object obj = ResourceManager.GetObject("3dr", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap _3dr2 {
+ get {
+ object obj = ResourceManager.GetObject("3dr2", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap _3dr3 {
+ get {
+ object obj = ResourceManager.GetObject("3dr3", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.resx b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.resx
new file mode 100644
index 0000000000..40514226ac
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Resources.resx
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ ..\Resources\3dr2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\3dr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+
+ ..\Resources\3dr3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.Designer.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.Designer.cs
new file mode 100644
index 0000000000..11d738043b
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.261
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace _3DRRadio.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.settings b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.settings
new file mode 100644
index 0000000000..39645652af
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/Resources/3dr.ico b/Tools/ArdupilotMegaPlanner/3DRRadio/Resources/3dr.ico
new file mode 100644
index 0000000000..9837bfa416
Binary files /dev/null and b/Tools/ArdupilotMegaPlanner/3DRRadio/Resources/3dr.ico differ
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/ThemeManager.cs b/Tools/ArdupilotMegaPlanner/3DRRadio/ThemeManager.cs
new file mode 100644
index 0000000000..4468a3f3d1
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/ThemeManager.cs
@@ -0,0 +1,235 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+using ArdupilotMega.Controls.BackstageView;
+using log4net;
+using ArdupilotMega.Controls;
+
+namespace ArdupilotMega.Utilities
+{
+ ///
+ /// Helper class for the stylng 'theming' of forms and controls, and provides MessageBox
+ /// replacements which are also styled
+ ///
+ public class ThemeManager
+ {
+ private static readonly ILog log =
+ LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+
+ private static Themes _currentTheme = Themes.BurntKermit;
+
+ public enum Themes
+ {
+ ///
+ /// no theme - standard Winforms appearance
+ ///
+ None,
+
+ ///
+ /// Standard Planner Charcoal & Green colours
+ ///
+ BurntKermit,
+ }
+
+ ///
+ /// Change the current theme. Existing controls are not affected
+ ///
+ ///
+ public static void SetTheme(Themes theme)
+ {
+ log.Debug("Theme set to " + Enum.GetName(typeof(Themes), theme));
+ _currentTheme = theme;
+ }
+
+ ///
+ /// Will recursively apply the current theme to 'control'
+ ///
+ ///
+ public static void ApplyThemeTo(Control control)
+ {
+ switch (_currentTheme)
+ {
+ case Themes.BurntKermit: ApplyBurntKermitTheme(control, 0);
+ break;
+
+ case Themes.None: ApplyNone(control, 0);
+ break;
+
+ // More themes go here
+
+
+ default:
+ break;
+ }
+
+
+ }
+
+ private static void ApplyNone(Control temp, int level)
+ {
+ foreach (Control ctl in temp.Controls)
+ {
+ if (ctl.GetType() == typeof(MyButton))
+ {
+ ArdupilotMega.Controls.MyButton but = (MyButton)ctl;
+ but.BGGradTop = Color.FromArgb(242,242,242);
+ but.BGGradBot = Color.FromArgb(207,207,207);
+ but.ForeColor = Color.Black;
+ but.TextColor = Color.Black;
+ but.Outline = Color.FromArgb(112,112,112);
+ }
+
+ if (ctl.Controls.Count > 0)
+ ApplyNone(ctl, 1);
+ }
+ }
+
+ private static void ApplyBurntKermitTheme(Control temp, int level)
+ {
+ Color BGColor = Color.FromArgb(0x26, 0x27, 0x28); // background
+ Color ControlBGColor = Color.FromArgb(0x43, 0x44, 0x45); // editable bg color
+ Color TextColor = Color.White;
+
+ if (level == 0)
+ {
+ temp.BackColor = BGColor;
+ temp.ForeColor = TextColor;// Color.FromArgb(0xe6, 0xe8, 0xea);
+ }
+
+ //temp.Font = new Font("Lucida Console", 8.25f);
+
+ foreach (Control ctl in temp.Controls)
+ {
+ if (ctl.GetType() == typeof(Button))
+ {
+ ctl.ForeColor = Color.Black;
+ }
+ else if (ctl.GetType() == typeof(MyButton))
+ {
+ Color PrimeColor = Color.FromArgb(0x94, 0xc1, 0x1f);
+
+ ArdupilotMega.Controls.MyButton but = (MyButton)ctl;
+ //but.BGGradTop = Color.FromArgb(PrimeColor.R, PrimeColor.G, PrimeColor.B);
+ //but.BGGradBot = Color.FromArgb(255 - (int)(PrimeColor.R * 0.27), 255 - (int)(PrimeColor.G * 0.14), 255 - (int)(PrimeColor.B * 0.79));
+ //but.ForeColor = Color.FromArgb(0x40, 0x57, 0x04); //Color.FromArgb(255 - (int)(PrimeColor.R * 0.7), 255 - (int)(PrimeColor.G * 0.8), 255 - (int)(PrimeColor.B * 0.1));
+ //but.Outline = ControlBGColor;
+ }
+ else if (ctl.GetType() == typeof(TextBox))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;// Color.FromArgb(0xe6, 0xe8, 0xea);
+ TextBox txt = (TextBox)ctl;
+ txt.BorderStyle = BorderStyle.None;
+ }
+ else if (ctl.GetType() == typeof(DomainUpDown))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;// Color.FromArgb(0xe6, 0xe8, 0xea);
+ DomainUpDown txt = (DomainUpDown)ctl;
+ txt.BorderStyle = BorderStyle.None;
+ }
+ else if (ctl.GetType() == typeof(GroupBox))
+ {
+ ctl.BackColor = BGColor;
+ ctl.ForeColor = TextColor;// Color.FromArgb(0xe6, 0xe8, 0xea);
+ }
+
+ else if (ctl.GetType() == typeof(Form))
+ {
+ ctl.BackColor = BGColor;
+ ctl.ForeColor = TextColor;// Color.FromArgb(0xe6, 0xe8, 0xea);
+ }
+ else if (ctl.GetType() == typeof(RichTextBox))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;
+ RichTextBox txtr = (RichTextBox)ctl;
+ txtr.BorderStyle = BorderStyle.None;
+ }
+ else if (ctl.GetType() == typeof(CheckedListBox))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;
+ CheckedListBox txtr = (CheckedListBox)ctl;
+ txtr.BorderStyle = BorderStyle.None;
+ }
+ else if (ctl.GetType() == typeof(TabPage))
+ {
+ ctl.BackColor = BGColor; //ControlBGColor
+ ctl.ForeColor = TextColor;
+ TabPage txtr = (TabPage)ctl;
+ txtr.BorderStyle = BorderStyle.None;
+ }
+ else if (ctl.GetType() == typeof(TabControl))
+ {
+ ctl.BackColor = BGColor; //ControlBGColor
+ ctl.ForeColor = TextColor;
+ TabControl txtr = (TabControl)ctl;
+
+ }
+ else if (ctl.GetType() == typeof(DataGridView))
+ {
+ ctl.ForeColor = TextColor;
+ DataGridView dgv = (DataGridView)ctl;
+ dgv.EnableHeadersVisualStyles = false;
+ dgv.BorderStyle = BorderStyle.None;
+ dgv.BackgroundColor = BGColor;
+ DataGridViewCellStyle rs = new DataGridViewCellStyle();
+ rs.BackColor = ControlBGColor;
+ rs.ForeColor = TextColor;
+ dgv.RowsDefaultCellStyle = rs;
+
+ DataGridViewCellStyle hs = new DataGridViewCellStyle(dgv.ColumnHeadersDefaultCellStyle);
+ hs.BackColor = BGColor;
+ hs.ForeColor = TextColor;
+
+ dgv.ColumnHeadersDefaultCellStyle = hs;
+ dgv.RowHeadersDefaultCellStyle = hs;
+ }
+ else if (ctl.GetType() == typeof(ComboBox))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;
+ ComboBox CMB = (ComboBox)ctl;
+ CMB.FlatStyle = FlatStyle.Flat;
+ }
+ else if (ctl.GetType() == typeof(NumericUpDown))
+ {
+ ctl.BackColor = ControlBGColor;
+ ctl.ForeColor = TextColor;
+ }
+ else if (ctl.GetType() == typeof(TrackBar))
+ {
+ ctl.BackColor = BGColor;
+ ctl.ForeColor = TextColor;
+ }
+ else if (ctl.GetType() == typeof(LinkLabel))
+ {
+ ctl.BackColor = BGColor;
+ ctl.ForeColor = TextColor;
+ LinkLabel LNK = (LinkLabel)ctl;
+ LNK.ActiveLinkColor = TextColor;
+ LNK.LinkColor = TextColor;
+ LNK.VisitedLinkColor = TextColor;
+
+ }
+ else if (ctl.GetType() == typeof(BackstageView))
+ {
+ var bsv = ctl as BackstageView;
+
+ bsv.BackColor = BGColor;
+ bsv.ButtonsAreaBgColor = ControlBGColor;
+ bsv.HighlightColor2 = Color.FromArgb(0x94, 0xc1, 0x1f);
+ bsv.HighlightColor1 = Color.FromArgb(0x40, 0x57, 0x04);
+ bsv.SelectedTextColor = Color.White;
+ bsv.UnSelectedTextColor = Color.Gray;
+ bsv.ButtonsAreaPencilColor = Color.DarkGray;
+ }
+
+ if (ctl.Controls.Count > 0)
+ ApplyBurntKermitTheme(ctl, 1);
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/3DRRadio/app.config b/Tools/ArdupilotMegaPlanner/3DRRadio/app.config
new file mode 100644
index 0000000000..8e65526664
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/3DRRadio/app.config
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
index 660aa3d655..d8d3db4b91 100644
--- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
+++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
@@ -45,7 +45,7 @@
TRACE;DEBUG;MAVLINK10cra
prompt
4
- true
+ false
false
@@ -61,7 +61,7 @@
TRACE;DEBUG;MAVLINK10cra
prompt
4
- true
+ false
false
diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.sln b/Tools/ArdupilotMegaPlanner/ArdupilotMega.sln
index 6fe51a332b..256d4bb24b 100644
--- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.sln
+++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.sln
@@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Updater", "Updater\Updater.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wix", "wix\wix.csproj", "{76374F95-C343-4ACC-B86F-7ECFDD668F46}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "3DRRadio", "3DRRadio\3DRRadio.csproj", "{B8943726-04B0-4477-BFDA-E156A0CD98A4}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -55,6 +57,18 @@ Global
{76374F95-C343-4ACC-B86F-7ECFDD668F46}.Release|Win32.ActiveCfg = Release|x86
{76374F95-C343-4ACC-B86F-7ECFDD668F46}.Release|x86.ActiveCfg = Release|x86
{76374F95-C343-4ACC-B86F-7ECFDD668F46}.Release|x86.Build.0 = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|Win32.ActiveCfg = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|x86.ActiveCfg = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Debug|x86.Build.0 = Debug|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|Any CPU.ActiveCfg = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|Mixed Platforms.Build.0 = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|Win32.ActiveCfg = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|x86.ActiveCfg = Release|x86
+ {B8943726-04B0-4477-BFDA-E156A0CD98A4}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Tools/ArdupilotMegaPlanner/Common.cs b/Tools/ArdupilotMegaPlanner/Common.cs
index 57fd516b87..ffb89d72b0 100644
--- a/Tools/ArdupilotMegaPlanner/Common.cs
+++ b/Tools/ArdupilotMegaPlanner/Common.cs
@@ -524,7 +524,7 @@ namespace ArdupilotMega
case (int)Common.apmmodes.FLY_BY_WIRE_A:
case (int)Common.apmmodes.FLY_BY_WIRE_B:
mode.base_mode = (byte)MAVLink.MAV_MODE_FLAG.CUSTOM_MODE_ENABLED;
- mode.custom_mode = (uint)(int)Enum.Parse(Common.getModes(), modein);
+ mode.custom_mode = (uint)EnumTranslator.GetValue(modein);
break;
default:
MessageBox.Show("No Mode Changed " + modein);
@@ -544,7 +544,7 @@ namespace ArdupilotMega
case (int)Common.ac2modes.CIRCLE:
case (int)Common.ac2modes.POSITION:
mode.base_mode = (byte)MAVLink.MAV_MODE_FLAG.CUSTOM_MODE_ENABLED;
- mode.custom_mode = (uint)(int)Enum.Parse(Common.getModes(), modein);
+ mode.custom_mode = (uint)EnumTranslator.GetValue(modein);
break;
default:
MessageBox.Show("No Mode Changed " + modein);
diff --git a/Tools/ArdupilotMegaPlanner/Comms/CommsSerialPort.cs b/Tools/ArdupilotMegaPlanner/Comms/CommsSerialPort.cs
index ac07fc4a32..5685593422 100644
--- a/Tools/ArdupilotMegaPlanner/Comms/CommsSerialPort.cs
+++ b/Tools/ArdupilotMegaPlanner/Comms/CommsSerialPort.cs
@@ -7,7 +7,7 @@ using System.Linq;
namespace ArdupilotMega.Comms
{
- class SerialPort : System.IO.Ports.SerialPort,ICommsSerial
+ public class SerialPort : System.IO.Ports.SerialPort,ICommsSerial
{
public new void Open()
{
diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewContentPanel.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewContentPanel.cs
index d936dcec12..c74b8a3dd9 100644
--- a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewContentPanel.cs
+++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewContentPanel.cs
@@ -15,9 +15,15 @@ namespace ArdupilotMega.Controls.BackstageView
FormClosing(this, new FormClosingEventArgs(CloseReason.UserClosing, false));
}
- public new void OnLoad(EventArgs e)
+ public void DoLoad(EventArgs e)
{
base.OnLoad(e);
}
+
+ public new void OnLoad(EventArgs e)
+ {
+ // this is now done on page load via parent control
+ // base.OnLoad(e);
+ }
}
}
diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs
index bb9c99ac2d..effe9d5f59 100644
--- a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs
+++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs
@@ -165,9 +165,11 @@ namespace ArdupilotMega.Controls.BackstageView
this.pnlPages.Controls.Add(page.Page);
if (_activePage == null)
+ {
_activePage = page;
- ActivatePage(page);
+ ActivatePage(page);
+ }
}
private void CreateLinkButton(BackstageViewPage page)
@@ -202,6 +204,12 @@ namespace ArdupilotMega.Controls.BackstageView
public void ActivatePage(BackstageViewPage associatedPage)
{
// deactivate the old page
+ _activePage.Page.Close();
+ Pages.ForEach(x =>
+ {
+ x.Page.Visible = false;
+ });
+
_activePage.Page.Visible = false;
var oldButton = this.pnlMenu.Controls.OfType().Single(b => b.Tag == _activePage);
oldButton.IsSelected = false;
@@ -212,7 +220,7 @@ namespace ArdupilotMega.Controls.BackstageView
_activePage = associatedPage;
- _activePage.Page.OnLoad(new EventArgs());
+ _activePage.Page.DoLoad(new EventArgs());
}
public void Close()
diff --git a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs
index 539183f9bb..10bdba60bb 100644
--- a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs
+++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs
@@ -35,6 +35,8 @@ namespace ArdupilotMega.Controls
// process hashdefines and update display
foreach (string value in MainV2.comPort.param.Keys)
{
+ if (value == null) // older ap vesion have a null param
+ continue;
Control[] text = this.Controls.Find(value, true);
foreach (Control ctl in text)
{
diff --git a/Tools/ArdupilotMegaPlanner/CurrentState.cs b/Tools/ArdupilotMegaPlanner/CurrentState.cs
index 95c47e3881..b15dccf96b 100644
--- a/Tools/ArdupilotMegaPlanner/CurrentState.cs
+++ b/Tools/ArdupilotMegaPlanner/CurrentState.cs
@@ -312,7 +312,7 @@ namespace ArdupilotMega
{
mode = "";
messages = new List();
- rateattitude = 3;
+ rateattitude = 10;
rateposition = 3;
ratestatus = 3;
ratesensors = 3;
@@ -373,7 +373,7 @@ namespace ArdupilotMega
byte[] bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED];
- if (bytearray != null) // hil
+ if (bytearray != null) // hil mavlink 0.9
{
var hil = bytearray.ByteArrayToStructure(6);
@@ -389,6 +389,20 @@ namespace ArdupilotMega
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED] = null;
}
+ bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_HIL_CONTROLS];
+
+ if (bytearray != null) // hil mavlink 0.9 and 1.0
+ {
+ var hil = bytearray.ByteArrayToStructure(6);
+
+ hilch1 = (int)(hil.roll_ailerons * 10000);
+ hilch2 = (int)(hil.pitch_elevator * 10000);
+ hilch3 = (int)(hil.throttle * 10000);
+ hilch4 = (int)(hil.yaw_rudder * 10000);
+
+ //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED] = null;
+ }
+
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT];
if (bytearray != null)
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigAccelerometerCalibrationPlane.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigAccelerometerCalibrationPlane.cs
index 5c08a8ab7e..106cef0171 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigAccelerometerCalibrationPlane.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigAccelerometerCalibrationPlane.cs
@@ -68,7 +68,7 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
{
#if MAVLINK10
int fixme; // needs to be accel only
- MainV2.comPort.doCommand(MAVLink.MAV_CMD.PREFLIGHT_CALIBRATION,1,1,1,1,1,1,1);
+ MainV2.comPort.doCommand(MAVLink.MAV_CMD.PREFLIGHT_CALIBRATION,1,1,1,0,0,0,0);
#else
MainV2.comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_CALIBRATE_ACC);
#endif
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFriendlyParams.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFriendlyParams.cs
index d44d880a70..1b1529a146 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFriendlyParams.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFriendlyParams.cs
@@ -149,64 +149,6 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
#region Methods
- ///
- /// Loads the param file.
- ///
- /// The filename.
- ///
- private Hashtable loadParamFile(string Filename)
- {
- Hashtable param = new Hashtable();
-
- StreamReader sr = new StreamReader(Filename);
- while (!sr.EndOfStream)
- {
- string line = sr.ReadLine();
-
- if (line.Contains("NOTE:"))
- CustomMessageBox.Show(line, "Saved Note");
-
- if (line.StartsWith("#"))
- continue;
-
- string[] items = line.Split(new char[] { ' ', ',', '\t' }, StringSplitOptions.RemoveEmptyEntries);
-
- if (items.Length != 2)
- continue;
-
- string name = items[0];
- float value = float.Parse(items[1], new System.Globalization.CultureInfo("en-US"));
-
- MAVLink.modifyParamForDisplay(true, name, ref value);
-
- if (name == "SYSID_SW_MREV")
- continue;
- if (name == "WP_TOTAL")
- continue;
- if (name == "CMD_TOTAL")
- continue;
- if (name == "FENCE_TOTAL")
- continue;
- if (name == "SYS_NUM_RESETS")
- continue;
- if (name == "ARSPD_OFFSET")
- continue;
- if (name == "GND_ABS_PRESS")
- continue;
- if (name == "GND_TEMP")
- continue;
- if (name == "CMD_INDEX")
- continue;
- if (name == "LOG_LASTFILE")
- continue;
-
- param[name] = value;
- }
- sr.Close();
-
- return param;
- }
-
///
/// Sorts the param list.
///
@@ -241,6 +183,11 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
{
tableLayoutPanel1.Controls.Clear();
if (_params == null || _params.Count == 0) SortParamList();
+
+ // get the params if nothing exists already
+ if (_params != null && _params.Count == 0)
+ Utilities.ParameterMetaDataParser.GetParameterInformation();
+
_params.ForEach(x =>
{
if(!String.IsNullOrEmpty(x.Key))
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs
index 36e947d99f..c03769ddef 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs
@@ -1180,7 +1180,7 @@ namespace ArdupilotMega.GCSViews
{
((Button)sender).Enabled = false;
#if MAVLINK10
- MainV2.comPort.setMode("AUTO");
+ MainV2.comPort.setMode("Auto");
#else
comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_SET_AUTO);
#endif
@@ -1210,7 +1210,7 @@ namespace ArdupilotMega.GCSViews
{
((Button)sender).Enabled = false;
#if MAVLINK10
- MainV2.comPort.setMode("MANUAL");
+ MainV2.comPort.setMode("Manual");
#else
comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_SET_MANUAL);
#endif
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
index 307090fb1b..07871632a6 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
@@ -1210,11 +1210,22 @@ namespace ArdupilotMega.GCSViews
TimeSpan gpsspan = DateTime.Now - lastgpsupdate;
+ // add gps delay
if (gpsspan.TotalMilliseconds >= GPS_rate)
{
lastgpsupdate = DateTime.Now;
- oldgps = gps;
- //comPort.sendPacket(gps);
+
+ // save current fix = 3
+ gpsbuffer[gpsbufferindex % gpsbuffer.Length] = gps;
+
+ // Console.WriteLine((gpsbufferindex % gpsbuffer.Length) + " " + ((gpsbufferindex + (gpsbuffer.Length - 1)) % gpsbuffer.Length));
+
+ // return buffer index + 5 = (3 + 5) = 8 % 6 = 2
+ oldgps = gpsbuffer[(gpsbufferindex + (gpsbuffer.Length - 1)) % gpsbuffer.Length];
+
+ //comPort.sendPacket(oldgps);
+
+ gpsbufferindex++;
}
@@ -1226,8 +1237,8 @@ namespace ArdupilotMega.GCSViews
hilstate.roll = att.roll;
hilstate.rollspeed = att.rollspeed;
hilstate.time_usec = gps.time_usec;
- hilstate.vx = (short)(gps.vel * Math.Sin(oldgps.cog / 100.0 * deg2rad));
- hilstate.vy = (short)(gps.vel * Math.Cos(oldgps.cog / 100.0 * deg2rad));
+ hilstate.vx = (short)(gps.vel * Math.Sin(gps.cog / 100.0 * deg2rad));
+ hilstate.vy = (short)(gps.vel * Math.Cos(gps.cog / 100.0 * deg2rad));
hilstate.vz = 0;
hilstate.xacc = imu.xacc;
hilstate.yacc = imu.yacc;
@@ -1237,6 +1248,8 @@ namespace ArdupilotMega.GCSViews
comPort.sendPacket(hilstate);
+// comPort.sendPacket(oldgps);
+
comPort.sendPacket(asp);
#else
@@ -1266,6 +1279,7 @@ namespace ArdupilotMega.GCSViews
TimeSpan gpsspan = DateTime.Now - lastgpsupdate;
+ // add gps delay
if (gpsspan.TotalMilliseconds >= GPS_rate)
{
lastgpsupdate = DateTime.Now;
diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs
index c7eff29d43..f87006bf3f 100644
--- a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs
+++ b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs
@@ -34,5 +34,5 @@ using System.Resources;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.*")]
-[assembly: AssemblyFileVersion("1.1.80")]
+[assembly: AssemblyFileVersion("1.1.81")]
[assembly: NeutralResourcesLanguageAttribute("")]
diff --git a/Tools/ArdupilotMegaPlanner/Radio/3DRradio.cs b/Tools/ArdupilotMegaPlanner/Radio/3DRradio.cs
index 48a557bae2..3d55bb84b7 100644
--- a/Tools/ArdupilotMegaPlanner/Radio/3DRradio.cs
+++ b/Tools/ArdupilotMegaPlanner/Radio/3DRradio.cs
@@ -11,6 +11,8 @@ using System.IO;
using ArdupilotMega.Controls.BackstageView;
using ArdupilotMega.Arduino;
using ArdupilotMega.Comms;
+using log4net;
+using System.Reflection;
namespace ArdupilotMega
{
@@ -22,6 +24,8 @@ namespace ArdupilotMega
string firmwarefile = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "radio.hm_trp.hex";
+ private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
public _3DRradio()
{
InitializeComponent();
@@ -34,7 +38,7 @@ namespace ArdupilotMega
{
// was https://raw.github.com/tridge/SiK/master/Firmware/dst/radio.hm_trp.hex
// now http://www.samba.org/tridge/UAV/3DR/radio.hm_trp.hex
-
+
return Common.getFilefromNet("http://www.samba.org/tridge/UAV/3DR/radio.hm_trp.hex", firmwarefile);
}
@@ -118,7 +122,7 @@ namespace ArdupilotMega
{
comPort.Write("AT&UPDATE\r\n");
string left = comPort.ReadExisting();
- Console.WriteLine(left);
+ log.Info(left);
Sleep(700);
comPort.BaudRate = 115200;
}
@@ -165,6 +169,7 @@ namespace ArdupilotMega
{
Console.Write(message);
lbl_status.Text = message;
+ log.Info(message);
Application.DoEvents();
}
}
@@ -179,6 +184,7 @@ namespace ArdupilotMega
{
lbl_status.Text = message;
Console.WriteLine(message);
+ log.Info(message);
Application.DoEvents();
}
}
@@ -477,7 +483,7 @@ namespace ArdupilotMega
}
else
{
- Console.WriteLine("Odd config line :" + item);
+ log.Info("Odd config line :" + item);
}
}
}
@@ -534,7 +540,7 @@ namespace ArdupilotMega
// ignore all existing data
comPort.DiscardInBuffer();
lbl_status.Text = "Doing Command " + cmd;
- Console.WriteLine("Doing Command " + cmd);
+ log.Info("Doing Command " + cmd);
// write command
comPort.Write(cmd + "\r\n");
// read echoed line or existing data
@@ -544,7 +550,7 @@ namespace ArdupilotMega
temp = Serial_ReadLine(comPort);
}
catch { temp = comPort.ReadExisting(); }
- Console.WriteLine("cmd " + cmd + " echo " + temp);
+ log.Info("cmd " + cmd + " echo " + temp);
// delay for command
Sleep(500);
// get responce
@@ -564,7 +570,7 @@ namespace ArdupilotMega
}
}
- Console.WriteLine("responce " + level + " " + ans.Replace('\0', ' '));
+ log.Info("responce " + level + " " + ans.Replace('\0', ' '));
// try again
if (ans == "" && level == 0)
@@ -586,9 +592,9 @@ namespace ArdupilotMega
// wait
Sleep(1100);
// check for config responce "OK"
- Console.WriteLine("Connect btr " + comPort.BytesToRead + " baud " + comPort.BaudRate);
+ log.Info("Connect btr " + comPort.BytesToRead + " baud " + comPort.BaudRate);
string conn = comPort.ReadExisting();
- Console.WriteLine("Connect first responce " + conn.Replace('\0', ' ') + " " + conn.Length);
+ log.Info("Connect first responce " + conn.Replace('\0', ' ') + " " + conn.Length);
if (conn.Contains("OK"))
{
//return true;
@@ -601,7 +607,7 @@ namespace ArdupilotMega
string version = doCommand(comPort, "ATI");
- Console.Write("Connect Version: " + version.Trim() + "\n");
+ log.Info("Connect Version: " + version.Trim() + "\n");
if (version.Contains("SiK") && version.Contains("on")) // should use a regex....
{
diff --git a/Tools/ArdupilotMegaPlanner/Utilities/ParameterMetaDataRepository.cs b/Tools/ArdupilotMegaPlanner/Utilities/ParameterMetaDataRepository.cs
index 2f118a36f8..898b69a37f 100644
--- a/Tools/ArdupilotMegaPlanner/Utilities/ParameterMetaDataRepository.cs
+++ b/Tools/ArdupilotMegaPlanner/Utilities/ParameterMetaDataRepository.cs
@@ -17,8 +17,13 @@ namespace ArdupilotMega.Utilities
public ParameterMetaDataRepository()
{
string paramMetaDataXMLFileName = String.Format("{0}\\{1}", Application.StartupPath, ConfigurationManager.AppSettings["ParameterMetaDataXMLFileName"]);
- if (File.Exists(paramMetaDataXMLFileName))
- _parameterMetaDataXML = XDocument.Load(paramMetaDataXMLFileName);
+ try
+ {
+ if (File.Exists(paramMetaDataXMLFileName))
+ _parameterMetaDataXML = XDocument.Load(paramMetaDataXMLFileName);
+
+ }
+ catch { } // Exception System.Xml.XmlException: Root element is missing.
}
///
@@ -33,19 +38,23 @@ namespace ArdupilotMega.Utilities
{
// Use this to find the endpoint node we are looking for
// Either it will be pulled from a file in the ArduPlane hierarchy or the ArduCopter hierarchy
- var element = _parameterMetaDataXML.Element("Params").Element(MainV2.cs.firmware.ToString());
- if(element != null && element.HasElements)
- {
- var node = element.Element(nodeKey);
- if(node != null && node.HasElements)
- {
- var metaValue = node.Element(metaKey);
- if(metaValue != null)
- {
- return metaValue.Value;
- }
- }
- }
+ try
+ {
+ var element = _parameterMetaDataXML.Element("Params").Element(MainV2.cs.firmware.ToString());
+ if (element != null && element.HasElements)
+ {
+ var node = element.Element(nodeKey);
+ if (node != null && node.HasElements)
+ {
+ var metaValue = node.Element(metaKey);
+ if (metaValue != null)
+ {
+ return metaValue.Value;
+ }
+ }
+ }
+ }
+ catch { } // Exception System.ArgumentException: '' is an invalid expanded name.
}
return string.Empty;
}