From 275869b729399dfa9fcee3033f1af9e3f894b749 Mon Sep 17 00:00:00 2001 From: Codeusa Date: Sun, 12 Jan 2014 20:58:42 -0500 Subject: [PATCH] Version 4 build --- Borderless.Designer.cs | 131 ++++- Borderless.cs | 317 +++++----- Borderless.resx | 1126 ++++++++++++++++++++++++++---------- BorderlessGaming.csproj | 4 + Favorites.cs | 46 +- Properties/AssemblyInfo.cs | 4 +- README.md | 6 +- app.manifest | 58 ++ 8 files changed, 1219 insertions(+), 473 deletions(-) create mode 100644 app.manifest diff --git a/Borderless.Designer.cs b/Borderless.Designer.cs index 0561007..fc0b784 100644 --- a/Borderless.Designer.cs +++ b/Borderless.Designer.cs @@ -38,12 +38,21 @@ private void InitializeComponent() this.workerTimer = new System.Windows.Forms.Timer(this.components); this.addSelectedItem = new System.Windows.Forms.Button(); this.bugReportButton = new System.Windows.Forms.Button(); + this.favoritesList = new System.Windows.Forms.ListBox(); + this.button3 = new System.Windows.Forms.Button(); + this.processLabel = new System.Windows.Forms.Label(); + this.favoritesLabel = new System.Windows.Forms.Label(); this.donateButton = new System.Windows.Forms.Button(); + this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); + this.trayIconContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.trayIconContextMenu.SuspendLayout(); this.SuspendLayout(); // // makeBorderlessButton // - this.makeBorderlessButton.Location = new System.Drawing.Point(223, 50); + this.makeBorderlessButton.Location = new System.Drawing.Point(223, 21); this.makeBorderlessButton.Name = "makeBorderlessButton"; this.makeBorderlessButton.Size = new System.Drawing.Size(111, 36); this.makeBorderlessButton.TabIndex = 1; @@ -54,7 +63,7 @@ private void InitializeComponent() // selectedProcess // this.selectedProcess.AutoSize = true; - this.selectedProcess.Location = new System.Drawing.Point(224, 21); + this.selectedProcess.Location = new System.Drawing.Point(220, 4); this.selectedProcess.Name = "selectedProcess"; this.selectedProcess.Size = new System.Drawing.Size(107, 13); this.selectedProcess.TabIndex = 2; @@ -64,33 +73,33 @@ private void InitializeComponent() // processList // this.processList.FormattingEnabled = true; - this.processList.Location = new System.Drawing.Point(-1, -1); + this.processList.Location = new System.Drawing.Point(-2, 21); this.processList.Name = "processList"; this.processList.Size = new System.Drawing.Size(219, 199); this.processList.TabIndex = 0; - this.processList.SelectedIndexChanged += new System.EventHandler(this.processList_SelectedIndexChanged); + this.processList.SelectedIndexChanged += new System.EventHandler(this.ProcessListSelectedIndexChanged); // // button1 // this.button1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button1.BackgroundImage"))); this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.button1.Location = new System.Drawing.Point(223, 132); + this.button1.Location = new System.Drawing.Point(223, 143); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(33, 31); this.button1.TabIndex = 4; this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); + this.button1.Click += new System.EventHandler(this.BlogButtonClick); // // button2 // this.button2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button2.BackgroundImage"))); this.button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.button2.Location = new System.Drawing.Point(301, 132); + this.button2.Location = new System.Drawing.Point(301, 143); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(33, 31); this.button2.TabIndex = 5; this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.button2_Click); + this.button2.Click += new System.EventHandler(this.GitHubButtonClick); // // workerTimer // @@ -99,42 +108,114 @@ private void InitializeComponent() // // addSelectedItem // - this.addSelectedItem.Location = new System.Drawing.Point(223, 92); + this.addSelectedItem.Location = new System.Drawing.Point(223, 63); this.addSelectedItem.Name = "addSelectedItem"; this.addSelectedItem.Size = new System.Drawing.Size(111, 34); this.addSelectedItem.TabIndex = 7; - this.addSelectedItem.Text = "Add Selected Item To Favorites"; + this.addSelectedItem.Text = "Add Process to Favorites"; this.addSelectedItem.UseVisualStyleBackColor = true; - this.addSelectedItem.Click += new System.EventHandler(this.sendGameName); + this.addSelectedItem.Click += new System.EventHandler(this.SendToFavorites); // // bugReportButton // this.bugReportButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("bugReportButton.BackgroundImage"))); this.bugReportButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.bugReportButton.Location = new System.Drawing.Point(262, 132); + this.bugReportButton.Location = new System.Drawing.Point(262, 143); this.bugReportButton.Name = "bugReportButton"; this.bugReportButton.Size = new System.Drawing.Size(33, 31); this.bugReportButton.TabIndex = 8; this.bugReportButton.UseVisualStyleBackColor = true; - this.bugReportButton.Click += new System.EventHandler(this.button3_Click); + this.bugReportButton.Click += new System.EventHandler(this.BugReportClick); + // + // favoritesList + // + this.favoritesList.FormattingEnabled = true; + this.favoritesList.Location = new System.Drawing.Point(341, 21); + this.favoritesList.Name = "favoritesList"; + this.favoritesList.Size = new System.Drawing.Size(219, 199); + this.favoritesList.TabIndex = 10; + this.favoritesList.SelectedIndexChanged += new System.EventHandler(this.FavoritesListSelectedIndexChanged); + // + // button3 + // + this.button3.Location = new System.Drawing.Point(223, 103); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(111, 34); + this.button3.TabIndex = 11; + this.button3.Text = "Remove Selected Favorite"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.RemoveFavoriteButton); + // + // processLabel + // + this.processLabel.AutoSize = true; + this.processLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.processLabel.Location = new System.Drawing.Point(52, 0); + this.processLabel.Name = "processLabel"; + this.processLabel.Size = new System.Drawing.Size(108, 18); + this.processLabel.TabIndex = 12; + this.processLabel.Text = "Process List:"; + // + // favoritesLabel + // + this.favoritesLabel.AutoSize = true; + this.favoritesLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.favoritesLabel.Location = new System.Drawing.Point(394, 0); + this.favoritesLabel.Name = "favoritesLabel"; + this.favoritesLabel.Size = new System.Drawing.Size(115, 18); + this.favoritesLabel.TabIndex = 13; + this.favoritesLabel.Text = "Favorites List:"; // // donateButton // - this.donateButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.donateButton.Location = new System.Drawing.Point(238, 169); + this.donateButton.Location = new System.Drawing.Point(223, 180); this.donateButton.Name = "donateButton"; - this.donateButton.Size = new System.Drawing.Size(75, 23); - this.donateButton.TabIndex = 9; - this.donateButton.Text = "Donate"; + this.donateButton.Size = new System.Drawing.Size(111, 31); + this.donateButton.TabIndex = 14; + this.donateButton.Text = "Buy me Dr.Pepper"; this.donateButton.UseVisualStyleBackColor = true; - this.donateButton.Click += new System.EventHandler(this.donateButton_Click); + this.donateButton.Click += new System.EventHandler(this.SupportButtonClick); + // + // notifyIcon + // + this.notifyIcon.ContextMenuStrip = this.trayIconContextMenu; + this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon"))); + this.notifyIcon.Text = "Borderless Gaming"; + this.notifyIcon.Visible = true; + this.notifyIcon.DoubleClick += new System.EventHandler(this.TrayIconOpen); + // + // trayIconContextMenu + // + this.trayIconContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openToolStripMenuItem, + this.exitToolStripMenuItem}); + this.trayIconContextMenu.Name = "trayIconContextMenu"; + this.trayIconContextMenu.Size = new System.Drawing.Size(104, 48); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(103, 22); + this.openToolStripMenuItem.Text = "Open"; + this.openToolStripMenuItem.Click += new System.EventHandler(this.TrayIconOpen); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(103, 22); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.TrayIconExit); // // Borderless // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(335, 195); + this.ClientSize = new System.Drawing.Size(557, 218); this.Controls.Add(this.donateButton); + this.Controls.Add(this.favoritesLabel); + this.Controls.Add(this.processLabel); + this.Controls.Add(this.button3); + this.Controls.Add(this.favoritesList); this.Controls.Add(this.bugReportButton); this.Controls.Add(this.addSelectedItem); this.Controls.Add(this.button2); @@ -144,11 +225,11 @@ private void InitializeComponent() this.Controls.Add(this.processList); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(351, 234); this.MinimumSize = new System.Drawing.Size(351, 234); this.Name = "Borderless"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Borderless Gaming"; + this.trayIconContextMenu.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -164,7 +245,15 @@ private void InitializeComponent() private System.Windows.Forms.Timer workerTimer; private System.Windows.Forms.Button addSelectedItem; private System.Windows.Forms.Button bugReportButton; + private System.Windows.Forms.ListBox favoritesList; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Label processLabel; + private System.Windows.Forms.Label favoritesLabel; private System.Windows.Forms.Button donateButton; + private System.Windows.Forms.NotifyIcon notifyIcon; + private System.Windows.Forms.ContextMenuStrip trayIconContextMenu; + private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; } } diff --git a/Borderless.cs b/Borderless.cs index d040a8d..1c95a29 100644 --- a/Borderless.cs +++ b/Borderless.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; +using System.Drawing; using System.Linq; using System.Runtime.InteropServices; using System.Text; @@ -17,34 +18,58 @@ public partial class Borderless : Form #region Delegates public delegate bool WindowEnumCallback(int hwnd, int lparam); - + #endregion - private const int SW_HIDE = 0x00; + public static readonly Int32 + WS_BORDER = 0x00800000, + WS_CAPTION = 0x00C00000, + WS_CHILD = 0x40000000, + WS_CHILDWINDOW = 0x40000000, + WS_CLIPCHILDREN = 0x02000000, + WS_CLIPSIBLINGS = 0x04000000, + WS_DISABLED = 0x08000000, + WS_DLGFRAME = 0x00400000, + WS_GROUP = 0x00020000, + WS_HSCROLL = 0x00100000, + WS_ICONIC = 0x20000000, + WS_MAXIMIZE = 0x01000000, + WS_MAXIMIZEBOX = 0x00010000, + WS_MINIMIZE = 0x20000000, + WS_MINIMIZEBOX = 0x00020000, + WS_OVERLAPPED = 0x00000000, + WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | + WS_MAXIMIZEBOX, + WS_POPUP = unchecked((int) 0x80000000), + WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU, + WS_SIZEBOX = 0x00040000, + WS_SYSMENU = 0x00080000, + WS_TABSTOP = 0x00010000, + WS_THICKFRAME = 0x00040000, + WS_TILED = 0x00000000, + WS_TILEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, + WS_VISIBLE = 0x10000000, + WS_VSCROLL = 0x00200000; + + public static uint MF_BYPOSITION = 0x400; + public static uint MF_REMOVE = 0x1000; private const int SW_SHOW = 0x05; private const int WS_EX_APPWINDOW = 0x40000; private const int GWL_EXSTYLE = -0x14; //never want to hunt this down again private const int WS_EX_DLGMODALFRAME = 0x0001; - private const int WS_THICKFRAME = 0x00040000; private const int WS_EX_TOOLWINDOW = 0x0080; private const short SWP_NOMOVE = 0X2; private const short SWP_NOSIZE = 1; private const short SWP_NOZORDER = 0X4; private const int SWP_SHOWWINDOW = 0x0040; - public static uint MF_BYPOSITION = 0x400; - public static uint MF_REMOVE = 0x1000; public static int GWL_STYLE = -16; - public static int WS_CHILD = 0x40000000; //child window - public static int WS_BORDER = 0x00800000; //window with border - public static int WS_DLGFRAME = 0x00400000; //window with double border but no title - public static int WS_CAPTION = WS_BORDER | WS_DLGFRAME; //window with a title bar - public static int WS_SYSMENU = 0x00080000; //window menu - private readonly List processDataList = new List(); - private readonly List tempList = new List(); + private readonly List _processDataList = new List(); + private readonly List _tempList = new List(); private BackgroundWorker _worker; - private IntPtr formHandle; - private bool gameFound; - private string selectedProcessName; + private IntPtr _formHandle; + private bool _gameFound; + private string _selectedProcessName; + private string _selectedFavoriteProcess; [DllImport("USER32.DLL")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); @@ -100,59 +125,57 @@ public Borderless() InitializeComponent(); PopulateList(); ListenForGameLaunch(); - - AppDomain.CurrentDomain.FirstChanceException += (sender, args) => - { - MessageBox.Show(args.Exception.Message, "FirstChanceException"); - throw args.Exception; - }; + if (favoritesList == null) return; + favoritesList.DataSource = Favorites.List; } private void ListenForGameLaunch() { - formHandle = Handle; + _formHandle = Handle; _worker = new BackgroundWorker(); - _worker.DoWork += bw_DoWork; - _worker.RunWorkerCompleted += bw_RunWorkerCompleted; + _worker.DoWork += _BackgroundWork; + _worker.RunWorkerCompleted += _BackgroundWorkCompleted; - workerTimer.Start(); + if (workerTimer != null) + workerTimer.Start(); } public static IntPtr FindWindowHandle(string processName, IntPtr ignoreHandle) { - Process process = Process.GetProcesses().FirstOrDefault(p => p != null && p.ProcessName.Equals(processName, StringComparison.InvariantCultureIgnoreCase) && p.MainWindowHandle != IntPtr.Zero && p.MainWindowHandle != ignoreHandle && !string.IsNullOrEmpty(p.MainWindowTitle)); - - if (process != null) - { - return process.MainWindowHandle; - } - - return IntPtr.Zero; + var process = + Process.GetProcesses() + .FirstOrDefault( + p => + p != null && p.ProcessName.Equals(processName, StringComparison.InvariantCultureIgnoreCase) && + p.MainWindowHandle != IntPtr.Zero && p.MainWindowHandle != ignoreHandle && + !string.IsNullOrEmpty(p.MainWindowTitle)); + + return process != null ? process.MainWindowHandle : IntPtr.Zero; } - private void bw_DoWork(object sender, DoWorkEventArgs e) + private void _BackgroundWork(object sender, DoWorkEventArgs e) { IntPtr handle; var breakLoop = false; var windowText = ""; while (true) - - { - processList.Invoke((MethodInvoker)delegate - { - //Code to modify control will go here - processList.DataSource = null; - processList.Items.Clear(); - processDataList.Clear(); - PopulateList(); - }); - - + + { + processList.Invoke((MethodInvoker) delegate + { + //Code to modify control will go here + processList.DataSource = null; + processList.Items.Clear(); + _processDataList.Clear(); + PopulateList(); + }); + + Favorites.List.ForEach(wndName => { - handle = FindWindowHandle(wndName, formHandle); + handle = FindWindowHandle(wndName, _formHandle); if (handle != IntPtr.Zero) { @@ -168,44 +191,34 @@ private void bw_DoWork(object sender, DoWorkEventArgs e) break; } - Thread.Sleep(1000); - - + Thread.Sleep(9000); } } - private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + private void _BackgroundWorkCompleted(object sender, RunWorkerCompletedEventArgs e) { if (!IsDisposed) { - } } private void PopulateList() //Adds active windows to the processDataList { - tempList.Add("Refreshing..."); - processList.DataSource = tempList; + _tempList.Add("Refreshing..."); + processList.DataSource = _tempList; var processlist = Process.GetProcesses(); - foreach (var process in processlist) + foreach ( + var process in + processlist.Where(process => process != null) + .Where(process => !process.ProcessName.Equals("explorer"))) { - if (process == null) - { - continue; - } - if (process.ProcessName.Equals("explorer")) - { - continue; - } if (String.IsNullOrEmpty(process.MainWindowTitle)) { SetWindowText(process.MainWindowHandle, process.ProcessName); } - if (process.MainWindowTitle.Length > 0) - { - processDataList.Add(process.ProcessName); - } + if (process.MainWindowTitle.Length <= 0) continue; + _processDataList.Add(process.ProcessName); } @@ -215,94 +228,68 @@ private void PopulateList() //Adds active windows to the processDataList private void RemoveBorder(String procName) //actually make it frameless { - var Procs = Process.GetProcesses(); foreach (var proc in Procs) { - if (gameFound.Equals(true)) + if (_gameFound.Equals(true)) { - gameFound = false; + _gameFound = false; return; } - if (proc.ProcessName.Equals(procName)) - { - - var pFoundWindow = proc.MainWindowHandle; - var style = GetWindowLong(pFoundWindow, GWL_STYLE); - - //get menu - var HMENU = GetMenu(proc.MainWindowHandle); - //get item count - var count = GetMenuItemCount(HMENU); - //loop & remove - for (var i = 0; i < count; i++) - { - RemoveMenu(HMENU, 0, (MF_BYPOSITION | MF_REMOVE)); - RemoveMenu(HMENU, 0, (MF_BYPOSITION | MF_REMOVE)); - } + if (!proc.ProcessName.Equals(procName)) continue; + var pFoundWindow = proc.MainWindowHandle; + var style = GetWindowLong(pFoundWindow, GWL_STYLE); - //force a redraw - DrawMenuBar(proc.MainWindowHandle); - SetWindowLong(pFoundWindow, GWL_STYLE, (style & ~WS_SYSMENU)); - SetWindowLong(pFoundWindow, GWL_STYLE, (style & ~WS_CAPTION)); - SetWindowLong(pFoundWindow, GWL_STYLE, - GetWindowLong(pFoundWindow, GWL_STYLE) & ~(WS_BORDER | WS_DLGFRAME | WS_THICKFRAME)); - SetWindowLong(pFoundWindow, GWL_EXSTYLE, - GetWindowLong(pFoundWindow, GWL_EXSTYLE) & ~WS_EX_DLGMODALFRAME); - SetWindowPos(pFoundWindow, 0, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_SHOWWINDOW); - //resets window to main monitor - gameFound = true; + //get menu + var HMENU = GetMenu(proc.MainWindowHandle); + //get item count + var count = GetMenuItemCount(HMENU); + //loop & remove + for (var i = 0; i < count; i++) + { + RemoveMenu(HMENU, 0, (MF_BYPOSITION | MF_REMOVE)); + RemoveMenu(HMENU, 0, (MF_BYPOSITION | MF_REMOVE)); } - } - gameFound = false; - } + //force a redraw + DrawMenuBar(proc.MainWindowHandle); + SetWindowLong(pFoundWindow, GWL_STYLE, + (style & + ~(WS_EX_DLGMODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU | + WS_MAXIMIZEBOX | + WS_MINIMIZEBOX))); //thanks http://www.reddit.com/user/randomName412 - // private void SayHello(string name = "Andrew", int age = 25) - // { - // Console.WriteLine("Hello, " + name + " you are " + age + " years old."); - // } + // GetWindowLong(pFoundWindow, GWL_EXSTYLE) & ~WS_EX_DLGMODALFRAME); - private void refreshList_Click(object sender, EventArgs e) //handles refresh button - { - // SayHello(); - // SayHello("Alex"); - // SayHello(age: 100); - processList.DataSource = null; - processList.Items.Clear(); - processDataList.Clear(); - PopulateList(); - } + SetWindowPos(pFoundWindow, 0, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_SHOWWINDOW); + //resets window to main monitor + _gameFound = true; + } - private void refreshProcessList() - { - processList.DataSource = null; - processList.Items.Clear(); - processDataList.Clear(); - PopulateList(); + _gameFound = false; } - private void processList_SelectedIndexChanged(object sender, EventArgs e) + private void ProcessListSelectedIndexChanged(object sender, EventArgs e) { if (e == null) throw new ArgumentNullException("e"); - selectedProcessName = processList.GetItemText(processList.SelectedItem); - selectedProcess.Text = selectedProcessName + " is selected!"; + _selectedProcessName = processList.GetItemText(processList.SelectedItem); + selectedProcess.Text = _selectedProcessName + " is selected!"; } private void MakeBorderless(object sender, EventArgs e) { - RemoveBorder(selectedProcessName); + RemoveBorder(_selectedProcessName); } - private void button1_Click(object sender, EventArgs e) + private void BlogButtonClick(object sender, EventArgs e) { GotoSite("http://andrew.codeusa.net/"); } - private void button2_Click(object sender, EventArgs e) + private void GitHubButtonClick(object sender, EventArgs e) { GotoSite("https://github.com/Codeusa/Borderless-Gaming"); } @@ -314,42 +301,92 @@ public void GotoSite(string url) //open url private void UpdateList() // sets data sources { - processList.DataSource = processDataList; + processList.DataSource = _processDataList; } private void workerTimer_Tick(object sender, EventArgs e) { - if (!_worker.IsBusy) - { - _worker.RunWorkerAsync(); - } + if (_worker.IsBusy) return; + _worker.RunWorkerAsync(); } - private void sendGameName(object sender, EventArgs e) + private void SendToFavorites(object sender, EventArgs e) { - if (selectedProcessName != null && Favorites.canAdd(selectedProcessName)) + if (_selectedProcessName == null || !Favorites.CanAdd(_selectedProcessName)) + { + MessageBox.Show("Unable to add " + _selectedProcessName + " already added!", "Uh oh!", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + else { - Favorites.AddGame(selectedProcessName); + Favorites.AddGame(_selectedProcessName); Favorites.Save("./Favorites.json"); - MessageBox.Show(selectedProcessName + " added to favorites", "Victory!", + favoritesList.DataSource = null; + favoritesList.DataSource = Favorites.List; + MessageBox.Show(_selectedProcessName + " added to favorites", "Victory!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } - else + } + + private void BugReportClick(object sender, EventArgs e) + { + GotoSite("https://github.com/Codeusa/Borderless-Gaming/issues"); + } + + + + private void RemoveFavoriteButton(object sender, EventArgs e) + { + if (_selectedFavoriteProcess == null || !Favorites.CanRemove(_selectedFavoriteProcess)) { - MessageBox.Show("Unable to add " + selectedProcessName + " already added!", "Uh oh!", + MessageBox.Show("Unable to remove " + _selectedFavoriteProcess + " does not exist!", "Uh oh!", MessageBoxButtons.OK, MessageBoxIcon.Error); } + else + { + Favorites.Remove("./Favorites.json", _selectedFavoriteProcess); + favoritesList.DataSource = null; + favoritesList.DataSource = Favorites.List; + } } - private void button3_Click(object sender, EventArgs e) + private void FavoritesListSelectedIndexChanged(object sender, EventArgs e) { - GotoSite("https://github.com/Codeusa/Borderless-Gaming/issues"); + if (e == null) throw new ArgumentNullException("e"); + _selectedFavoriteProcess = favoritesList.GetItemText(favoritesList.SelectedItem); } - private void donateButton_Click(object sender, EventArgs e) + private void SupportButtonClick(object sender, EventArgs e) { GotoSite("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TWHNPSC7HRNR2"); } + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + //determine whether the cursor is in the taskbar because Microsoft + var cursorNotInBar = Screen.GetWorkingArea(this).Contains(Cursor.Position); + if (WindowState != FormWindowState.Minimized || !cursorNotInBar) return; + ShowInTaskbar = false; + notifyIcon.Visible = true; + // notifyIcon.Icon = SystemIcons.Application; + notifyIcon.BalloonTipText = "Borderless Gaming Minimized"; + notifyIcon.ShowBalloonTip(2000); + Hide(); + } + + private void TrayIconOpen(object sender, EventArgs e) + + { + Show(); + WindowState = FormWindowState.Normal; + ShowInTaskbar = true; + + } + private void TrayIconExit(object sender, EventArgs e) + { + Environment.Exit(0); + } + } } \ No newline at end of file diff --git a/Borderless.resx b/Borderless.resx index 8aafbe1..6b04097 100644 --- a/Borderless.resx +++ b/Borderless.resx @@ -121,7 +121,7 @@ iVBORw0KGgoAAAANSUhEUgAAAgsAAAH5CAYAAAAP7X1BAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DgAACw4BQL7hQQAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAP+KSURBVHhe + DAAACwwBP0AiyAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAP+KSURBVHhe 7L0FgFzXefY/S1ox2w40SfsV0jaFFL6m/dr+2yZtSoltWcx2DGGH7TiJYxCulknaXWnFTEbJDGJYMTMz sy2w3//7vOeemXPPvDM7K61kmmv/NDN35s7Mzn3f5zwHb4SI0qRJkyZNmjRpEqLuTJMmTZo0adKksag7 06RJkyZNmjRpLOrONGnSpEmTJk0ai7ozTZo0adKkSZPGou5MkyZNmjRp0qSxqDvTpEmTJk2aNGks6s40 @@ -3078,7 +3078,7 @@ iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - DwAACw8BkvkDpQAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAEhPSURBVHhe7d2/ + DAAACwwBP0AiyAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAEhPSURBVHhe7d2/ kSW31qZ7ChPxXWEEmkBhDGgDRqB8pTbhmNAmUJmIK7YwBtAEmnBMoAmMawGlUc+8bzGzGoVau2rn3viz kPkg4hfnEF3dlTs3cq0EEkD+9J///AfAIlR+veG3J0X/5q/RMQDIKawE0J/KL0Xy3BPrd/l3wT+YSXls Ptb6huCX6LMC6C+sBPA8lS9bkvsmTnp/iBPh31ImyTPyZ/Rn9Wf2Z/c58Ln4Ep0rAM8LKwHcR+XnLVHt @@ -3395,295 +3395,839 @@ - iVBORw0KGgoAAAANSUhEUgAAAHEAAABsCAYAAABdNl2VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAAfdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtz - IDi1aNJ4AABDJklEQVR4Xu2dBXQV177GI7jEhQjxQBICBJIQISGCu7sFd4diLVBoKdZSCreCu5Xb0qIt - UiwBSpEWirtLkeKa//u+ydnnDqcDxfpu+9bLWt86yT4zc/bs3/7bnpkTKxH5f/3DZdj4//pnybDxn6iy - Zctmg3JDdpCDTvyb7dmM9vu/IMPGf4IIxQSHkJwgN8gL8oX8oQDTK/9muzvkAjlC/6fAGjb+XYVBtzUN - Pi3MFfKE/KBgqAhUAoqB4qHSplf+XRIqCoVAgRDBcl8eg8f6RwM1bPy7CQNMeHkgWpwHRAsjkOIQISVB - FaAaUH2oMdTU9Mq/a0KVoFQoASoFcd9QiBZLoLRSeygnZGPUj7+rDBv/LsJgKnjOEF1iEFQMioUIpBpE - SC2gdlDXlJSUvmXKlBkEvc3XpKSkt9DeDeoAtYYItx7EfflDa42ACkO0ULplutscRn36O8qw8b8tDKBy - m7Q8WgndJQeaVkSLIrg0qFNsbOy7ERERn4WGhn5TuHDhLdDekJCQo/j7GF8LFSp0KCgoaEdwcPDa0JCQ - RRHFi0+Kj4t/h/tCraCGEIGmQNEQrbMgRMvkBLI16uPfSYaN/01h0HJAtAQmIoxfdHuJUFWoEdQuMSFh - SJEiRb4KCAjYGxYaerVkyZISExMjCQkJAssTbCOwSO330qVLS1RUlAC0hIaFSVBg4GM/X9+LPj4+uwH8 - q1IxMSOwPYHSmmtDtPBIqBBE100X+7e2SsPG/5YwWIxHtD5aQhgUB9HyCK99fFzcqLCwsC0EFwto5cqV - k1q1akmDBg2kUaNG0rBhQ6lfv77UqVNHatSsKdWrV5eqVatKlSpVpGLFipKamiqJiYka8KJFi0qgv794 - e3ldA9QdxYoV+xzgu+NzmkO0TFo9kyG62L+1VRo2/m+Lg2MaJGaLTFqYZdIi6kJtoqOjR8M9/lg0vMid - ZFhXQ0Br0aKFpqbNmmkACa9u3boa1Bo1aki1atU0eJUqVZIKFSpo1kmIycnJsNBkQbyUuNhYiYyMlMKF - ComXp+fDgt7e+8PDwydhW8ZPutnyUBREd06r/FvGSsPG/01xUEyDw0GiC2PmSOtrmlimTF/EsZXhoaH3 - UuEeWwJau3btpFWrVlkAmzaVxo0bmy2QEGvXri01YYWWEGm1hEgXS2ukm42LixPEVM0y6ZILBwWKR4EC - 9wBzY3R0qSHoQ0uIVslyhSWMN8SS5G8F0rDxRYQTofXkgvJDjBs8Ob7mg14oTcc2BMj9ODgcJLowlgmt - MIgTQgoFnyqNQW4CUF27dpX27dtL69atJS0tTYPYDFb4PIh0pZYQaYm0QgWRAGHpUhIWydhZNDxcAFHc - XF0uBhcKmou+tIeYzTLxYXz2gejy/xQktrGBOBYcE44NFxqolxqnP5Nh4/OED1WZIzvD5IPxS62QsPAm - ELrF57oevgdxMDgoHBwOErPODkWLF19WPLzIvaqVKkobQCO8Nm3aaFbI178EIiyxRIkSWgJUrGgxCQwM - AEjnR56enhnYrj/6xZqzHERXzzj5XJB8D+IEZzxlecSxYaJG8Xe28T1u81qWbdj4LPHDIJU5EhythzGD - CQjrLdZvXB1hIf7MNB1/K4AcDA4KB6dxmaTk3kXCwraVwmDWq1tHc5stASytZUvNAimtDX83b978L4GI - BEcQFzUxVhZwdRVXV9df8d776GMziIsKzwXJNogehqAYIlgecWzoaSj+zja+x21ey0UbNhoJH5Idohvg - h7KWYkcY+JmWM3vkTG0A0R3SqgiTxXkBiLMtu+k46gRpgRwMHqNpQpmkQajrDiTGRkvTRg2lGSAx5hEW - oSnprdAoJj4rsXlWTHwWRCRSWklSKDhY3N3cxNHR8RQy2g/RV2avzwTJ301tPD8uTLA8Ylzl2HASUPyd - bXyP27ywizaSYaOlcHD6doJg8kHrKwPVgtJw4sN8fX3nent7fxkYGDgZg9ML7VwVqQLRQmmVBMkJoADS - 5bLztMCm8QmJw8JCCp9MLh0njQCkEcAw42zSpIkGiyAJjuLvFAHyfW7HEqNevXpaafG87FTVjnqIpUqV - 0mIhIWquVAcRdaQUgjUGBwVJAXd3sbe3v4j69GMcywgkQwxzBP7ONloafxrgM/oWLFhwHix6rbu7+6rg - 4OBP0ZeOfC9rE21bguTYaJP9ZWTYaCkcmAGYcY7mT3dQF4PR1c3NbU327NlvWOEwlLW19ePcuXOfQSen - YJs2EEEzsyNIWjCPQTfLiUBrbVw6sczbYWEhJ1LjY6RhvfqAUV+zKlqXAklghKmsj220QEuAypWq+rBy - 5cpafVi+fHnNCgmRrpSLAvHx8VpmagmR9SNAmSHiXCQIEAMDAsXVxQUg7c5hm7Houx4kYxyX69T5cYLy - p7Gfn9+UHDlyXFFjRNnY2DzEhNhTvHhxuugmECcz9+HkZrh6qXrUsNFSpgNzpjD+1cCAdIB72a7vmF62 - tra3AwIC5mI7ZnZcfKZFsnjnJAiH6EbqJyWn9ELhvi8xtpTUJQSIMAiFcBRIArMU3+M2+lj4Z65UxUNC - pBUSIl0pa0W6UgyqIUR4GPH38xd4HHFychQHe/ujgK5ipEp2WEsyaeH5cUG+AeBPIjCjMaLy5MlzAp89 - DNsyHCVDDFPMN3IbcXiWDBv1wgGZjXIBmp2kG22Kk5kDq8s06pgSLRJuaQK25/okXSsTH9aAPAbBti9S - JGxLTGSE1KxRHYNfU7MiwiAUgiQgBdNSfI/b6N3os6wQn6VZISEaxUMjiIjPGkRaISakwKI0iAgbYpcv - nzg7Oe3B/lyDZS7AuM6rKZzk9FS1MVm65cyZ85zR2ChhDJ/Ava5HnxiC6kDMM5gwMvN/YWs0bNQLB6Mr - paugC6wItaMrMOqUXuwg0vO1GLCB2IeupzpEmOxsG7iuxcWKFMmsgjKiarXqUh3WQytSIAlGD1MvBU9v - gdzP0gr1EAlQHw9Vka8g0pUSIuNhGBIaQmQ8VBAJEHFNk4dHAVpRZoECBTbgeH1wfLpEru3SvfI8W2Ii - TPiziU7hOGfxueOxDxf0adX0WBzvnEY8jGTYqBcOxhKBCQ1ruaoYjK558+Y9ZtQhSzk7O+/GALGDvBTE - 1Q8uMrdHPBobGhJym8tflU0DTushAFoSgRAMASmgRlIACU+/TqrcqN4KjbJSxsMXcqX+/uLj46MBxMSE - vHhukitXrrsAPB+f0dV0brRKTthuaF9oNCaWgrVew2SZhz7yGJwAdM28cpPXiIeRDBv1wsGYdTG75GJw - ZXxYp3z58h0y6pClcKJ7MUBMcgZBPU3qHxJSeH+p6CipAEvhYHPQ6f70IJVVEpIeqALH9/TWpwDq3ahl - LCREfULzvHioZaWAqFwpIdKVEiIsUOAGJX/+/IIJfQbxkWGjN0QQnLADYdEzjcbEUpgIv8Hav8Qko0tl - ucYrKExw8hnxMJJho144GN0pi3ZmmFyUbgk4G406pFe2bNnuInvdg8xvOvZhEjAUGlayRMklKOi1weUg - Uxx0BZIgCIQglRQwPThlfcp9cl9KWSGPi897ygqfl5Wq0sLIlRIirZAQPTw8NIA4N80ac+TKlYm/t+L4 - o/F5jJFvQ+/hsyYB0FNZqaUYcuzs7I7REjEeXbDfX2aJTGxYvzDgMvDWxax9D6XFdaOOUcjIHqNzZxBH - tuBkpmIfutRxSUmpn7iEhV+Ijos1D7CCyYFXMAlFwSQkI/E9vfVxP30MVMfXZ6SWCY0eIK1QXx8SoHKl - Kh56eXmZIbLccIJojSghbgD8v3Eu4/C5hMlFgYnYfx1BGY0RRSvkBEAfPsL2f11MpHBA5VKZ3PCDWqCD - 09H5a0adA8RHmKVHAPsbbPsF9C9o0tiYwPXDvO2lQkSkYDZoA8yBxnsaSALQw1RAlYUq6a1OwVPWRykX - SgtUAJUF6pMZPUS60WdZoaUr1awQAHNBqTlyy6x8VtLFz3k/JshMnif0KTQZ7ni9UXJDsMjer2CMfsE2 - 89FXXsf867JTigeEuOLCWpE+m5lYW8zYaU5OTj8jOF+17ChmGQP2emw3DZpSKyVpxsXYfFfPhuSRrvmd - JQaDnGAaaA44tjHDJBAFUw9UD02J26n4x/2fBVDVhXo3+iIJjaEVurpKXgB0z28vE21t5GaAlaz3y3an - VGjhNejDVEzMGTx3eKvb+jEhPOQTF1BjH8ZxtmOiLETfuLj+19aJSjgwl8wYG7keyuK9NgasIwZlFDq8 - BFb5u77DFOLiPcza/Zjpy2eU8NolZe3lYeuSstwum1TzD5ZoDDoHOgmDrqySEHBsMxi+WkoPTg9PAeQx - KX02+qxk5nmxUGWlygoVRGdAzIN42MYmh/zqbiWPS1rJUX8r6eHteAL7pTs4OJw0skCM0U3svweT5Fv0 - YQL6yPKEGS1//toVGyUcnOUGZwqTHK2ohXiX2QDM1HWWnVZytLWSfYWtM6VhsEi3GLleM0Qm5MwpZaJK - SRyvsmOwlUUqkAompWDpoSlxOxX7eAxKJTEEqNwo4VGWyYxlRqp3o5au1J1ZKQDmhCrlyCNr4UbvR1jJ - naJWcjfESpa5WYmDjfEY2NraPgTcY5gYq9E/JnrMYmmB/CFALtf9dWunSvgAulUuhDM+EiRXYZhRtUbH - BsNN7DY6gXb2VvIo2V6kVQRUQqRHadlX0kMG5M0vMXR3GPREvGpWaYKpgPJVQVVS7epVb3mW1qdiIOFZ - WqClG7WE+IeyArEwB1QyX36Zn81KboVZyQNA/D0cv0PXAq2ked4/nj+X3pAAncJxNqEfXEBnKcLFb64f - s3RTAP+6qxh64YN4+7wCyaU4LqVxJaYlBmwo4kUGZt098wlAK3yxawN/ACwpAncqHWJEupSWDZ75pZOT - i5QEjFhApPVQBKHAKOsykh6esjxLgCoGWiYyCqClG31eLMwFkIXtHGSSjbVcDcY5wY3eLpYF8Qb0MNRK - 5rtYSW7rrHOnS6ULhQUeJUBMnk8xCZnE0AIVQLrQVwZIGTb+mfCBtEh1YxOv6DPZ4X0xLTCIgzGTv8LM - O8FasXRum8cPYnKJNC+SZYWE2L6USPcEedQxTlY45JTmrgWkaEqyxBAC3J8eJl8VLCXL9+kyFTyK8BRA - y0xUn8joAapk5llWmLOAh4Tmd5AxVjZyGRYnUXClxeFKAfGmCeINWOZJHyuJzW37gPBQZp1GTvAzjrcK - ffgInoMAeQOWHiAN4qVioKUMG19U+HAuBHBxnJdiCLIylIbODsDgfY6B+W6if77zUtEtCyDVJhIQYYkd - 40X6pcrdDqXly3zZpYWrh0QAUIwJBMEoOM+S2kZZnt59WrpQI4D6bFSfzJit0AQwj4enlLRzlIlW1nIx - 2FokBuEBblQP8XoRQIQuBVnJoAL5LgH+bhzvB3zmPEw2xkAW85YAaYGvBZAybHwZoRPqSjbrG7pWXtnn - Bc+hdRLivzgdmedaZp0AkTTEQ0pB7ASIXRNFBlWU+x3LyArH3NLR0UWiACESYGJMUPSAlJTF8Xe91eld - p7I+yyxUxUBaoL6c0Fsgb5SiG3X28hQ7jwJSBTFwbnZruR6K8S5tLZkl4DoNIFIXC1vJKo/sdyN8fbZh - onHJ8T2Iy410oVzxIkBeW2XJ9tJJjJEMG19W6AxBcpWByQ7rHV5n6z86Nmzhvbg8Ik3D4E6LGkPskQyQ - leRJr/KyMcBVBufOK/EY7GIAWQKgFJxnSVmcHh7BWVqfAqhcqKUFEqCyQFdAdIT8XFylS7YcssbeRu5H - IiQkIGxFWskTADSCeBXu9DfExb3eVlLNy20vJtrnGAcuw7WF6KV4y4q6gv/KMdBSho2vInQqL6SW5njX - Wu+VJd3T76c4ibQoJtIsPAtia0uIKSK9ywFkZZHhteVQ5ZLyec7s0sDBWaIiSkgo3GYELC4akMzSgVPw - aHWWlmeZwFjGQHMiYwLoDtlB3khkKuXKJ58igdnrl1MkJb9IIiAikZHSeeRJEurdCGtDiNQRJHK9POxO - oB9zMA4s5nllg5Obk5xe640+RmfY+CpCxwiRs4wulfdp9tpfPM+ZR1W9ARBJDdWy+H8SG0LskpBlib3L - ivStIDKwqsgnbeRa/0ayuWQhGWFtK3WRvcYASjCssgjglaC1mYApaLQ4ZXUKoKX1WbpQDSAs0Bcx0B2y - hwIR+yrktpN3bWxla4HsciXGTqSSAwDmFom2we+emIgx8gQT8yFqQwWR2akZIizxNBKf6QVyXsdnfIP8 - gNdTec8R62pe+Xc0Gr/XkWHjqwid40oDbxCiJTZskxgz7HKJnHcz6weKNA6BSwXENFgkk5t20UhsYkU6 - l0aWmiTSM1WkT3mRtyqJvFNb5PNuItMHyo3BrSQ9rpiMyZlTOubJK5V9fLV7QgsDXBgUDhUFvHCAC2fM - g4oAXhjghQJeCC0PKgR4wYAXCAsMAEBfAPSGBRKen3dBSXRxk7Y5csv47Nlkp09uuRkH71EFyVgljHcC - AFZgYob+9qkumbWC5TGgPQDAexBLDL0lXkFMZFz8zt3mUZiP9w/InnknOcOLgohZYTyGryrDxlcROsdA - zXKDN0Y1HRUT8tmN6NyPpGFh0cS42MIUF9tGoVbEoNAau5UBRLjUPnCp/WCNA2CNwxuJTOwqMv9dkUVj - 5M7HA2VP3fKyqKCHfGRvJ73z5JM6zq4S41lQivkHSpGgQhJWGJlmSKgUCg0DMEDDayDgBQYDXgCszi9A - Agv6SiGvglLCxV1qoFzonTO3fJI7h3ztlEuOFXeSJxVhaTWgqs4i5QGysgf6C6/Rtya8REPE9UjJhEt9 - jHjIIv8piKZ4eAkAL4VYSbqHdWYlL7cdiNujMB68QkF3yroaBzYew1eVYeOriJ0zdZKdTVsc5b30dny+ - TGkQDIiFRJqEWiQ3dKlxWXGxO1xqL7pUWGO/iiJvY9BGNhcZ31lkcn+RBe+LLJsksvJz+X3CIDnQuo5s - S4mRNeGBstC3gExytJeRdnYyKL+d9MBrL6i7vb10dnCQPvnzy6C8eeWDvHnk07y5ZL5jLlnnkU+2BznK - 4RgPuV8TnqIJJlldH8CDxVUHxProcwd4iMEA93ZjxOsGCAPoa0z2LIjITs0Q4VbpTq/pIF4GxD1eVtLB - w+Eg3Duv4DCx4dUfLnC7GI3f68iw8VXEzpk6yc62XVPCZcv9JHiO+kGigWwMiFpyY4qLdKm0xi5wqd0A - sqeKjQDZH26VIN9rKvJRB5FJPbNgTn8HQEeKLP0IUD8WWfKByGd95eagRnK5XQU537CUXKgTIZcaRsrm - AGfZ4u8kF2sXlYvVQ+VanaJyp3FxedwCk6gT3Tn6kAbvUN8vC1wDgGyPvvSvI/J+W3x2a7j2JugH1AoA - 40yZKfQIELlmehcQudz2O1ypHiItcT+K/n7u+U4jFvPyFJ9/ZHbK8oJrz3+/xIadMnWOnWRnO20pbrfv - flm4pbqoEQmyEQapCUsNU5ZKa2wHa2RsZILD2MhMlW6VSQ7j46DqcK2whlFpIh8C5oQuSHzgZqkJ0PiO - gNxOZBzeHwUX/D4AvFtDZHRt+THWX7aXAqB3cZzeOHY3gOgIeK0Rl+na2Z9W6EM3TBxa3Egc50PE4jH4 - jOGtRIbBEwxCeyNsH4sxj0aRj+TmCSyRhT6tUMtMYYks8rV4CIiMhxcKZWWo77rkuowkahHGg4vdvMOP - V+1ZI77UpaY/k2Hjy4qdMnWOnWRnu+0ulvfYwwquInX8RerBZdGlataoy1K12KgrN1SSw5JDAwnXOqBK - llUOqy8yAq7tPVgGxd/fRds7tWA9iKN0w9ynF8uVipJR0lvSI7yyANLiewBWPxxrMECPaAFgnBC9MRmo - PpgMsPaxaBvZXmQoAHbB9lVgofEoMQgxBoqy1i47sUb8A0QAvAILJMTzgHjC30rGu+S4gRJmaWpqKi85 - sezibY1M/lCzGI/lq8iw8WWFTjEz5dIbM9MG5cqm9v05PM/ph+UAsZZvljXSpXL2Wxb+yhqZqXYxxUcz - SMZIk1X2Rx1JoCxDNOF3tvE9wuO2tGImSf3LS0aJgpJeDBB7mEqZKXDFs94TmTpE5ItBIp++heSpL1w1 - Xj8BxNGdstxnZ8Crg0mXlA+lRR7UhTCaOIAsZSuZgPgIEBkP6Uq1pEbnShkLL5ggng6wks+dst329/df - lZSUxIKfGSpvmub12DdaZhg2vqzQKa7WMB5yWall5eTkt38Nz33hUXlArIGEwQySCQ7KDc0aWW4okKrk - 0FkkXWsvwsSgsvwgJA2WXgQHcRtuS4DMdvumSkZxL0kvCkvqAjdKS/8XYH0xGND6ZUH7dIDIx71gdYi7 - PXCslih9qmF7wktBfZhiL1IGv2sQEQ/hSpnUMB6yvLgLgExquPBtzkwJMdhKzgHiGUCc4pztnp+f39rE - xEQuvfG6K+/b5bVDeq0Xvofmz2TYaCl8IK9acLGbBT0fjlSvXD5iLGT9o9ZNO9dNShh1sGiu3x5XRCJW - A8V+TYDU3Cpjo8pUERs1kKZFcS3R4cI4Bp1WSZjdAFNZJiExg31KBAdxwYDguwIg9+2VlAWxWAH8DUvn - cek6CW4iAE4EyMHIOAmuNiZYJUy28jCOCugvlYqETFkirRCuNBMJDV3pA0DUlxaWrpQAzwLkWUCc6WR7 - 38/XdyNqRT670QPi4+usFznhuQDOyc8LCK/14KlhoxIORniMd4TFy068iZgfzpUZ+nbWhbw7iwA5y7i8 - 1K9BmfgJB4vkvPa4HBKbqpjdBMnB0pIck1tlksNslfFRD1K7wmECSTeowQQcQiJQAtOgmcBp8LANt+U+ - 3LdHgmQAYHo4IHbAcdviuB/3gBXCfRLgu4iJjNNVUQfS+qhK7gAImPR0tMLEvFlWGAsrLIUxBUBzaWGy - QnORb3KllhDnutg+KOzrk166dGnePMV7b/mQESc63SrzB44dvz+HLpZLlhxbjjPD0wuvrRo2UjyI6WC0 - NMY7rvvxLnBecuL3vTBIs7CnC2XHCJCr9cMrlk+ZeDA819XHrGurYCA5SDULmkBi8Jitaqs4pvioB8lk - hzUkkxECoStUQI3E97gNt+U+jLHdYiWjKCAWAZi2cNmtccwPmdEieWEc7AbrVX2qhrjJPlakNWLS0QqT - kXckwArjc2VZITJTLStVpQUg3lL1ISCq0oLxkAC57MaYOA+WGObnl56SksJacSTUD6JbVc8n8hkOjh+h - 8r6lP31A10iGjdhR/xwhZwuB8ToY73Lj42p0C8y2+AyC9qVAUL/4+PixkZGRM2LDQ1bsDclxK5OzujIK - 6CqY8dVNbrW2KVtViY6ySC6SM9kxw4T1EAgtU7lZxk3tVSeC4zbclhOAWS9caEa4u6SHAUwbHhfHHIMS - ZXx3kXHIQNNwfIJjn9g3zQrhRtnfZMTDRMZCAIzLnpXQmKzQnJXqrPA3xEN9QnMGEE8FZcXEBU42j3yc - nY7yumJ4ePjiqKioT5OTk3kTNe8W7wzxqTF+yxUNgNca1QO6NBQunLzQN3b8oQE78IlgAlTP2XEFhjdE - tUCq3AmZFtNlWlxvQBvq6+v7pZOT04958+Y9zpths2fPfitPNtsH2wJsMoXLhJzhHCS61WoYNCY5jI+q - fuSSHEsPrq1awiQQZZ10tZoAyyz8Tdjchttyn5bYt31JySjiKukhsKxWnCSw9pGo/cZ1RnmCmpKfx7VR - utNKeKUbLQevoZIZWiGTGVohywoTQLXgzQKfsVAlNJdphQB4jlYIgCdhiRcAcZG9ldhbZ92qaGurXe3/ - PXfu3OcxXrtCQkJmw0KHx8bGjipatOiEEiVKfICxZT3JLPalvrHjqT+woXoimLeRs3CnqTeEdQ1ydXVd - B0hnc+bMeTl//vyH3dzctuLvS0a35lmj4xv9cEhmeRwczvLKBMkYpCwShbgZJGtIuFdaJWHSxRIm3awC - qqDqpdq5DbdlosSEqW1xyQhzAUR8dnMeF8cc0RJlREeUEagv6dKZzLBPnGQKYBIvObGsyHKjLPDVCo3l - WikhsrRggU9XSiukK6UVngDEc6gT59hZSU6LsVHifUh8jgOT/qaNjc2DPHnz3XPz8jpVLDKSKzwv9Y0d - T/2BjdRzFzRl7UFQzJhx+CDDO72fp7W8OYoZHq2Rg8TB0kDCIunGaulA1jWBpHtVsZJlCIGYgZqgmkVw - pnYurHNb7sOJ0DJcMgAwvTDcY1O6bRxzKGrAkW2zltVqIBbS+njbCJMvutEkkxtlHGQyw5JCV9zTCs2x - 0GSF5oTGZIVnaIWwwOOAeAaTeFp+wDIYG714+0fFmjWlffce8lbPHtKtc+eH9Zq1WJdcpRq93Qt9Y8dT - f2ADprisYfgMeTX48LfgAi4bffifaYm3lWQyu2OMYbLApEFvkdWRUHAwlXtlnFTrrAoma0rNOgnVZKV6 - aW0Qt2HZwn3onluESEZhQAzG5zbCsZkRs6QYAVfau0pWPGR/KE4y9rEMslFedjK5Uf06qVYXmlypfpnN - XBuarJCulFZ4HCB5w9THebPueDMaH1sbG4kuVUoGDB0qk7p1lenVK8q/G1eXFZ0aytx2jeXtpvUO1mve - nM918FokEyCCVHcFPHVbhyVE1ipq5aWhi4vLd0YdsBSfvYCb/R3uga72gr29/ZkZvjlvPonGgCRhcOim - CJIzniAZhziQeqvUx0rWkxx4dQWEUDUBFK1KE383tXMbLiRwH04GWF9GsL2kBwFOPdaoOOYAWOCwZsho - kZkSXjn0hX3iVXsNICyQS2wxSGR02ai5pDBwoyqh0cfCYwB4DK70oJeVjHDIcdvBweE0ZWdndxZjcxFe - 7Q7GSZqnpcn7I0bIh/FxMtPWWlZ7Zpef68TJlS9Gyc3vv5b9kz+W2d3a3mzZsgXv0yFIWiRDHEMdQ565 - lrSEyKKTNQtdaXOAOWsETS8+AYXOnYdb2Ovv77+1UKFCvMNrxZxQxxN3S2BG86o4ay7NIhF3VIwkSEur - ZKzUw9SAmixUkwmskmrnNhS3Z/bb0F8yggAxEIDqmGJwnxoibzdC0oOyRK3IPGWBBIgJzkVuFva6ZEZf - UljWhVosBMBTAEgr5O38hLjLw0p6Oea9gjHZjpxiecmSJVdERESs9inoc4hfHjF97jzZvW+/7Bo5XFb7 - uctyJEEbQ3PJzvJF5Mq8L0QePZSbOzLk3326PGhQvy6fsmJZQi4MdQx55hUfI4jcKAlKw6z5w4MylqK7 - 4LMHSKFXJiYmzkaGxecRp84q5rnrRlFMltL4LLpVZn2svzSQsAJag5a56q0SMFUpQpisKxk3CVUPVkm1 - cxtuy324zFfPVzIC80l6AD6zJicJJkhPuNEB9ZAEIZslNA0gM1H8rlkgy4mspTUNIKQuN6nCXrNCADS7 - UVohIGqx0ORGjyAWUlvdrTObOtufDQ0N3YDxmKfUuHGjbZ9OmSK7Dh6Wkxcvyj0M/JOb1+Rg3zTZGu4g - e1JC5XDVWLkxdzreEbmybJF82rbJmZTKVZm5MmtlqGPIQ+efDdFsibCwvUbg9OIzBnC7/MYlXnL5BOJt - 6hPHRgauvRRqnaldAWCcIUhmfmptkq6MVmmGCaskTNZtLMQJkys9ykIVWL1UO7fhttynKiZCLS/JCMgr - 6b6wMl7o5RX6LlxQr4k4ioQoHv3RL26bLFBbWtMBVDUhSwpaIJOZKxCzUSYzWl2orBAAaYWHCRGva1yt - M1PcnI+ifOCTUhrAMmXKLBo5duyFnfsPyYWr1+TOPSL8z8+V+VPlSO1EOZtWS840qiDX5k0WuXZJNvZr - J93qVf8Sx2AtyVDHkAdrMIb4VEyEK5jGeGcET4m1j5eX1xbeLIx9uND7LjSyXWyJ2ScK2zyQaBwaBbOW - 8XHGc+bThTFO0qXpYaqMkUArm4DS3Wo1JgVAfxDaq5q25STgvtULSIZfHkDEZ1ViZoy2jikiPSrDDSOW - Iu6Zs9BSrAWzrhOaAZpcKC1QZaPmKxUEqNyoKilMcZAWeAhZObXU0TqzSAH3A3SjGI955cqVWzhr0cJr - +0+ckkvXbwDgXQz5f34ePHwo9/H6+w9r5FKbOnKsZowcqBQm11cslNOjusu41vXP4ThcFKCB0dDgzowh - PpWdwjV2dnZ23mIEj+Kja46OjgcCAwO/TE5O5uUWrkQwNe5fsUzimD2FclxnXNEuqGogMeM58zWrBEiz - i4Vlsk8KprJODr4CyvipverFNm4D8ITPfRhvq7lKBgCmFwSoCpgkPF5bxMKusMY6iKUoHTSAzELxux6g - fm3UHAcBUFvkVm7UBNBcUuis8CAA/orMfKad7cOCHh77SpcuvaRChQqLPpo46eqWn3bJbzduyuPMJxhu - 009mFsBrAHv4xGn54ZeDcmLuZDlRrZjsiswvh9qVlxND2shnaXUeY1y5OsZQx5D3TIh/qBNjY2P7w12m - A9htWiUFF3ofSc8NANzv7e29ElbIpSTeR8LVBorF6sDvQvMfpitiup4ZSZCIkRw4zb1igGmVhEmrZIzS - LBNi/7juSqis4zQrBRwj8T1uw225D/et5CgZAJjujc8pR/cNkGkxSGqS4XYRQwFNi38AqFwo4ZljoCmR - 0ZbWCJBulFbIZIZu1ARQFfa0QgKkBR5EabGrgJW87ZD7ekBAwLZ69eot+WLmrCvb9/4q5y5flXv3aW8g - h5/Hj59kAbx2XY4ePyVbf9wpi776VsbPWCCH3ushO3D8HakFZFvFCPm4WcNHGFN+Awm/B+i5lmi4YoPZ - 1BtZ53RkoD8A6A43N7dtnp6e69DJ+QD4DrZhCsxH3Pg9Lrw9g767+7QiBdbxEg0H6gkGiq+aFRCmZpV0 - sYSJ+KQskzFTK0kUUABQ5ckfpN4zbUtxMpTPD4g5ABGfkUT3jeM159JcPCwX7hewtD6xjChpbQaortYr - C+QDMuZ6EC5ULa2p9VFaod6N8r4avm52spIW3gVOlq9ec/PITyZe3XXwkNy4c1fuP3yEYTb9ZGbKQwC8 - ePmKHD56XDZuzpDlq9bIzLmLZMS4SbJqzQ+yt3q4rCqQQxZ4Oco7zZsfxphyrZqPE/KKB07WACKFN43W - Tvk8eau4uLj+8PEfIIkZU6pUqSFwoVz4ZurLGoaL5Fy4jYP4qFu7HiXDppwIss7kIPG+FM54DhwzwEwk - EpqLVZbJeEnrVAkQ46YeqrLWp2Rq5zbcVisXsG9KHsnwzCbpnjh+IkDymI2KSWazSMks6ypPAEpzn+jT - gwhrDR5joEpiVAzUL6s9tcBtSmS0bBQQCe4AAP5a0Er2wgo3FPZ80i+t1aleHVrdHti+mQweOkx+2ncA - w5v1k2kCePXaNTl0+Jjs2btfli5fJRM+nSKfTpklU+cskmXbf5aT36+U2UA0Njb2cYuWaUwYuYbNb60i - G5z4MyBS2MDyKgYTHcuvxeRVDP3XPdLE9d9t1qx2QtywXUE5rnJWZw1Y1iuXsjSYZss0wVTWGWeCSRFK - AuAQLJfFaLFm8T3KtK125QEqk1MyvGwk3QMTJZ6xOKdk1guVJw2LyuMkR3kMYJr1Ad694tZm69PKCIjw - lAVaJjK8zKTKCXMcJEDEwb3uVrKvmKes7NrlzsdjWzxcMTVIVv7LRyZ1DZeuDarKvz6fKfcfZ7nSq3Ch - R46fkPUbNsvX366Q1bC8SV/MkC9mLpB/f7tatv16RE4dOy0L27aWttVrrMJ48uvVyICL4rw8iFn/HIgU - NtJfT6T5cmf9F9TS8pgAqS9eZSzllWr1dFSdsqmpPRYVdtzNmazumObA8eo4k4g/wNSs0xQ3CdQMlUKf - aa2WUu+r7blv6Wyy1cNa0jGofAztCTLQx7xzu26oPCptJw8ATMtAodvFrLWlNHMdCBGeSmJUKWFOZAwA - 7ocF/oLPOhpRQPYO7CefjWmSuXpOQdmy0EO2fYOJc3OUnNzUTPrXDpXevQajvLghFy5dloxtO2T56rXy - wYefyOQZ82TmgiWyZNn3sn33r3L42Ck5eOSYzF68+FpS2VReh3zmt2uYoRmJG0K8ss+dCJNmzIOor4pW - 8BhH1e0bvAbGeMqHTtsNKeq/mAvCzPbosjhwjD+0BDNMiDHzaaA6qLRUgNAAPSW2U9iG21JMoAAuA24t - gxBR4jyMyiaPagTJw5rBcj8mj9wFMFpfVgJjbV6JIUCVxGgADSxQS2QAT8VButG9Hvi7pJccGNBbpoxr - IqvmEqCXbP2quNy+NEYeXXlLHl+qIw9P1JbRLUOlYb3m8tWKNbC+DfLF9NkyZdZ8+dfUuTLvy69ly47d - cuTEOTl1+owsX75CunTusgDjSM/HsMbbOsgBbuc/nMy/PE/YiTD/9Evb8cr7T7nSTtfKLKpJ9fjY4RsD - cl7hSgddFkWYTOM1ASpdrJIZqIJqAquJ2aReqt1k0RT3J7gtblliJnqvpK08qBog96oFyJ2onFrco+UR - nv6KBOExEVOXlrQsVMVAiBaoB0gLZAw8FOklvw7uJdM/biErZ7pL+iJv2bq0pNy68AEA9pObR6vIzWO1 - 5dHlBiIX68nH7cMluUwFeee9sTJz/pcyedYC+RpQf0J5sf/gYTl15qysXLFKevXqvRRjyGyfOQdDFsMb - vaPZCinzL29K+ADeUsAPY5LDe1C7TCvkspWDcRMDxoEjSFomrYEiSLOr1QHlArQS4RhJv42q8/godjoA - biZEtN2JyCZ3K/rKnUp+cqtENg0cXWeW9VkLr86bSwgTQJWF6mPgU5koAO7D8Y9Eesv+t/vJjPENZeVs - b9k4z1O2fl1Sbl8YKQ8v9wbAanLreB2oLkDWlfvnG8jDk3VkWOMiklqhtkyf/xUArpXtu36VA4ePy/Ub - v8sPP2zgfx/4FmPH4l59Ma7hFQzqqT/ehPAhtEbe7EPT50+r7iXDPt/ja/OAs50DR5C0BFoEgSqYmoWa - YCppbvcFRBfN7bk/61IC3OwK0Gi/FWErt8p6y61yXnIDMZCWp5KXK2HWcgn9Ijy9+2T80y4tEZ4+BkKa - BcJVH4/ygQX2lenjG8mqWV7yw2w3yfh3cblzcXQWwGPVIQLMgqgJIB+cry+Xd1aXJgmh8u5Hk+Xo6Yta - /Dt+4oR89/33MmjQoGUYNz3AZ15LpP7Q8CaED9Mv39VPTU3tvTQw/2EOiho8wqQ1MBtkYqFcLeMUpcDe - ARTG0eeJ27A84Pa3ICZMBLjJBYDx3o2itnIzxUN+L+OmfTYnk0petOwT4NRiNq9IqMtKmgsFPAVQxcB9 - jIHRAPh2X5n6YQNZOcNdNsz1kHQCRAx8eLmP3Dic5UKzINZ+CuT9M43k6v4KMuOtgtI1raP8fPSMnL9w - UdauXSc9e/bkMt0LA6QMG19X+EDGT/X1mlqC06N48Oyf/WweaXHHNIgcTELVFpdNUOnqaKVKylqfK932 - tHJa5EYA/MEZkPH+1XAbuQGA1+KdNZdJaYvYJoCMferKvFoLVe7zKOAdNsFTMfBwtJ/sG9IPMbCBrJjp - IpvmAeBXkXL74gfy4FJPuX6oItxoLai2/A4RJIES5P0zDeX0jvIAHiSbpnvLoKYJMv/Lb5GpbpOBAwey - lHgpgJRh4+sKH8pESCU4rCMbJyUlDVjsn+84Z7iKP0wi+LuCqWS2Uh1YLQkxksW2zDDpljcA4HqIgK8U - sZWr8S5yJdpeg0Z4XH0xxz6T9akERrlPLf5BGkBTHXi0VIAGcObHdWTFDA9ZP8sNQAAQMfDBRQKsAnC1 - NN04QpD8nQBry4OzjeTsT+Vk44Jg+WGev2xb7C2TB8XJ+LGfytDhI1ZjnF4aIGXY+CaED2e5wZKEtSVv - c+zavlihBT8VtH7CwVMpPF8VTFqnZqE6oBpUE9hnSb8tkxRaJ61wHUTQl0Jt5HKMo1wqkScr6zTBU7GP - 8DT3abJAc/yDBaoFbdaBx2ICZO87BFgPAAvImunOsmVJBCxwNAB2l2uHqsoNE8Drh2sCYk0NIEULPLuz - vGxYECjr5/jLlsUBsnm+t3w8rMbjtu36vlQMtJRh45sQOsDlO67BckGA96t2TE5Ofm9qoNN+xplztAYM - ImOR5tYAkkCpywCp3K4ZLtoJ6A8yTQAlusnf0b7OKUsEez7ERi5FOcj5sOxZ4CDN8iB1FUKzPoDTltFM - AGmBaintSGyA/DJkALLQmrJ8moOsm+EGgCUQA8fKfQI8WEmzPOraoRoawOuHs/6+d7qBnIEFbpibBXDj - giDZsshHJn9Y8XGzpg15d9srA6QMG9+E0AkuErDUYMe4PMfvthlWqWjY19952Dy+jAHkgFK0CiYVykrM - YE0imOdJvy3dJd3zWkcrWQPxGfozha3lXER+OVPI5g9WR3gEpyUuJnhcyCa8fbDAn2GBh+ICZc9QlBEf - VZMV011l/Uy6UJQRF0fJ/Qtd5eqv5U2WB4AHqsOlEmCWJd49VV9O/wiA8wJl7Sxf2TA/QLYs9JVp4ys+ - SUtrNgtj8loAKcPG1xU7YeoMYyKX6HgPZQ8+cJkzZ87rlfJYZx7DIJ03WQNdGvUsqBrYZ0i/DcV9mXES - 4HcOWVBPB1vL6bBccjLI+j9FO8CpuMfEhZmn5jqV9XkBIMqUo3HBANhfZk+oJd9OdZXvpzjJFsRAFvL3 - zneR3/ZXAjBY3qFa8tuBagBYQ1MWwAZIYsrJ+rkBsmamr2ya7weAPjJlbPyTtq2b8+tRXhsgZdj4OkIn - mNRwVUFZIS9NtQ4MDJxta2t7V11QHo1BvowBPAl4tAyKQOnmNKiAQSmwfya1Pfcn3O9x/O8BkVBPBtnI - CcjsNhU8nfXRdTL71AM8El9Ydr0zQGZ9XFOWTXORVZPtNRd669JouXvuPwCvwep+219Nc6NXD1bXXrMs - sKwGcO0sH9k4z082LfBASZL6pHXrFm8MIGXY+DpCR+hGub7Hqx+8g7lJSEjIRD1AytHGShajDDiJAVT1 - GF8pBVWBfRGpycD9CXU1AK6CWPepUoFuU2WcGjjI7DoJD/oFAHcD4OH4QrJrSH/EwGqybIqDZoGbl8CF - IgbeOdtJrsCFXjsIqwPEy79Wkatwo4T328FqcvtEPTn1Y6oW/9YA4A9zCdALxyqb2a5tc95v88YAUoaN - ryp0hFbIxXIukrPQrxMdHT3I6AZk3mAVaZ/30nrPbPdoEaqopjjommA1tJ4XEbdVLpJxb7W9layEmLgQ - mnKX+pin4t4vjH2AtwdF/C7EwAOJofIT68BxKbJ8qrN8N5UuNFqzwDtnO8rlvala7CPEy/sqa1Z4Fa6U - AO8A4MntqbJutp98P8MbIP1ghV4y86PEzE4dWy7EmLxRgJRh46sKnVFFPq8psqOt3d3d11gCzJYt233e - 5ujj47O9ta/7Lzu4iIzBJUwlWoySgvssKQujuC+TlpV2VrICEDk56Co1d6m3OhO8X7ysZQ9ed6MPO10B - OTlCtg3tDRdaQb75wklWfGYPC4xCDBwlt88QYHkNGN3mpb1ZALMgVocF1pVTALgWAFejkF8/l27UEwDj - Mrt2asW71fgPUPgcJx9heyMAKcPGVxU6pF9uqxcVFTUUwG7pAVpbW/PfLZwqWLDgVrw/PzExccogf7c9 - 2zCIvDanLW1BfDXLBOdZ0m9LS6NF0gpX5s8Ca7Y6HTxanmZ9ntayExb4EwAeSC4uPw4bLDPHJsvSL+zl - 23/ll81fciVmjNw60wEAK2iwqAs/V4QbrQq3SlWR28frykm40HWzfeW7ad6ybk5B2TDHTWaOT5DOndK+ - xnjwAVOWWqybOUZvBCBl2PgqQof+sPDt4eGx3AJgZu7cuX/z9PT8sUSJEvx/vWOgDwBy/AA/l52b3awz - WVjTYphkaK9KgGMkZWFKzC4JfTkscVm+LKiaxREcxC8J2g3t8szSTrjPHxED95eLkm3vDpLpo2Pl28mO - mgVu4krM5bFy61R7ufhLWWSfVSEA3AOA+6poEBkPbx2rLSe2JWslxHfTvbLi4JwCsMD4xx3bN1mJc+SX - 1TJDZ6bOjJ2PeL8RgJRh46sInVJf0MeZxktQXfmv5fQQbWxsHjo7O+8vXLgwvxaE96gOgHpDfRMSEkb0 - 8nVLX+tm84jJBa2G8YqWQ/F3I6n3lQjrAPZdDoDfwhJpgbsBi+Kt9ZrVUbB8wtuO5Gpf+WjJGN5XZn2Y - JN98bicrP3OQ9CWIgagDbwLghT0pmsXRbZ7bU0Euwo0SHuMhl9VObk9GCeEjq6Z4aq8/zHGX2R9HS8/u - bXfh3HgnIO/+Y5bOx9S4AJLLaAxfVYaNLyt0inUhrZCPKjMjbV6qVKn3LTNS/q8MWOHWmJgY/m8lPqxK - F8M75Xjhsx1ADmrn57H2Gzfb+7sx0BoUk9t7EdHKKML9FhCX5s06BsE9BQ8iPGpv+RjJeO9tmTkuQZbC - +r6ZmA8xEABRB9461VYuwAIv74PL3F9Vzu0uL5d+qQS3SoBV5OZxWODWZCQwPrJysgcAwoXOdpP5n0TL - sCFvPUkoU259UlLSCJ4bxFjIXMHdaAxfR4aNLyN0ihkpYyEDNZ/lpxV2RmE/H+7zqX+xY29vz/8bsTwl - JYW3OfLEeOMVb/7hlWve8tgcJ923VpDv1zNcc1zfCkvRwChLMr0aSblHWhuBfgOAFPdl4kRwP8J1boe2 - Iv5lOANghQRJH/G2zBgdJV9/ZidfTciNGEgLHCO/n2yDuFcuy+JghWd3ldfi4EVApLg+SheqAH7PRGam - gyycFCnDhw2Q2LgymQUKePwYGxvLh2F4VyDjITNS3tLy1O0VryvDxpcROwSpjJRAeIPrAFjcU/8UjEDp - SsPDw1no8sYfWiB/6H65vsqbq7h/Y35jfUxY6NQhBeyOrHGxfsK4ZWlN2quFdkCERZi0Qort27A/xUmR - DuvbAoB7KiXIpmH9ZMaoKFignWaBmwDw9qVx8vuJNDm/O0XLPgnxzM6ych5x8ALg8ZVLascBcA0BTvFA - HATAWa6yaFIUAPaTuPhk7ZyRwPGLa/m/svgf2XhrJ7/+JBjifUl/j5iIjqi6kDdO8S64erCynrzJGFnp - HT1EPgLn5ub2MzJSPrPBOMgbjHmZiosC3J+3OzJm0B1r/28fNeaoWj5e6z5xzXVlIwZ+GyxoB2BoloVX - ZVmUAkXx/a/yWMm/Ib6Xjv22UE68WGwjv9QpLxkfvidLZzRAHegqSz/JCwssBQscLTeOt5SzO8sAYCW5 - BJd5+icA3F1Bs8ILP1eQG0dqyPGtSZrlLf+igKxmJjoDLnRCURk+pI+UTihnPmdO3Lx5854tWrQo/3cU - PQ/XkFV2anirxavIsPFFhU7wJimuzvB2Rq0udHJyytDD04u3/hcqVGgJtqMl8g4u3kzF73FhsOdxeOmK - x+KM5TdJtIJ77V88LGxmS0+XnZ8757ixyhEWBWvSkhJIWZgmgCIwtn2ZO0ts34ztN2ESbELGujs1StZP - GCVffd5U0uclyQ8zisrWpQly8/x7AJgm53alZLlMWOGpHamIgxXkPABSN2CBxwCQJcTyz9wB0FPWznCR - BQQ47K3MhIRUw/Pmv+YtVqwY3SrrRHob3vT0h4dFX1WGjS8qUyfUNcPaiIOfsIwwOhElzMzTkZGR/Bd1 - +ptheUJcb6VV85ZH3stK98q7AprCvXZDbHkfWe2Cep5uP37olOu3uQ62D7jIvRVwCDWDAPFKiATH7JQl - Btt5m8ZGB/6eTXZ07SjzxjaRBf0c5N8988qyoT7y27HRcvtcZwBM1gDSjZ78MQVutBxiYQUtodFcqAaw - oCz7zE1WT/WU76c6ycJPwmTYOz0eJpQpC29ja3jOFLxQelxcHL+QiB6Ik1e51ZxGY/syMmx8UaEDTGi4 - xMb6pwliwE6jE9CLZQYK/eWwMNZOTIK4esGJwGPxGqT6pyk8LhMBPg/C781pDZi94uPjRyCuTo3281nd - xN1pX1/73BfH2+e4scjB9v639jaP16LIpzYB2gZoLcqM72CBX+a2ebTIr8CdJSOG350yJEEW9rGXhT0d - 5acv68qBLW0ArJ78drAWss+KWsnAOMhk5sxOrpFWl6MZZUwW6KaVEt9Pc5d5H4U87ter1cn4hHL3kIkb - nq8S3WpYWNhknAPLDSY5qtzIazS2LyPDxhcVOkC/zljG2NYcJcRpoxPQi7HRxcXlR8Q7PsfIYM/VHcYI - 8wMi+J1umisahKseI6C7ZsHMx7s6083iGKMJNDQw8Os4b89Nie4uuyq7OB6o6uxwpLaT/fFaTnYnKjk5 - nCjn7Hg8ytn5cIXouL0jhva4OLlfmMzpbidL3wuXI1t7yYZZJWXb4kS5crCtnNldWU7vSNEAnt1VVq4e - rJYFcKq3fPMvV1mBTHT1VDeZPS5Ienapv7FEycT12bNnMzxXvXgJzs/P75vk5GQmOZyUzORZV5ufqXhV - GTa+qNABBZExrBl8/5/+w2hTwb8rIiKCqzWGT/mYjm35GAGzX8KkZTJBoFuiS+YXJPHbrN5FbToGrvoT - HHsyssIZiEPzoAX4exGAL0qpUf/rUYMbX5ncw0emdXWTrYsbys7lteWH6cUQGyMBMkXO/9JMLu+vBRcK - gIeqyTEAXAnX+c0kF1nBRGaKi8z5KFi6d6q3GZ/9SUhIyDKj87RUnjx5Lvr6+q5kX7EfJyPDxd8Color - ZWb6Qt+2gaz1LrLXLXy6Cvvw4Rzu+5Ql6o7P7Fc9RsAyhttxQYElCeHzh0A5KCxZ+BVbHaBucFt9ocH4 - fTjECTOxXsOmCycMrvn40w6OMv+dYnJgc3sALC4b55SSjIVRsmleCUlfGI/kpbZcP1oXrwla7Fs6yRmZ - KNzoZCeZMy5YunWovg7HG8ZjI85NgpX96XcboEY+EhgYuBjZO8MI7znizdW85prP8rxfVoaNLyp2AGLx - ythVA7OfC943jE5CibHBx8dneenSpTkjDR/VshTeUzBp+YyX/EyWJVynZWzhrKY3oJUyGWKs5QThihC/ - opKLC2M7tm+65qM+CTKupb1s/bq5bF+SKJvnRcnmudGSvgCv86Jl4+wo2bIgRrbNj5U10wPk64mOsuxz - dxT0sMAPg6RXl1rf4VgEwQKe///pLcT4FZYLG3rx69KQ2GzH+PDxtGc+3fSqMmx8UbEDkH65rSlm27Ts - 2bP/4b+a4iQfA+A5PqCKODYR2zK2vfTJYDsutOuBMjngahHdOvvBe105y5kB0kqZ1jMOvTfkrVYHR7Qs - KHPejZNdy+sAXiRUSoO3eX60bFkYK5vmRMmqMf6ypI+zrBofJN/PCkAy4yizx/hIny41eVshrZ11rPqi - Qv6Ds94eHh7fW543QscjulF4qN3I3PmPv3pi+1f+38HPkmHjiwod4JPFjFu0JGaZfLi0DTo8w8HBYS+/ - +w26CnjnHR0dD+FENyOGTCtTpgxnMq3wtU4G+yigqjxhyq7cLmMoQXKgu1SqUu29DwY1vT28iYdsnF9H - di4tg4QGEOfAChfFAGIpWfVJUVk00FsW93WTr/o5y+pRQfLTqvIyf3yw9O1akzf2ckLwHGn1tH66dFp+ - E8S63kFBQXMQ73fCdR6m+8Q5/4rQsQml0Qx4nr7YjnH8mU83vaoMG19G6AgTEA4eL7EwvtXCzOyABIP/ - a3iev7//MmRly/D7AsTBsThZfh8LZzIH+I2eDIVjqSed6W450Npabts2Tae+2yUhc9qQGNm5rAosLkK2 - ANz2JbGyblqkLBgSJNO6e8qc3p6oIT1lcR8XWTs6QNK/bSP9etZVN/ZyEZtWzjqWk4+1HicvfxrgvDsh - gRpRpEiRzwBuFksKjMP7OGe6XWbidPfPfLrpVWXY+LJCZ/T/a5hf8cjVlpZILLoipe5HmQI6XSgtkABp - KYxtb+xklHA8LkLQxRIi3Vf3Ll0672jboBxiW6rsXBIp6fNjZOuCUrJkbLhM6uwnkzp4y5TuBWVmTw+Z - 39tRFva2kyUjImT8uLeWY3/9LRW0crpx5gOcvPwcunCeE8+bGTdrWvVdpvyb7Xyf29FrcZK9kSU3yrDx - ZYUOMfHgwNGVcRmNg8crE7QCWp2KIYyBdKG0QALUCnyjY76qcDz2hRddaS187Lxpo4YNR6Y1b3O7cZO2 - MmbUQNm8IEnWTA6XiT0KyUjEyHFtvQHSSz7r6iWf9ykinw0uJ5OGN7k5uGcjPl7GrNfynhgtfvMVohvn - ufC8aaV0tfzhPvzh32zn+9yOAN/Y4jdl2PgqQscYnwhSPfLNIp2d52Ph6ksZmMTwPVotLfCNngyFY9Ir - cLDUnecd2rdtv6F1y1Yy4oPR0rXf+5LWpLIMaeEvw1oGy+iO4TKuV/yTcYNq3R07rP3ZQf3ab0hr1WxS - 9brN1CI9J6Me4FN95t8Qz5vWSStTCRbPla/8m+18n9u98XM2bHxVoYP6uo6g6Pt58hR/Zxvf4zZv1IVS - PKbp+IyHdOsN69at83b37j2vDh85SnoPeEeqVqst5SrWkoFdqj8Y0b/B+SGDu+7p2aPr4gYNGvLiLf/r - Nr+Phy6Q1zfVl0qwKH/mPTFoZ4JHq+TE5HYExsnMV/7Ndr7/2ovdRjJsfF2hsxxM9Xg4T4Di72x74/CU - cGyVZNF1seRp1q17968+GDtOuvcZKE2atpQWLVvd7dSp09YOnTpPKVeuHDNGfhc3azfWlXT/dPl0gbQ+ - 9aUSL+wCsR3Pnf3gufL1LztfJcPGf6owYLRw8z9aqVWzZseh7w6/OPCdYdKrV5/f27VrtzatZUteQWG2 - SHB0l6wl+UPLZabJMEAXSM/BCfGXuMA3KcPGf6ow2IRIF0YLSqhTp27Xfv0H3OrVp893cKu8KYsXZukq - aXGMdazzGDsJnS6Y4DgJ6AIJ7y9zgW9Sho3/VGHA6b4YExnDCIculZbGsobZMQtzpvpMstQdBXSXBE+X - yaQom9Gx/84ybPynCgCYYPDWSUJhFswMkS6Sl30IjnUaC3Rmi7Q4gqP1/uPA6WXY+E8WgUAsxFkrcl2V - VsnsmOBYx9JVEvQ/Gpxeho3/dAGQSvkJ838tO/5vybDx//VPklj9D4VgkKnRL+shAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAAHEAAABsCAYAAABdNl2VAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAEMmSURB + VHhe7Z0FdBXXvsYjuMSFCPFAEgIEkhAhIYK7uwV3h2ItUGgp1lIKt4K7ldvSoi1SLAFKkRaKu0uR4pr/ + +77J2ecOpwPF+m771sta3zrJPjNz9uzf/tuemRMrEfl//cNl2Pj/+mfJsPGfqLJly2aDckN2kINO/Jvt + 2Yz2+78gw8Z/ggjFBIeQnCA3yAvyhfyhANMr/2a7O+QCOUL/p8AaNv5dhUG3NQ0+LcwV8oT8oGCoCFQC + ioHiodKmV/5dEioKhUCBEMFyXx6Dx/pHAzVs/LsJA0x4eSBanAdECyOQ4hAhJUEVoBpQfagx1NT0yr9r + QpWgVCgBKgVx31CIFkugtFJ7KCdkY9SPv6sMG/8uwmAqeM4QXWIQVAyKhQikGkRILaB2UNeUlJS+ZcqU + GQS9zdekpKS30N4N6gC1hgi3HsR9+UNrjYAKQ7RQumW62xxGffo7yrDxvy0MoHKbtDxaCd0lB5pWRIsi + uDSoU2xs7LsRERGfhYaGflO4cOEt0N6QkJCj+PsYXwsVKnQoKChoR3Bw8NrQkJBFEcWLT4qPi3+H+0Kt + oIYQgaZA0RCtsyBEy+QEsjXq499Jho3/TWHQckC0BCYijF90e4lQVagR1C4xIWFIkSJFvgoICNgbFhp6 + tWTJkhITEyMJCQkCyxNsI7BI7ffSpUtLVFSUALSEhoVJUGDgYz9f34s+Pj67AfyrUjExI7A9gdKaa0O0 + 8EioEETXTRf7t7ZKw8b/ljBYjEe0PlpCGBQH0fIIr318XNyosLCwLQQXC2jlypWTWrVqSYMGDaRRo0bS + sGFDqV+/vtSpU0dq1Kwp1atXl6pVq0qVKlWkYsWKkpqaKomJiRrwokWLSqC/v3h7eV0D1B3FihX7HOC7 + 43OaQ7RMWj2TIbrYv7VVGjb+b4uDYxokZotMWphl0iLqQm2io6NHwz3+WDS8yJ1kWFdDQGvRooWmps2a + aQAJr27duhrUGjVqSLVq1TR4lSpVkgoVKmjWSYjJycmw0GRBvJS42FiJjIyUwoUKiZen58OC3t77w8PD + J2Fbxk+62fJQFER3Tqv8W8ZKw8b/TXFQTIPDQaILY+ZI62uaWKZMX8SxleGhofdS4R5bAlq7du2kVatW + WQCbNpXGjRubLZAQa9euLTVhhZYQabWESBdLa6SbjYuLE8RUzTLpkgsHBYpHgQL3AHNjdHSpIehDS4hW + yXKFJYw3xJLkbwXSsPFFhBOh9eSC8kOMGzw5vuaDXihNxzYEyP04OBwkujCWCa0wiBNCCgWfKo1BbgJQ + Xbt2lfbt20vr1q0lLS1Ng9gMVvg8iHSllhBpibRCBZEAYelSEhbJ2Fk0PFwAUdxcXS4GFwqai760h5jN + MvFhfPaB6PL/FCS2sYE4FhwTjg0XGqiXGqc/k2Hj84QPVZkjO8Pkg/FLrZCw8CYQusXnuh6+B3EwOCgc + HA4Ss84ORYsXX1Y8vMi9qpUqShtAI7w2bdpoVsjXvwQiLLFEiRJaAlSsaDEJDAwASOdHnp6eGdiuP/rF + mrMcRFfPOPlckHwP4gRnPGV5xLFhokbxd7bxPW7zWpZt2Pgs8cMglTkSHK2HMYMJCOst1m9cHWEh/sw0 + HX8rgBwMDgoHp3GZpOTeRcLCtpXCYNarW0dzmy0BLK1lS80CKa0Nfzdv3vwvgYgERxAXNTFWFnB1FVdX + 11/x3vvoYzOIiwrPBck2iB6GoBgiWB5xbOhpKP7ONr7HbV7LRRs2Ggkfkh2iG+CHspZiRxj4mZYze+RM + bQDRHdKqCJPFeQGIsy276TjqBGmBHAweo2lCmaRBqOsOJMZGS9NGDaUZIDHmERahKemt0CgmPiuxeVZM + fBZEJFJaSVIoOFjc3dzE0dHxFDLaD9FXZq/PBMnfTW08Py5MsDxiXOXYcBJQ/J1tfI/bvLCLNpJho6Vw + cPp2gmDyQesrA9WC0nDiw3x9fed6e3t/GRgYOBmD0wvtXBWpAtFCaZUEyQmgANLlsvO0wKbxCYnDwkIK + n0wuHSeNAKQRwDDjbNKkiQaLIAmO4u8UAfJ9bscSo169elpp8bzsVNWOeoilSpXSYiEhaq5UBxF1pBSC + NQYHBUkBd3ext7e/iPr0YxzLCCRDDHME/s42Whp/GuAz+hYsWHAeLHqtu7v7quDg4E/Rl458L2sTbVuC + 5Nhok/1lZNhoKRyYAZhxjuZPd1AXg9HVzc1tTfbs2W9Y4TCUtbX149y5c59BJ6dgmzYQQTOzI0haMI9B + N8uJQGttXDqxzNthYSEnUuNjpGG9+oBRX7MqWpcCSWCEqayPbbRAS4DKlar6sHLlylp9WL58ec0KCZGu + lIsC8fHxWmZqCZH1I0CZIeJcJAgQAwMCxdXFBSDtzmGbsei7HiRjHJfr1PlxgvKnsZ+f35QcOXJcUWNE + 2djYPMSE2FO8eHG66CYQJzP34eRmuHqpetSw0VKmA3OmMP7VwIB0gHvZru+YXra2trcDAgLmYjtmdlx8 + pkWyeOckCIfoRuonJaf0QuG+LzG2lNQlBIgwCIVwFEgCsxTf4zb6WPhnrlTFQ0KkFRIiXSlrRbpSDKoh + RHgY8ffzF3gccXJyFAd7+6OArmKkSnZYSzJp4flxQb4B4E8iMKMxovLkyXMCnz0M2zIcJUMMU8w3chtx + eJYMG/XCAZmNcgGanaQbbYqTmQOryzTqmBItEm5pArbn+iRdKxMf1oA8BsG2L1IkbEtMZITUrFEdg19T + syLCIBSCJCAF01J8j9vo3eizrBCfpVkhIRrFQyOIiM8aRFohJqTAojSICBtily+fODs57cH+XINlLsC4 + zqspnOT0VLUxWbrlzJnznNHYKGEMn8C9rkefGILqQMwzmDAy839hazRs1AsHoyulq6ALrAi1oysw6pRe + 7CDS87UYsIHYh66nOkSY7GwbuK7FxYoUyayCMqJqtepSHdZDK1IgCUYPUy8FT2+B3M/SCvUQCVAfD1WR + ryDSlRIi42EYEhpCZDxUEAkQcU2Th0cBWlFmgQIFNuB4fXB8ukSu7dK98jxbYiJM+LOJTuE4Z/G547EP + F/Rp1fRYHO+cRjyMZNioFw7GEoEJDWu5qhiMrnnz5j1m1CFLOTs778YAsYO8FMTVDy4yt0c8GhsaEnKb + y1+VTQNO6yEAWhKBEAwBKaBGUgAJT79Oqtyo3gqNslLGwxdypf7+4uPjowHExIS8eG6SK1euuwA8H5/R + 1XRutEpO2G5oX2g0JpaCtV7DZJmHPvIYnAB0zbxyk9eIh5EMG/XCwZh1MbvkYnBlfFinfPnyHTLqkKVw + onsxQExyBkE9TeofElJ4f6noKKkAS+Fgc9Dp/vQglVUSkh6oAsf39NanAOrdqGUsJER9QvO8eKhlpYCo + XCkh0pUSIixQ4AYlf/78ggl9BvGRYaM3RBCcsANh0TONxsRSmAi/wdq/xCSjS2W5xisoTHDyGfEwkmGj + XjgY3SmLdmaYXJRuCTgbjTqkV7Zs2e4ie92DzG869mESMBQaVrJEySUo6LXB5SBTHHQFkiAIhCCVFDA9 + OGV9yn1yX0pZIY+Lz3vKCp+XlarSwsiVEiKtkBA9PDw0gDg3zRpz5MqVib+34vij8XmMkW9D7+GzJgHQ + U1mppRhy7OzsjtESMR5dsN9fZolMbFi/MOAy8NbFrH0PpcV1o45RyMgeo3NnEEe24GSmYh+61HFJSamf + uISFX4iOizUPsILJgVcwCUXBJCQj8T299XE/fQxUx9dnpJYJjR4grVBfHxKgcqUqHnp5eZkhstxwgmiN + KCFuAPy/cS7j8LmEyUWBidh/HUEZjRFFK+QEQB8+wvZ/XUykcEDlUpnc8INaoIPT0flrRp0DxEeYpUcA + +xts+wX0L2jS2JjA9cO87aVCRKRgNmgDzIHGexpIAtDDVECVhSrprU7BU9ZHKRdKC1QAlQXqkxk9RLrR + Z1mhpSvVrBAAc0GpOXLLrHxW0sXPeT8myEyeJ/QpNBnueL1RckOwyN6vYIx+wTbz0Vdex/zrslOKB4S4 + 4sJakT6bmVhbzNhpTk5OPyM4X7XsKGYZA/Z6bDcNmlIrJWnGxdh8V8+G5JGu+Z0lBoOcYBpoDji2McMk + EAVTD1QPTYnbqfjH/Z8FUNWFejf6IgmNoRW6ukpeAHTPby8TbW3kZoCVrPfLdqdUaOE16MNUTMwZPHd4 + q9v6MSE85BMXUGMfxnG2Y6IsRN+4uP7X1olKODCXzBgbuR7K4r02BqwjBmUUOrwEVvm7vsMU4uI9zNr9 + mOnLZ5Tw2iVl7eVh65Ky3C6bVPMPlmgMOgc6CYOurJIQcGwzGL5aSg9OD08B5DEpfTb6rGTmebFQZaXK + ChVEZ0DMg3jYxiaH/OpuJY9LWslRfyvp4e14AvulOzg4nDSyQIzRTey/B5PkW/RhAvrI8oQZLX/+2hUb + JRyc5QZnCpMcraiFeJfZAMzUdZadVnK0tZJ9ha0zpWGwSLcYuV4zRCbkzCllokpJHK+yY7CVRSqQCial + YOmhKXE7Fft4DEolMQSo3CjhUZbJjGVGqnejlq7UnVkpAOaEKuXII2vhRu9HWMmdolZyN8RKlrlZiYON + 8RjY2to+BNxjmBir0T8mesxiaYH8IUAu1/11a6dK+AC6VS6EMz4SJFdhmFG1RscGw03sNjqBdvZW8ijZ + XqRVBFRCpEdp2VfSQwbkzS8xdHcY9ES8alZpgqmA8lVBVVLt6lVveZbWp2Ig4VlaoKUbtYT4h7ICsTAH + VDJffpmfzUpuhVnJA0D8PRy/Q9cCraR53j+eP5fekACdwnE2oR9cQGcpwsVvrh+zdFMA/7qrGHrhg3j7 + vALJpTgupXElpiUGbCjiRQZm3T3zCUArfLFrA38ALCkCdyodYkS6lJYNnvmlk5OLlASMWECk9VAEocAo + 6zKSHp6yPEuAKgZaJjIKoKUbfV4szAWQhe0cZJKNtVwNxjnBjd4ulgXxBvQw1Ermu1hJbuusc6dLpQuF + BR4lQEyeTzEJmcTQAhVAutBXBkgZNv6Z8IG0SHVjE6/oM9nhfTEtMIiDMZO/wsw7wVqxdG6bxw9icok0 + L5JlhYTYvpRI9wR51DFOVjjklOauBaRoSrLEEALcnx4mXxUsJcv36TIVPIrwFEDLTFSfyOgBqmTmWVaY + s4CHhOZ3kDFWNnIZFidRcKXF4UoB8aYJ4g1Y5kkfK4nNbfuA8FBmnUZO8DOOtwp9+AiegwB5A5YeIA3i + pWKgpQwbX1T4cC4EcHGcl2IIsjKUhs4OwOB9joH5bqJ/vvNS0S0LINUmEhBhiR3jRfqlyt0OpeXLfNml + hauHRABQjAkEwSg4z5LaRlme3n1aulAjgPpsVJ/MmK3QBDCPh6eUtHOUiVbWcjHYWiQG4QFuVA/xehFA + hC4FWcmgAvkuAf5uHO8HfOY8TDbGQBbzlgBpga8FkDJsfBmhE+pKNusbulZe2ecFz6F1EuK/OB2Z51pm + nQCRNMRDSkHsBIhdE0UGVZT7HcvICsfc0tHRRaIAIRJgYkxQ9ICUlMXxd73V6V2nsj7LLFTFQFqgvpzQ + WyBvlKIbdfbyFDuPAlIFMXBudmu5HorxLm0tmSXgOg0gUhcLW8kqj+x3I3x9tmGiccnxPYjLjXShXPEi + QF5bZcn20kmMkQwbX1boDEFylYHJDusdXmfrPzo2bOG9uDwiTcPgTosaQ+yRDJCV5Emv8rIxwFUG584r + 8RjsYgBZAqAUnGdJWZweHsFZWp8CqFyopQUSoLJAV0B0hPxcXKVLthyyxt5G7kciJCQgbEVayRMANIJ4 + Fe70N8TFvd5WUs3LbS8m2ucYBy7DtYXopXjLirqC/8ox0FKGja8idCovpJbmeNda75Ul3dPvpziJtCgm + 0iw8C2JrS4gpIr3LAWRlkeG15VDlkvJ5zuzSwMFZoiJKSCjcZgQsLhqQzNKBU/BodZaWZ5nAWMZAcyJj + AugO2UHeSGQq5connyKB2euXUyQlv0giICKRkdJ55EkS6t0Ia0OI1BEkcr087E6gH3MwDizmeWWDk5uT + nF7rjT5GZ9j4KkLHCJGzjC6V92n22l88z5lHVb0BEEkN1bL4fxIbQuySkGWJvcuK9K0gMrCqyCdt5Fr/ + RrK5ZCEZYW0rdZG9xgBKMKyyCOCVoLWZgClotDhldQqgpfVZulANICzQFzHQHbKHAhH7KuS2k3dtbGVr + gexyJcZOpJIDAOYWibbB756YiDHyBBPzIWpDBZHZqRkiLPE0Ep/pBXJex2d8g/yA11N5zxHral75dzQa + v9eRYeOrCJ3jSgNvEKIlNmyTGDPscomcdzPrB4o0DoFLBcQ0WCSTm3bRSGxiRTqXRpaaJNIzVaRPeZG3 + Kom8U1vk824i0wfKjcGtJD2umIzJmVM65skrlX18tXtCCwNcGBQOFQW8cIALZ8yDigBeGOCFAl4ILQ8q + BHjBgBcICwwAQF8A9IYFEp6fd0FJdHGTtjlyy/js2WSnT265GQfvUQXJWCWMdwIAVmBihv72qS6ZtYLl + MaA9AMB7EEsMvSVeQUxkXPzO3eZRmI/3D8ieeSc5w4uCiFlhPIavKsPGVxE6x0DNcoM3RjUdFRPy2Y3o + 3I+kYWHRxLjYwhQX20ahVsSg0Bq7lQFEuNQ+cKn9YI0DYI3DG4lM7Coy/12RRWPkzscDZU/d8rKooId8 + ZG8nvfPkkzrOrhLjWVCK+QdKkaBCElYYmWZIqBQKDQMwQMNrIOAFBgNeAKzOL0ACC/pKIa+CUsLFXWqg + XOidM7d8kjuHfO2US44Vd5InFWFpNaCqziLlAbKyB/oLr9G3JrxEQ8T1SMmES32MeMgi/ymIpnh4CQAv + hVhJuod1ZiUvtx2I26MwHrxCQXfKuhoHNh7DV5Vh46uInTN1kp1NWxzlvfR2fL5MaRAMiIVEmoRaJDd0 + qXFZcbE7XGovulRYY7+KIm9j0EY2FxnfWWRyf5EF74ssmySy8nP5fcIgOdC6jmxLiZE14YGy0LeATHK0 + l5F2djIov530wGsvqLu9vXR2cJA++fPLoLx55YO8eeTTvLlkvmMuWeeRT7YHOcrhGA+5XxOeogkmWV0f + wIPFVQfE+uhzB3iIwQD3dmPE6wYIA+hrTPYsiMhOzRDhVulOr+kgXgbEPV5W0sHD4SDcO6/gMLHh1R8u + cLsYjd/ryLDxVcTOmTrJzrZdU8Jly/0keI76QaKBbAyIWnJjiot0qbTGLnCp3QCyp4qNANkfbpUg32sq + 8lEHkUk9s2BOfwdAR4os/QhQPxZZ8oHIZ33l5qBGcrldBTnfsJRcqBMhlxpGyuYAZ9ni7yQXaxeVi9VD + 5VqdonKncXF53AKTqBPdOfqQBu9Q3y8LXAOAbI++9K8j8n5bfHZruPYm6AfUCgDjTJkp9AgQuWZ6FxC5 + 3PY7XKkeIi1xP4r+fu75TiMW8/IUn39kdsrygmvPf7/Ehp0ydY6dZGc7bSlut+9+WbiluqgRCbIRBqkJ + Sw1TlkprbAdrZGxkgsPYyEyVbpVJDuPjoOpwrbCGUWkiHwLmhC5IfOBmqQnQ+I6A3E5kHN4fBRf8PgC8 + W0NkdG35MdZftpcCoHdxnN44djeA6Ah4rRGX6drZn1boQzdMHFrcSBznQ8TiMfiM4a1EhsETDEJ7I2wf + izGPRpGP5OYJLJGFPq1Qy0xhiSzytXgIiIyHFwplZajvuuS6jCRqEcaDi928w49X7VkjvtSlpj+TYePL + ip0ydY6dZGe77S6W99jDCq4idfxF6sFl0aVq1qjLUrXYqCs3VJLDkkMDCdc6oEqWVQ6rLzICru09WAbF + 399F2zu1YD2Io3TD3KcXy5WKklHSW9IjvLIA0uJ7AFY/HGswQI9oAWCcEL0xGag+mAyw9rFoG9leZCgA + dsH2VWCh8SgxCDEGirLWLjuxRvwDRAC8AgskxPOAeMLfSsa75LiBEmZpamoqLzmx7OJtjUz+ULMYj+Wr + yLDxZYVOMTPl0hsz0wblyqb2/Tk8z+mH5QCxlm+WNdKlcvZbFv7KGpmpdjHFRzNIxkiTVfZHHUmgLEM0 + 4Xe28T3C47a0YiZJ/ctLRomCkl4MEHuYSpkpcMWz3hOZOkTki0Ein76F5KkvXDVePwHE0Z2y3GdnwKuD + SZeUD6VFHtSFMJo4gCxlK5mA+AgQGQ/pSrWkRudKGQsvmCCeDrCSz52y3fb391+VlJTEgp8ZKm+a5vXY + N1pmGDa+rNAprtYwHnJZqWXl5OS3fw3PfeFReUCsgYTBDJIJDsoNzRpZbiiQquTQWSRday/CxKCy/CAk + DZZeBAdxG25LgMx2+6ZKRnEvSS8KS+oCN0pL/xdgfTEY0PplQft0gMjHvWB1iLs9cKyWKH2qYXvCS0F9 + mGIvUga/axARD+FKmdQwHrK8uAuATGq48G3OTAkx2ErOAeIZQJzinO2en5/f2sTERC698bor79vltUN6 + rRe+h+bPZNhoKXwgr1pwsZsFPR+OVK9cPmIsZP2j1k07101KGHWwaK7fHldEIlYDxX5NgNTcKmOjylQR + GzWQpkVxLdHhwjgGnVZJmN0AU1kmITGDfUoEB3HBgOC7AiD37ZWUBbFYAfwNS+dx6ToJbiIATgTIwcg4 + Ca42JlglTLbyMI4K6C+VioRMWSKtEK40EwkNXekDQNSXFpaulADPAuRZQJzpZHvfz9d3I2pFPrvRA+Lj + 66wXOeG5AM7JzwsIr/XgqWGjEg5GeIx3hMXLTryJmB/OlRn6dtaFvDuLADnLuLzUr0GZ+AkHi+S89rgc + EpuqmN0EycHSkhyTW2WSw2yV8VEPUrvCYQJJN6jBBBxCIlAC06CZwGnwsA235T7ct0eCZABgejggdsBx + 2+K4H/eAFcJ9EuC7iImM01VRB9L6qEruAAiY9HS0wsS8WVYYCysshTEFQHNpYbJCc5FvcqWWEOe62D4o + 7OuTXrp0ad48xXtv+ZARJzrdKvMHjh2/P4culkuWHFuOM8PTC6+tGjZSPIjpYLQ0xjuu+/EucF5y4ve9 + MEizsKcLZccIkKv1wyuWT5l4MDzX1cesa6tgIDlINQuaQGLwmK1qqzim+KgHyWSHNSSTEQKhK1RAjcT3 + uA235T6Msd1iJaMoIBYBmLZw2a1xzA+Z0SJ5YRzsButVfaqGuMk+VqQ1YtLRCpORdyTACuNzZVkhMlMt + K1WlBSDeUvUhIKrSgvGQALnsxpg4D5YY5ueXnpKSwlpxJNQPoltVzyfyGQ6OH6HyvqU/fUDXSIaN2FH/ + HCFnC4HxOhjvcuPjanQLzLb4DIL2pUBQv/j4+LGRkZEzYsNDVuwNyXErk7O6MgroKpjx1U1utbYpW1WJ + jrJILpIz2THDhPUQCC1TuVnGTe1VJ4LjNtyWE4BZL1xoRri7pIcBTBseF8ccgxJlfHeRcchA03B8gmOf + 2DfNCuFG2d9kxMNExkIAjMueldCYrNCcleqs8DfEQ31CcwYQTwVlxcQFTjaPfJydjvK6Ynh4+OKoqKhP + k5OTeRM17xbvDPGpMX7LFQ2A1xrVA7o0FC6cvNA3dvyhATvwiWACVM/ZcQWGN0S1QKrcCZkW02VaXG9A + G+rr6/ulk5PTj3nz5j3Om2GzZ89+K0822wfbAmwyhcuEnOEcJLrVahg0JjmMj6p+5JIcSw+urVrCJBBl + nXS1mgDLLPxN2NyG23Kflti3fUnJKOIq6SGwrFacJLD2kaj9xnVGeYKakp/HtVG600p4pRstB6+hkhla + IZMZWiHLChNAteDNAp+xUCU0l2mFAHiOVgiAJ2GJFwBxkb2V2Ftn3apoa6td7f89d+7c5zFeu0JCQmbD + QofHxsaOKlq06IQSJUp8gLFlPcks9qW+seOpP7CheiKYt5GzcKepN4R1DXJ1dV0HSGdz5sx5OX/+/Ifd + 3Ny24u9LRrfmWaPjG/1wSGZ5HBzO8soEyRikLBKFuBkka0i4V1olYdLFEibdrAKqoOql2rkNt2WixISp + bXHJCHMBRHx2cx4XxxzREmVER5QRqC/p0pnMsE+cZApgEi85sazIcqMs8NUKjeVaKSGytGCBT1dKK6Qr + pRWeAMRzqBPn2FlJTouxUeJ9SHyOA5P+po2NzYM8efPdc/PyOlUsMpIrPC/1jR1P/YGN1HMXNGXtQVDM + mHH4IMM7vZ+ntbw5ihkerZGDxMHSQMIi6cZq6UDWNYGke1WxkmUIgZiBmqCaRXCmdi6sc1vuw4nQMlwy + ADC9MNxjU7ptHHMoasCRbbOW1WogFtL6eNsIky+60SSTG2UcZDLDkkJX3NMKzbHQZIXmhMZkhWdohbDA + 44B4BpN4Wn7AMhgbvXj7R8WaNaV99x7yVs8e0q1z54f1mrVYl1ylGr3dC31jx1N/YAOmuKxh+Ax5Nfjw + t+ACLht9+J9pibeVZDK7Y4xhssCkQW+R1ZFQcDCVe2WcVOusCiZrSs06CdVkpXppbRC3YdnCfeieW4RI + RmFADMbnNsKxmRGzpBgBV9q7SlY8ZH8oTjL2sQyyUV52MrlR/TqpVheaXKl+mc1cG5qskK6UVngcIHnD + 1Md5s+54MxofWxsbiS5VSgYMHSqTunWV6dUryr8bV5cVnRrK3HaN5e2m9Q7Wa96cz3XwWiQTIIJUdwU8 + dVuHJUTWKmrlpaGLi8t3Rh2wFJ+9gJv9He6BrvaCvb39mRm+OW8+icaAJGFw6KYIkjOeIBmHOJB6q9TH + StaTHHh1BYRQNQEUrUoTfze1cxsuJHAfTgZYX0awvaQHAU491qg45gBY4LBmyGiRmRJeOfSFfeJVew0g + LJBLbDFIZHTZqLmkMHCjKqHRx8JjAHgMrvSgl5WMcMhx28HB4TRlZ2d3FmNzEV7tDsZJmqelyfsjRsiH + 8XEy09ZaVntml5/rxMmVL0bJze+/lv2TP5bZ3drebNmyBe/TIUhaJEMcQx1DnrmWtITIopM1C11pc4A5 + awRNLz4Bhc6dh1vY6+/vv7VQoUK8w2vFnFDHE3dLYEbzqjhrLs0iEXdUjCRIS6tkrNTD1ICaLFSTCayS + auc2FLdn9tvQXzKCADEQgOqYYnCfGiJvN0LSg7JErcg8ZYEEiAnORW4W9rpkRl9SWNaFWiwEwFMASCvk + 7fyEuMvDSno55r2CMdmOnGJ5yZIlV0RERKz2KehziF8eMX3uPNm9b7/sGjlcVvu5y3IkQRtDc8nO8kXk + yrwvRB49lJs7MuTffbo8aFC/Lp+yYllCLgx1DHnmFR8jiNwoCUrDrPnDgzKWorvgswdIoVcmJibORobF + 5xGnzirmuetGUUyW0vgsulVmfay/NJCwAlqDlrnqrRIwVSlCmKwrGTcJVQ9WSbVzG27LfbjMV89XMgLz + SXoAPrMmJwkmSE+40QH1kAQhmyU0DSAzUfyuWSDLiaylNQ0gpC43qcJes0IANLtRWiEgarHQ5EaPIBZS + W92tM5s6258NDQ3dgPGYp9S4caNtn06ZIrsOHpaTFy/KPQz8k5vX5GDfNNka7iB7UkLlcNVYuTF3Ot4R + ubJskXzatsmZlMpVmbkya2WoY8hD558N0WyJsLC9RuD04jMGcLv8xiVecvkE4m3qE8dGBq69FGqdqV0B + YJwhSGZ+am2SroxWaYYJqyRM1m0sxAmTKz3KQhVYvVQ7t+G23KcqJkItL8kIyCvpvrAyXujlFfouXFCv + iTiKhCge/dEvbpssUFta0wFUNSFLClogk5krELNRJjNaXaisEABphYcJEa9rXK0zU9ycj6J84JNSGsAy + ZcosGjl27IWd+w/JhavX5M49IvzPz5X5U+VI7UQ5m1ZLzjSqINfmTRa5dkk29msn3epV/xLHYC3JUMeQ + B2swhvhUTIQrmMZ4ZwRPibWPl5fXFt4sjH240PsuNLJdbInZJwrbPJBoHBoFs5bxccZz5tOFMU7Spelh + qoyRQCubgNLdajUmBUB/ENqrmrblJOC+1QtIhl8eQMRnVWJmjLaOKSI9KsMNI5Yi7pmz0FKsBbOuE5oB + mlwoLVBlo+YrFQSo3KgqKUxxkBZ4CFk5tdTROrNIAfcDdKMYj3nlypVbOGvRwmv7T5ySS9dvAOBdDPl/ + fh48fCj38fr7D2vkUps6cqxmjByoFCbXVyyU06O6y7jW9c/hOFwUoIHR0ODOjCE+lZ3CNXZ2dnbeYgSP + 4qNrjo6OBwIDA79MTk7m5RauRDA17l+xTOKYPYVyXGdc0S6oaiAx4znzNasESLOLhWWyTwqmsk4OvgLK + +Km96sU2bgPwhM99GG+ruUoGAKYXBKgKmCQ8XlvEwq6wxjqIpSgdNIDMQvG7HqB+bdQcBwFQW+RWbtQE + 0FxS6KzwIAD+isx8pp3tw4IeHvtKly69pEKFCos+mjjp6pafdslvN27K48wnGG7TT2YWwGsAe/jEafnh + l4NyYu5kOVGtmOyKzC+H2pWXE0PayGdpdR5jXLk6xlDHkPdMiH+oE2NjY/vDXaYD2G1aJQUXeh9Jzw0A + 3O/t7b0SVsilJN5HwtUGisXqwO9C8x+mK2K6nhlJkIiRHDjNvWKAaZWESatkjNIsE2L/uO5KqKzjNCsF + HCPxPW7DbbkP963kKBkAmO6NzylH9w2QaTFIapLhdhFDAU2LfwCoXCjhmWOgKZHRltYIkG6UVshkhm7U + BFAV9rRCAqQFHkRpsauAlbztkPt6QEDAtnr16i35YuasK9v3/irnLl+Ve/dpbyCHn8ePn2QBvHZdjh4/ + JVt/3CmLvvpWxs9YIIfe6yE7cPwdqQVkW8UI+bhZw0cYU34DCb8H6LmWaLhig9nUG1nndGSgPwDoDjc3 + t22enp7r0Mn5APgOtmEKzEfc+D0uvD2Dvrv7tCIF1vESDQfqCQaKr5oVEKZmlXSxhIn4pCyTMVMrSRRQ + AFDlyR+k3jNtS3EylM8PiDkAEZ+RRPeN4zXn0lw8LBfuF7C0PrGMKGltBqiu1isL5AMy5noQLlQtran1 + UVqh3o3yvhq+bnaykhbeBU6Wr15z88hPJl7ddfCQ3LhzV+4/fIRhNv1kZspDALx4+YocPnpcNm7OkOWr + 1sjMuYtkxLhJsmrND7K3erisKpBDFng5yjvNmx/GmHKtmo8T8ooHTtYAIoU3jdZO+Tx5q7i4uP7w8R8g + iRlTqlSpIXChXPhm6ssahovkXLiNg/ioW7seJcOmnAiyzuQg8b4UzngOHDPATCQSmotVlsl4SetUCRDj + ph6qstanZGrnNtxWKxewb0oeyfDMJumeOH4iQPKYjYpJZrNIySzrKk8ASnOf6NODCGsNHmOgSmJUDNQv + qz21wG1KZLRsFBAJ7gAA/lrQSvbCCjcU9nzSL63VqV4dWt0e2L6ZDB46TH7adwDDm/WTaQJ49do1OXT4 + mOzZu1+WLl8lEz6dIp9OmSVT5yySZdt/lpPfr5TZQDQ2NvZxi5ZpTBi5hs1vrSIbnPgzIFLYwPIqBhMd + y6/F5FUM/dc90sT1323WrHZC3LBdQTmuclZnDVjWK5eyNJhmyzTBVNYZZ4JJEUoC4BAsl8VosWbxPcq0 + rXblASqTUzK8bCTdAxMlnrE4p2TWC5UnDYvK4yRHeQxgmvUB3r3i1mbr08oIiPCUBVomMrzMpMoJcxwk + QMTBve5Wsq+Yp6zs2uXOx2NbPFwxNUhW/stHJnUNl64Nqsq/Pp8p9x9nudKrcKFHjp+Q9Rs2y9ffrpDV + sLxJX8yQL2YukH9/u1q2/XpETh07LQvbtpa21Wuswnjy69XIgIvivDyIWf8ciBQ20l9PpPlyZ/0X1NLy + mACpL15lLOWVavV0VJ2yqak9FhV23M2ZrO6Y5sDx6jiTiD/A1KzTFDcJ1AyVQp9prZZS76vtuW/pbLLV + w1rSMah8DO0JMtDHvHO7bqg8Km0nDwBMy0Ch28WstaU0cx0IEZ5KYlQpYU5kDADuhwX+gs86GlFA9g7s + J5+NaZK5ek5B2bLQQ7Z9g4lzc5Sc3NRM+tcOld69BqO8uCEXLl2WjG07ZPnqtfLBh5/I5BnzZOaCJbJk + 2feyffevcvjYKTl45JjMXrz4WlLZVF6HfOa3a5ihGYkbQryyz50Ik2bMg6ivilbwGEfV7Ru8BsZ4yodO + 2w0p6r+YC8LM9uiyOHCMP7QEM0yIMfNpoDqotFSA0AA9JbZT2IbbUkygAC4Dbi2DEFHiPIzKJo9qBMnD + msFyPyaP3AUwWl9WAmNtXokhQJXEaAANLFBLZABPxUG60b0e+LuklxwY0FumjGsiq+YSoJds/aq43L40 + Rh5deUseX6ojD0/UltEtQ6Vhveby1Yo1sL4N8sX02TJl1nz519S5Mu/Lr2XLjt1y5MQ5OXX6jCxfvkK6 + dO6yAONIz8ewxts6yAFu5z+czL88T9iJMP/0S9vxyvtPudJO18osqkn1+NjhGwNyXuFKB10WRZhM4zUB + Kl2skhmogmoCq4nZpF6q3WTRFPcnuC1uWWImeq+krTyoGiD3qgXInaicWtyj5RGe/ooE4TERU5eWtCxU + xUCIFqgHSAtkDDwU6SW/Du4l0z9uIStnukv6Im/ZurSk3LrwAQD2k5tHq8jNY7Xl0eUGIhfrycftwyW5 + TAV5572xMnP+lzJ51gL5GlB/Qnmx/+BhOXXmrKxcsUp69eq9FGPIbJ85B0MWwxu9o9kKKfMvb0r4AN5S + wA9jksN7ULtMK+SylYNxEwPGgSNIWiatgSJIs6vVAeUCtBLhGEm/jarz+Ch2OgBuJkS03YnIJncr+sqd + Sn5yq0Q2DRxdZ5b1WQuvzptLCBNAlYXqY+BTmSgA7sPxj0R6y/63+8mM8Q1l5Wxv2TjPU7Z+XVJuXxgp + Dy/3BsBqcut4HaguQNaV++cbyMOTdWRY4yKSWqG2TJ//FQCule27fpUDh4/L9Ru/yw8/bOB/H/gWY8fi + Xn0xruEVDOqpP96E8CG0Rt7sQ9PnT6vuJcM+3+Nr84CznQNHkLQEWgSBKpiahZpgKmlu9wVEF83tuT/r + UgLc7ArQaL8VYSu3ynrLrXJecgMxkJankpcrYdZyCf0iPL37ZPzTLi0Rnj4GQpoFwlUfj/KBBfaV6eMb + yapZXvLDbDfJ+HdxuXNxdBbAY9UhAsyCqAkgH5yvL5d3VpcmCaHy7keT5ejpi1r8O37ihHz3/fcyaNCg + ZRg3PcBnXkuk/tDwJoQP0y/f1U9NTe29NDD/YQ6KGjzCpDUwG2RioVwt4xSlwN4BFMbR54nbsDzg9rcg + JkwEuMkFgPHejaK2cjPFQ34v46Z9NieTSl607BPg1GI2r0ioy0qaCwU8BVDFwH2MgdEA+HZfmfphA1k5 + w102zPWQdAJEDHx4uY/cOJzlQrMg1n4K5P0zjeTq/goy462C0jWto/x89Iycv3BR1q5dJz179uQy3QsD + pAwbX1f4QMZP9fWaWoLTo3jw7J/9bB5pccc0iBxMQtUWl01Q6epopUrKWp8r3fa0clrkRgD8wRmQ8f7V + cBu5AYDX4p01l0lpi9gmgIx96sq8WgtV7vMo4B02wVMx8HC0n+wb0g8xsIGsmOkim+YB4FeRcvviB/Lg + Uk+5fqgi3GgtqLb8DhEkgRLk/TMN5fSO8gAeJJume8ugpgky/8tvkaluk4EDB7KUeCmAlGHj6wofykRI + JTisIxsnJSUNWOyf7zhnuIo/TCL4u4KpZLZSHVgtCTGSxbbMMOmWNwDgeoiArxSxlavxLnIl2l6DRnhc + fTHHPpP1qQRGuU8t/kEaQFMdeLRUgAZw5sd1ZMUMD1k/yw1AABAx8MFFAqwCcLU03ThCkPydAGvLg7ON + 5OxP5WTjgmD5YZ6/bFvsLZMHxcn4sZ/K0OEjVmOcXhogZdj4JoQPZ7nBkoS1JW9z7Nq+WKEFPxW0fsLB + Uyk8XxVMWqdmoTqgGlQT2GdJvy2TFFonrXAdRNCXQm3kcoyjXCqRJyvrNMFTsY/wNPdpskBz/IMFqgVt + 1oHHYgJk7zsEWA8AC8ia6c6yZUkELHA0AHaXa4eqyg0TwOuHawJiTQ0gRQs8u7O8bFgQKOvn+MuWxQGy + eb63fDysxuO27fq+VAy0lGHjmxA6wOU7rsFyQYD3q3ZMTk5+b2qg037GmXO0BgwiY5Hm1gCSQKnLAKnc + rhku2gnoDzJNACW6yd/Rvs4pSwR7PsRGLkU5yPmw7FngIM3yIHUVQrM+gNOW0UwAaYFqKe1IbID8MmQA + stCasnyag6yb4QaAJRADx8p9AjxYSbM86tqhGhrA64ez/r53uoGcgQVumJsFcOOCINmyyEcmf1jxcbOm + DXl32ysDpAwb34TQCS4SsNRgx7g8x++2GVapaNjX33nYPL6MAeSAUrQKJhXKSsxgTSKY50m/Ld0l3fNa + RytZA/EZ+jOFreVcRH45U8jmD1ZHeASnJS4meFzIJrx9sMCfYYGH4gJlz1CUER9VkxXTXWX9TLpQlBEX + R8n9C13l6q/lTZYHgAeqw6USYJYl3j1VX07/CIDzAmXtLF/ZMD9Atiz0lWnjKz5JS2s2C2PyWgApw8bX + FTth6gxjIpfoeA9lDz5wmTNnzuuV8lhnHsMgnTdZA10a9SyoGthnSL8NxX2ZcRLgdw5ZUE8HW8vpsFxy + Msj6P0U7wKm4x8SFmafmOpX1eQEgypSjccEA2F9mT6gl3051le+nOMkWxEAW8vfOd5Hf9lcCMFjeoVry + 24FqAFhDUxbABkhiysn6uQGyZqavbJrvB4A+MmVs/JO2rZvz61FeGyBl2Pg6QieY1HBVQVkhL021DgwM + nG1ra3tXXVAejUG+jAE8CXi0DIpA6eY0qIBBKbB/JrU99yfc73H87wGRUE8G2cgJyOw2FTyd9dF1MvvU + AzwSX1h2vTNAZn1cU5ZNc5FVk+01F3rr0mi5e+4/AK/B6n7bX01zo1cPVtdesyywrAZw7Swf2TjPTzYt + 8EBJkvqkdesWbwwgZdj4OkJH6Ea5vserH7yDuUlISMhEPUDK0cZKFqMMOIkBVPUYXykFVYF9EanJwP0J + dTUAroJY96lSgW5TZZwaOMjsOgkP+gUAdwPg4fhCsmtIf8TAarJsioNmgZuXwIUiBt4520muwIVeOwir + A8TLv1aRq3CjhPfbwWpy+0Q9OfVjqhb/1gDgD3MJ0AvHKpvZrm1z3m/zxgBSho2vKnSEVsjFci6Ss9Cv + Ex0dPcjoBmTeYBVpn/fSes9s92gRqqimOOiaYDW0nhcRt1UuknFvtb2VrISYuBCacpf6mKfi3i+MfYC3 + B0X8LsTAA4mh8hPrwHEpsnyqs3w3lS40WrPAO2c7yuW9qVrsI8TL+yprVngVrpQA7wDgye2psm62n3w/ + wxsg/WCFXjLzo8TMTh1bLsSYvFGAlGHjqwqdUUU+rymyo63d3d3XWALMli3bfd7m6OPjs721r/svO7iI + jMElTCVajJKC+ywpC6O4L5OWlXZWsgIQOTnoKjV3qbc6E7xfvKxlD153ow87XQE5OUK2De0NF1pBvvnC + SVZ8Zg8LjEIMHCW3zxBgeQ0Y3ealvVkAsyBWhwXWlVMAuBYAV6OQXz+XbtQTAOMyu3ZqxbvV+A9Q+Bwn + H2F7IwApw8ZXFTqkX26rFxUVNRTAbukBWltb898tnCpYsOBWvD8/MTFxyiB/tz3bMIi8NqctbUF8NcsE + 51nSb0tLo0XSClfmzwJrtjodPFqeZn2e1rITFvgTAB5ILi4/DhssM8cmy9Iv7OXbf+WXzV9yJWaM3DrT + AQAraLCoCz9XhButCrdKVZHbx+vKSbjQdbN95btp3rJuTkHZMMdNZo5PkM6d0r7GePABU5ZarJs5Rm8E + IGXY+CpCh/6w8O3h4bHcAmBm7ty5f/P09PyxRIkS/H+9Y6APAHL8AD+XnZvdrDNZWNNimGRor0qAYyRl + YUrMLgl9OSxxWb4sqJrFERzELwnaDe3yzNJOuM8fEQP3l4uSbe8OkumjY+XbyY6aBW7iSszlsXLrVHu5 + +EtZZJ9VIQDcA4D7qmgQGQ9vHastJ7YlayXEd9O9suLgnAKwwPjHHds3WYlz5JfVMkNnps6MnY94vxGA + lGHjqwidUl/Qx5nGS1Bd+a/l9BBtbGweOjs77y9cuDC/FoT3qA6AekN9ExISRvTydUtf62bziMkFrYbx + ipZD8XcjqfeVCOsA9l0OgN/CEmmBuwGL4q31mtVRsHzC247kal/5aMkY3ldmfZgk33xuJys/c5D0JYiB + qANvAuCFPSmaxdFtnttTQS7CjRIe4yGX1U5uT0YJ4SOrpnhqrz/McZfZH0dLz+5td+HceCcg7/5jls7H + 1LgAkstoDF9Vho0vK3SKdSGtkI8qMyNtXqpUqfctM1L+rwxY4daYmBj+byU+rEoXwzvleOGzHUAOaufn + sfYbN9v7uzHQGhST23sR0coowv0WEJfmzToGwT0FDyI8am/5GMl4722ZOS5BlsL6vpmYDzEQAFEH3jrV + Vi7AAi/vg8vcX1XO7S4vl36pBLdKgFXk5nFY4NZkJDA+snKyBwDChc52k/mfRMuwIW89SShTbn1SUtII + nhvEWMhcwd1oDF9Hho0vI3SKGSljIQM1n+WnFXZGYT8f7vOpf7Fjb2/P/xuxPCUlhbc58sR44xVv/uGV + a97y2Bwn3bdWkO/XM1xzXN8KS9HAKEsyvRpJuUdaG4F+A4AU92XiRHA/wnVuh7Yi/mU4A2CFBEkf8bbM + GB0lX39mJ19NyI0YSAscI7+fbIO4Vy7L4mCFZ3eV1+LgRUCkuD5KF6oAfs9EZqaDLJwUKcOHDZDYuDKZ + BQp4/BgbG8uHYXhXIOMhM1Le0vLU7RWvK8PGlxE7BKmMlEB4g+sAWNxT/xSMQOlKw8PDWejyxh9aIH/o + frm+ypuruH9jfmN9TFjo1CEF7I6scbF+wrhlaU3aq4V2QIRFmLRCiu3bsD/FSZEO69sCgHsqJcimYf1k + xqgoWKCdZoGbAPD2pXHy+4k0Ob87Rcs+CfHMzrJyHnHwAuDxlUtqxwFwDQFO8UAcBMBZrrJoUhQA9pO4 + +GTtnJHA8Ytr+b+y+B/ZeGsnv/4kGOJ9SX+PmIiOqLqQN07xLrh6sLKevMkYWekdPUQ+Aufm5vYzMlI+ + s8E4yBuMeZmKiwLcn7c7MmbQHWv/bx815qhaPl7rPnHNdWUjBn4bLGgHYGiWhVdlWZQCRfH9r/JYyb8h + vpeO/bZQTrxYbCO/1CkvGR++J0tnNEAd6CpLP8kLCywFCxwtN463lLM7ywBgJbkEl3n6JwDcXUGzwgs/ + V5AbR2rI8a1JmuUt/6KArGYmOgMudEJRGT6kj5ROKGc+Z07cvHnzni1atCj/dxQ9D9eQVXZqeKvFq8iw + 8UWFTvAmKa7O8HZGrS50cnLK0MPTi7f+FypUaAm2oyXyDi7eTMXvcWGw53F46YrH4ozlN0m0gnvtXzws + bGZLT5ednzvnuLHKERYFa9KSEkhZmCaAIjC2fZk7S2zfjO03YRJsQsa6OzVK1k8YJV993lTS5yXJDzOK + ytalCXLz/HsAmCbndqVkuUxY4akdqYiDFeQ8AFI3YIHHAJAlxPLP3AHQU9bOcJEFBDjsrcyEhFTD8+a/ + 5i1WrBjdKutEehve9PSHh0VfVYaNLypTJ9Q1w9qIg5+wjDA6ESXMzNORkZH8F3X6m2F5QlxvpVXzlkfe + y0r3yrsCmsK9dkNseR9Z7YJ6nm4/fuiU67e5DrYPuMi9FXAINYMA8UqIBMfslCUG23mbxkYH/p5NdnTt + KPPGNpEF/Rzk3z3zyrKhPvLbsdFy+1xnAEzWANKNnvwxBW60HGJhBS2h0VyoBrCgLPvMTVZP9ZTvpzrJ + wk/CZNg7PR4mlCkLb2NreM4UvFB6XFwcv5CIHoiTV7nVnEZj+zIybHxRoQNMaLjExvqnCWLATqMT0Itl + Bgr95bAw1k5Mgrh6wYnAY/EapPqnKTwuEwE+D8LvzWkNmL3i4+NHIK5OjfbzWd3E3WlfX/vcF8fb57ix + yMH2/rf2No/XosinNgHaBmgtyozvYIFf5rZ5tMivwJ0lI4bfnTIkQRb2sZeFPR3lpy/ryoEtbQCsnvx2 + sBayz4paycA4yGTmzE6ukVaXoxllTBboppUS309zl3kfhTzu16vVyfiEcveQiRuerxLdalhY2GScA8sN + Jjmq3MhrNLYvI8PGFxU6QL/OWMbY1hwlxGmjE9CLsdHFxeVHxDs+x8hgz9UdxgjzAyL4nW6aKxqEqx4j + oLtmwczHuzrTzeIYowk0NDDw6zhvz02J7i67Krs4Hqjq7HCktpP98VpOdicqOTmcKOfseDzK2flwhei4 + vSOG9rg4uV+YzOluJ0vfC5cjW3vJhlklZdviRLlysK2c2V1ZTu9I0QCe3VVWrh6slgVwqrd88y9XWYFM + dPVUN5k9Lkh6dqm/sUTJxPXZs2czPFe9eAnOz8/vm+TkZCY5nJTM5FlXm5+peFUZNr6o0AEFkTGsGXz/ + n/7DaFPBvysiIoKrNYZP+ZiObfkYAbNfwqRlMkGgW6JL5hck8dus3kVtOgau+hMcezKywhmIQ/OgBfh7 + EYAvSqlR/+tRgxtfmdzDR6Z1dZOtixvKzuW15YfpxRAbIwEyRc7/0kwu768FFwqAh6rJMQBcCdf5zSQX + WcFEZoqLzPkoWLp3qrcZn/1JSEjIMqPztFSePHku+vr6rmRfsR8nI8PF3wKiWitlZvpC37aBrPUustct + fLoK+/DhHO77lCXqjs/sVz1GwDKG23FBgSUJ4fOHQDkoLFn4FVsdoG5wW32hwfh9OMQJM7Few6YLJwyu + +fjTDo4y/51icmBzewAsLhvnlJKMhVGyaV4JSV8Yj+Sltlw/WhevCVrsWzrJGZko3OhkJ5kzLli6dai+ + DscbxmMjzk2Clf3pdxugRj4SGBi4GNk7wwjvOeLN1bzmms/yvF9Who0vKnYAYvHK2FUDs58L3jeMTkKJ + scHHx2d56dKlOSMNH9WyFN5TMGn5jJf8TJYlXKdlbOGspjeglTIZYqzlBOGKEL+ikosLYzu2b7rmoz4J + Mq6lvWz9urlsX5Iom+dFyea50ZK+AK/zomXj7CjZsiBGts2PlTXTA+TriY6y7HN3FPSwwA+DpFeXWt/h + WATBAp7//+ktxPgVlgsbevHr0pDYbMf48PG0Zz7d9KoybHxRsQOQfrmtKWbbtOzZs//hv5riJB8D4Dk+ + oIo4NhHbMra99MlgOy6064EyOeBqEd06+8F7XTnLmQHSSpnWMw69N+StVgdHtCwoc96Nk13L6wBeJFRK + g7d5frRsWRgrm+ZEyaox/rKkj7OsGh8k388KQDLjKLPH+EifLjV5WyGtnXWs+qJC/oOz3h4eHt9bnjdC + xyO6UXio3cjc+Y+/emL7V/7fwc+SYeOLCh3gk8WMW7QkZpl8uLQNOjzDwcFhL7/7DboKeOcdHR0P4UQ3 + I4ZMK1OmDGcyrfC1Tgb7KKCqPGHKrtwuYyhBcqC7VKpS7b0PBjW9PbyJh2ycX0d2Li2DhAYQ58AKF8UA + YilZ9UlRWTTQWxb3dZOv+jnL6lFB8tOq8jJ/fLD07VqTN/ZyQvAcafW0frp0Wn4TxLreQUFBcxDvd8J1 + Hqb7xDn/itCxCaXRDHievtiOcfyZTze9qgwbX0boCBMQDh4vsTC+1cLM7IAEg/9reJ6/v/8yZGXL8PsC + xMGxOFl+HwtnMgf4jZ4MhWOpJ53pbjnQ2lpu2zZNp77bJSFz2pAY2bmsCiwuQrYA3PYlsbJuWqQsGBIk + 07p7ypzenqghPWVxHxdZOzpA0r9tI/161lU39nIRm1bOOpaTj7UeJy9/GuC8OyGBGlGkSJHPAG4WSwqM + w/s4Z7pdZuJ09898uulVZdj4skJn9P9rmF/xyNWWlkgsuiKl7keZAjpdKC2QAGkpjG1v7GSUcDwuQtDF + EiLdV/cuXTrvaNugHGJbquxcEinp82Nk64JSsmRsuEzq7CeTOnjLlO4FZWZPD5nf21EW9raTJSMiZPy4 + t5Zjf/0tFbRyunHmA5y8/By6cJ4Tz5sZN2ta9V2m/JvtfJ/b0Wtxkr2RJTfKsPFlhQ4x8eDA0ZVxGY2D + xysTtAJanYohjIF0obRAAtQKfKNjvqpwPPaFF11pLXzsvGmjhg1HpjVvc7txk7YyZtRA2bwgSdZMDpeJ + PQrJSMTIcW29AdJLPuvqJZ/3KSKfDS4nk4Y3uTm4ZyM+Xsas1/KeGC1+8xWiG+e58LxppXS1/OE+/OHf + bOf73I4A39jiN2XY+CpCxxifCFI98s0inZ3nY+HqSxmYxPA9Wi0t8I2eDIVj0itwsNSd5x3at22/oXXL + VjLig9HStd/7ktaksgxp4S/DWgbL6I7hMq5X/JNxg2rdHTus/dlB/dpvSGvVbFL1us3UIj0nox7gU33m + 3xDPm9ZJK1MJFs+Vr/yb7Xyf273xczZsfFWhg/q6jqDo+3nyFH9nG9/jNm/UhVI8pun4jId06w3r1q3z + dvfuPa8OHzlKeg94R6pWqy3lKtaSgV2qPxjRv8H5IYO77unZo+viBg0a8uIt/+s2v4+HLpDXN9WXSrAo + f+Y9MWhngker5MTkdgTGycxX/s12vv/ai91GMmx8XaGzHEz1eDhPgOLvbHvj8JRwbJVk0XWx5GnWrXv3 + rz4YO0669xkoTZq2lBYtW93t1KnT1g6dOk8pV64cM0Z+FzdrN9aVdP90+XSBtD71pRIv7AKxHc+d/eC5 + 8vUvO18lw8Z/qjBgtHDzP1qpVbNmx6HvDr848J1h0qtXn9/btWu3Nq1lS15BYbZIcHSXrCX5Q8tlpskw + QBdIz8EJ8Ze4wDcpw8Z/qjDYhEgXRgtKqFOnbtd+/Qfc6tWnz3dwq7wpixdm6SppcYx1rPMYOwmdLpjg + OAnoAgnvL3OBb1KGjf9UYcDpvhgTGcMIhy6VlsayhtkxC3Om+kyy1B0FdJcET5fJpCib0bH/zjJs/KcK + AJhg8NZJQmEWzAyRLpKXfQiOdRoLdGaLtDiCo/X+48DpZdj4TxaBQCzEWStyXZVWyeyY4FjH0lUS9D8a + nF6Gjf90AZBK+Qnzfy07/m/JsPH/9U+SWP0PhWCQqdEv6yEAAAAASUVORK5CYII= + + + + 137, 17 + + + 243, 17 + + + + AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA + IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////AQAA + ABsAAABBAAAAOQAAADkAAAA5AAAAOQAAADkAAABBAAAAOQAAADkAAAAjAAAAC////wH///8B////Af// + /wFsbGx/QkJCz1ZWVu96enr/VlZW72xsbP9WVlbvbGxs315eXv96enr/ZWVl7wAAAEH///8B////Af// + /wH///8BPDw8OWxsbH9VVVV5VVVVeVVVVXlVVVV5VVVVeSkpKVNVVVV5VVVVeWxsbH8AAAAb////Af// + /wH///8B////AaamphWBgYFPgoGCeYuKipWOjo6hj4+Pp42OjqeLi4uhh4eHk3+AgHWDg4NNqqiqFf// + /wH///8B////AYiIh2uEg4T5mZmZ/7+/vv+ZmZn/qamp/9bW1//Qz9D/oaGh/42Ojf+vr6//jY2N/4OD + g/eGhoZp////Af///wGXl5cpj4+P/fLx8//y7/X/+/v7//f39//z9PT/7u/u/+np6P/n5+f/397f/9fW + 1/9/f3//jo2NMf///wH///8BnZ2dsa6tsv8hFEv/IARl/3pnr//8/fz/+/37//j4+P/y8vL/mIq+/yYJ + bv8bCUz/e3eF/4ODgr////8B////AcbGxqEuLDf/CwIu/xkCUf8eAWr/0szh//z+/P/8/fz/8/H2/yUG + cv8cAlj/DgI1/wcFFv+Pjo+x////Af///wHKyspjUVBU/wUBGv8OAjX/GQpN/+Xl6f/8/vz//P78//r7 + +v8yI2H/EQI8/wYCIP8cGiH/kJCQgf///wH///8Bp6enR+Tk5P90dHf/X11o/8PDx//8/vz//P38//z9 + /P/7/fv/1tbY/2Jhbv9eXmL/sLGw/4KBgVv///8B////Aampqhvf4N///P78//z+/P/6+/r/9vX2/+/v + 7//t7O3/7+/v/+/u7//w8O//5eXl/7i4uP+Mi4wr////Af///wH///8B0dHR4fz+/P/6/Pr/vLy87be3 + t1mmpqZZnp+fXaSkpGOxsrLx8vLy/+Xl5f+np6fzzM3MA////wH///8B////AcDAwK/8/vz/6+vr/5SU + lHn///8B////Af///wH///8BhoaGf97e3f/l5uX/m5ubv////wH///8B////Af///wGtra1v9/j3/9XV + 1b+oqqoH////Af///wH///8B////AaOhowm2trbV4uLj/4yMjIH///8B////Af///wH///8BpqWmI9fY + 19e/vb0n////Af///wH///8B////Af///wH///8Bnp2dNbS0tPGKioo5////Af///wH///8B////Af// + /wGXl5cx////Af///wH///8B////Af///wH///8B////Af///wF+fn5D////Af///wH///8BAAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA + AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BAAAAZQAAAH8AAAB/AAAAZQAAAH8AAAB/AAAAZQAAAH8AAABlAAAAZQAAAH8AAAB/AAAAZQAA + AH8AAAB/AAAAZQAAAH8AAAB/AAAAZQAAACcAAABlAAAAJ////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wFsbGz/bGxs/2xsbP9sbGz/bGxs/6Kiov9sbGz/bGxs/2xsbP9sbGz/bGxs/2xs + bP9sbGz/bGxs/6Kiov82Njb/bGxs/6Kiov9sbGz/AAAAv2xsbP8AAAB/////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AWxsbP8AAAC/AAAAf2xsbP8AAAC/bGxs/2xsbP8AAAC/bGxs/2xs + bP9sbGz/AAAAv2xsbP8AAAB/bGxs/2xsbP9sbGz/bGxs/2xsbP9sbGz/oqKi/wAAAH////8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BPDw85WxsbP9sbGz/PDw85WxsbP9sbGz/PDw85Wxs + bP88PDzlPDw85WxsbP9sbGz/PDw85QAAAGU8PDzlPDw85WxsbP9sbGz/PDw85WxsbP9sbGz/AAAAZf// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wHQ0NAPv76/I7GwsTGkpKQ/m5ubSZeWmE2XlJVPl5WXUZeWmE+dnZ5HpaWlPbCysjHAwcAf0M/RD/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wHIycgPnp6eQ4WF + hYV+fn6zf39/1X9/f/+Bf4D/h4eH/4uKi/+Kion/jI2N/42Njf+LjIz/iouK/4eGhf+FhYX/g4OE/319 + fP98fXzxfX5+0YCBgLOHh4eBo6KjQcrKyg3///8B////Af///wH///8B////Af///wHNzs4JkpKQd39+ + f+V+f3//oqKi/8nJyv/a2dj/2NnY/9TW1f+WlJb/pqem/83Nzf/U1NX/z9DP/8zLy//Lysr/wcHC/5+f + oP+Jion/xsXF/8jHx//Gxsf/uLi3/5iXl/92d3b/fn1+4ZOUlHHT09MH////Af///wH///8B////AbGx + sTF5eXn/WFhX/7q5uv/BwcD/Nzc3/46Ojv+8vLz/ZGRk/5SVlP9ra2z/xMTF/9vb2//c29z/2NjY/9HR + 0v++vr7/ZmZn/46Pjv9ZWln/q6us/4SEhP8yMTL/s7Oz/8bGxv9RUVH/dnZ2/7a3uCn///8B////Af// + /wH///8B1NPUB5SUlHE2Njf3tba1/+/w7//t7e3/8vLz//z8+//8/Pz/+fr5//Pz8//09fT/8vHy//Hw + 8f/t7u3/6+vr/+np6f/k5OT/5+fn/+rq6v/h4eH/29vb/9XU1f/R09P/qamo/zAwMP+LioqB////Af// + /wH///8B////Af///wH///8Bl5aWK1hZWf/19fX//f39//Hr9P/i2+z/9/X6//39/f/7+/v/+vr6//v6 + +v/3+Pf/9Pb1//Py8//v7/D/7e3t/+np6P/m5ub/5+jk/+rr5//W0dn/0c7W/+Pk4P/Y2dj/TEtM/5KQ + kkP///8B////Af///wH///8B////AYqKik2RkZH729za/+De5P9RSG7/FwZO/xgAXf8qD3f/g2+3//Xy + +v/8/vz//P78//z9/P/7+/v/9/j5//X19P/x8fL/7u3u//Hy7/+yoc3/OCOE/x4AaP8XAFX/LCNW/6Sb + r//Bwr//d3d2/3V0dV////8B////Af///wH///8BiIiIe7i5uP/m5ef/GRck/wgBLP8UAkT/HAJY/yMC + af8eAXH/VDub//z8/f/8/vz//P78//z+/P/7/Pv/+vj5//X09P/09fT/pZTJ/xkAc/8lAW//HgJf/xkC + Tf8PATj/AgAZ/4WAjv+dnp3/dHNzn////wH///8B////Af///wGTk5NRz87N/3Nxd/8CARL/CQIq/xEC + PP8YAk//HgJf/yUCbv8WAG7/vbDY//z+/P/8/vz//P78//z+/P/8/fz/+vj6//f2+f8wFn//JwJ1/yIC + Z/8cAlf/FAJE/w0CMf8FASD/ExEa/6Kho/91dXVz////Af///wH///8B////Aa6vrjPT09P/Qj9D/wIB + Ev8GAiH/DQIx/xQCQf8bAlT/IAJj/xwBaf+Qg7P//f79//z+/P/8/vz//P78//z+/P/7+/v/4Nzp/xwA + bP8iAmn/HAJa/xcCSv8PAjn/CQIo/wQCGv8CAAb/hoWG/5WTlFH///8B////Af///wH///8BycrJC9bY + 18FjYmT/AgEJ/wQCGP8IAiX/DgI1/xQCRP8aAlP/EgBW/6uluf/9/v3//P78//z+/P/8/vz//P78//z+ + /P/09PP/IBBg/x0CWv8YAkv/EAI8/wsCLf8FAh//BAIS/woIDP+Ojo/1uLm4If///wH///8B////Af// + /wH///8Bvry8u9bW1/8JCAv/AwEP/wQCG/8JAif/DgI2/xABQf8oJEr/8/Py//z+/P/8/vz//P78//z+ + /P/8/vz//P38//39/f9/fY3/DQA//xECPP8LAi3/BgIh/wMCFf8BAAb/YWBh/42NjO3///8B////Af// + /wH///8B////Af///wGqraul9PT0/7u6u/8iISP/AAAI/wEAD/8DARz/OztK/93c3P/8/vz//P78//z+ + /P/8/vz//P78//z+/P/8/vz/+vr6//b39P9yc3v/DQwn/wIAFf8AAAv/CgoN/2loaf/ExcT/g4KDx/// + /wH///8B////Af///wH///8B////AaKgoXPk5uT//v7+//Hx8v+/vr7/rq2v/8nJyf/5+fj//P78//z+ + /P/8/vz//P38//z9/P/8/fz//P38//z+/P/8/fz/+fj6//f39v/T1dP/pqan/6SjpP/Kysv/6Ojo/62t + rf+Af3+f////Af///wH///8B////Af///wH///8BoqCiQ83Nzf/9/v3//P78//3+/f/9/v3//f79//z+ + /P/8/vz//P38//z7/P/7+vv/+vr6//v6+//7+/v//Pz8//z9/P/29vb/7+7v//Lx8f/u7u7/6enp/+Pj + 4//e3t7/nZ2c/39+f2f///8B////Af///wH///8B////Af///wG3uLgntra3//3+/f/8/vz//P78//z+ + /P/8/vz//Pz8//T09P/z8fP/7O3s/+fm5v/h4eH/39/e/+Df3//h4eH/4uHh/+Xl5f/x8PL/9PX0/+zs + 7P/l5eT/4uLj/9nY2P+OjY7/n6GfQf///wH///8B////Af///wH///8B////Adrb2gOpqanR+fr5//z+ + /P/8/vz//P78//3+/f/c29z/vr+//7i4uLm2tralq6urraKiorWdnp65n6CgtaWlpbOhoqLNra2t/97f + 3v/4+Pf/7e3t/+Tl5f/j4+T/zc3O/4SFhPXMzcwL////Af///wH///8B////Af///wH///8B////AZ+f + n7ft7e7//P78//z+/P/8/vz/9fX2/7i4uP+RkpK11dTVB////wH///8B////Af///wH///8B////Ac3P + zQmFhYXDq6yt//b19v/u7/D/5ebl/+Xl5f+/wL7/g4OD1f///wH///8B////Af///wH///8B////Af// + /wH///8Bm5qae9ra2v/9/v3//P78//3+/f/m5ub/mJmY95KSkUX///8B////Af///wH///8B////Af// + /wH///8B////AYyLi0uKiYn72tra//Pz8v/n5+f/5eXl/7Gwsf+BgYGd////Af///wH///8B////Af// + /wH///8B////Af///wGfn6BDwsHB//3+/f/8/vz//f79/8zLzP+OjY6l////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AYB/gLW1tbX/9fT1/+np6P/h4eH/np6e/4aEhGH///8B////Af// + /wH///8B////Af///wH///8B////AcTCwxWvsK/p9/j4//z+/P/5+fn/rKys06iqqh3///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8Bo6GjI5KSk+fj4+L/7evs/9zb2/+MjIv5sbOzJ/// + /wH///8B////Af///wH///8B////Af///wH///8B////AaioqcHs7Oz//v/+/+Tk5dmkpKNR////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bk5GRa7q4uP/w8fL/0dLS/4aG + huH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BoqGhW9rb2v/w8fH/v76+g/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wHZ2dgDnZydrdbV + 1v/AwMD/hYWFmf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wGurK4xv7++5czM + zHm7uLgV////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGcnZwloKCfz5eYmPeVlZVL////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGVlpabnJucJ////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wGKiopFenp6wf///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AQAAADkAAACrAAAAvwAAAL8AAAC/AAAAhQAA + AL8AAAC/AAAAvwAAAJkAAACrAAAAvwAAAL8AAACFAAAAhQAAAL8AAAC/AAAAvwAAAJkAAACrAAAAvwAA + AL8AAAC/AAAAhQAAAL8AAAC/AAAAvwAAAJkAAACrAAAAVQAAADkAAACrAAAAVf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAIGioqL/oqKi/6Ki + ov+ioqL/NjY2/729vf+ioqL/sLCw/2xsbP+ioqL/oqKi/6Kiov9RUVH/NjY2/729vf+ioqL/oqKi/1FR + Uf+ioqL/oqKi/6Kiov/Ly8v/KCgo/6Kiov+ioqL/sLCw/2xsbP+ioqL/AAAAzwAAAJ+ioqL/AAAAv/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAA + AH+ioqL/AAAA3wAAAH8AAAB/NjY2/2xsbP8AAACfNjY2/2xsbP+ioqL/AAAA3wAAAL+ioqL/NjY2/6Ki + ov9sbGz/AAAA3wAAAL+ioqL/AAAA3wAAAL+ioqL/Gxsb/2xsbP9sbGz/h4eH/2xsbP+ioqL/bGxs/2xs + bP+9vb3/AAAAv////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AQAAAIGioqL/AAAA7wAAAL8AAAC/NjY2/2xsbP8AAADPNjY2/2xsbP+ioqL/AAAA7wAA + AN+ioqL/NjY2/4eHh/82Njb/AAAA7wAAAN+ioqL/AAAAvwAAAH+ioqL/NjY2/4eHh/82Njb/NjY2/xsb + G/+ioqL/NjY2/zY2Nv+wsLD/AAAAv////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AQAAAHN9fX35oqKi/6Kiov+ioqL/LCws66Kiov+ioqL/oqKi/1VV + VfF9fX35oqKi/6Kiov8sLCzrLCws66Kiov+ioqL/oqKi/1VVVfF9fX35AAAAqwAAAHN9fX35LCws66Ki + ov+ioqL/oqKi/1VVVfF9fX35oqKi/6Kiov+ioqL/AAAAq////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AQAAACcAAABzAAAAfwAAAH8AAAB/AAAAWQAA + AH8AAAB/AAAAfwAAAGUAAABzAAAAfwAAAH8AAABZAAAAWQAAAH8AAAB/AAAAfwAAAGUAAABzAAAAOQAA + ACcAAABzAAAAWQAAAH8AAAB/AAAAfwAAAGUAAABzAAAAfwAAAH8AAAB/AAAAOf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AdfW1gXOz88JwsHCEbe3txewr7AbpqWmH5+fnyOam5oll5eYJ5eV + lymXlJUpl5WWKZeVlymXlpcpnJydJaGgoSOnp6cfrrCwGbe5uBXDw8MPzs7PCdbW1gP///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bz8zPEby7vCWoqag5k5OTU4eHiHWCgYGPgH9/n39+f6l+fX2zfn19vX58 + fsN8fHzJfX19y3x9fc19e3vPfH19z3x8fc99fXzNfHx8x359fcN8fXy7fn5/sX5/f6eCgoCdhoaGiYmJ + imOUlZZNqqupN728vSPPzs8N////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BzM3MD7S1tD2amZpvgYGBp3Z1dtFzc3PbeXl56X1+ffeDgYL/iIeH/42M + jf+YmJj/nJyd/5eXl/+Ympj/nJyc/52dnf+dnZ3/m5yc/5qanP+Ympn/lZWU/5KRkf+UlJT/k5KT/4aF + hv+CgYH/fX58+3l6ee92dnfldXZ223l6edGDg4Ojnp2eabe3tznNzM0N////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bzc7OA7GxsRmcm5pnh4aGxXl5ev92d3f/jIuM/6ampf+8u7z/zMvK/9DQ + 0P/V1tP/29zc/9vb2v+sq6z/tLSz/93d3f/c3Nz/29vc/9nZ2f/X2Nf/1tTU/9TS0//R0tH/0NDQ/9LS + 0v+srKz/np6d/8zMyv/Kycr/xcPD/76+vv+5uLn/rKuq/5mamf+Eg4P/c3Nz/3l5ef+Ih4i9m5ycYbGy + sRXT09MD////Af///wH///8B////Af///wH///8Bt7i3EZWVlYN4d3fvdHRz/4qLjP+srK7/zs7O/8DA + wP+bnJ3/vr29/8bFxv+1trX/ent7/1ZXV/9KS0v/Nzc4/3p6ev+jo6T/vby9/8LBw/+7u7z/t7e3/7m5 + uf+ysrL/lpeX/3Jzc/81MzX/QkNC/1BQT/9wcXH/p6eo/7S0tf+urq7/kpKR/7Kxsv/FxcP/qaip/4SF + hP9tbW3/eXh475iZmHu7vL4P////Af///wH///8B////Af///wH///8BsrKyGYuLi697e3v/UlFR/3Nx + cv+9vL3/vb6+/2xsbP8cHBz/cG9v/87Pzv/Pz87/n5+f/3Z2dv/LzMv/fn5+/8zMzP/j4+T/7Ozs/+zt + 7f/r7Oz/6enp/+Xl5v/j4uP/393d/8fIyP93eHf/xsfF/25ubf+Oj47/vr2+/76+vv9paGn/GhkZ/11d + Xf+vrq7/xMTE/4ODg/9HRkf/dHN0/4qLjKm3uLgV////Af///wH///8B////Af///wH///8B1NPUBaOj + o0GMi42fUVFS+Tw8PP+5urn/5+fn//f49//Y2dn/5OTm//7+/f/9/f3//f39//7+/f/4+Pj/6+vs//b3 + 9//08/T/8vHy//Dx8P/w7/D/7O3s/+vs6//q6ur/6enp/+np6f/b3Nz/5ubm/+/u7//t7u3/5OTk/+fo + 6P/R0tH/wsDA/97e3v/Jysr/rKys/zQ0Nf9HR0f/gIB/t5+cnTn///8B////Af///wH///8B////Af// + /wH///8B////Af///wGrrawpOzo8825ubv/y8vL//Pz7//z8+v/+/v7//v7+//39/P/8+/v/+vn6//r6 + +f/4+fj/+/r7//f39//39vX/8/X0//Tz8//z8vL/8fDx/+/u7//t7e3/6uvq/+vp6f/r6uv/5eTk/+Tk + 5P/g4eH/4ODg/+Pm4P/n6uL/6u3n/+Hj3v/Z29r/4OHg/2JiYf8yMjL/p6elP////wH///8B////Af// + /wH///8B////Af///wH///8B////Adra2gOVlJRfY2Rk/8LCw//6+vr//v3+//n2+v/k2+z/0sjh/9/V + 7P/59/v//v7+//z8/P/7/Pv//Pz6//r6+//7+vv/+Pn4//j4+P/09vX/9PP0//Hx8f/w7/D/7u3u/+vs + 6v/o6ef/6Obn/+Pk5P/s7+b/8PLq/9vU3f/FutD/wbnN/9bR1//o6uP/3+Dd/6mpqv9UVFT/h4WHgc/P + zw3///8B////Af///wH///8B////Af///wH///8BmZmZH4KBgreTk5P91NTS//Dx7//o5uv/in+f/zwr + ZP8ZBFP/FwBe/yEBbP8+IYf/loDC/+Xe8f/7+/z//P38//z+/P/8/fz//Pz8//v7+//6+vr/9/j4//X1 + 9v/z9PP/8fHy//Dv7//t7O3/7O3r/+/t7v/Bs9P/WUGZ/ysMef8eAGj/GQBa/yMOWf9NQXD/t6+//9LS + z/+2tbX/enp6/25ubs+Ih4gp////Af///wH///8B////Af///wH///8BioqKR4mJie2zsrP/4+Xj/9TT + 2v9hW2z/BQEo/wgBNP8QAUf/GAFX/xwBYv8aAWj/HAZz/1lDn//QxOX//f79//z+/P/8/fz//P78//z+ + /P/8/fv/+/r7//n4+P/29vb/9PPz//Lx8v/v8O//7uvw/5uKw/8zGYX/GABu/x0BaP8cAV7/GAFQ/w8B + Qv8GADD/JBw+/4N/j//AwL//lJWU/21tbf96eXpb////Af///wH///8B////Af///wH///8BmJiYTZaW + lufExcP/7Ovt/2xpcf8GBRP/CQEr/w8COf8VAkb/GwJU/x4CX/8jAmr/JAFz/xgBcv9WN53/+vn8//3+ + /f/8/fz//P38//v++//8/vz/+/37//r7+//6+Pn/9fX0//Lz8//4+ff/uKrT/ykQgP8gAXX/JgFw/yIC + Z/8dAlz/GgJP/xQCQ/8NATX/BQEf/xUQJf+TjZn/rq+t/3Z1dv+KiYlr////Af///wH///8B////Af// + /wH///8BkJCPK6GgoNXd3dv/s7C1/wwJEP8DARn/CQIp/wwCNP8SAj//GAJN/xsCWP8gAmT/JAJu/yYB + c/8NAGv/qpbN//3+/f/8/vz//P38//z+/P/8/fz//P78//z9/P/7/Pz/+vj6//j4+P/5+Pr/SS6P/xsB + cv8nAnT/IwJp/x8CYf8cAlb/FQJH/xECPP8MAjD/BgEj/wIAD/8nJDD/sbGy/4CBgfV1dXU9////Af// + /wH///8B////Af///wH///8BoqGjIaamp8Ho6Of/eHV6/wAABv8DARf/BgIj/wwCLf8QAjn/FQJG/xsC + Uv8cAlv/IgJn/yYCcP8TAGj/dGGp//v6/P/8/vz//P78//z+/P/8/fz//P78//z9/P/8/vz//Pr8//z7 + /P/h2+v/JQV3/yABcP8kAm3/IAJi/xwCWf8ZAk//EgJB/w4CNf8KAir/BAIe/wIBEv8EAgn/kY6S/46N + i9+EhIMx////Af///wH///8B////Af///wH///8BsbOxGaqqqq/p6en/Yl5j/wAAB/8DART/BAIf/wkC + KP8MAjH/EgI9/xgCSf8bAlT/HgJf/yICZ/8YAGf/Xk6R//X09v/8/vz//P38//v++//8/fz//P78//z+ + /P/8/vz/+/z8//z8/f/Py9v/GgBp/yABa/8hAmb/HAJa/xoCUf8VAkb/DwI5/wsCL/8HAiX/BAIa/wQB + Ev8BAAP/fn2A/5OSkc2Xl5gn////Af///wH///8B////Af///wH///8BycrJCaipqVHp7OvhhoSH/wEA + Av8CAQ7/BAIX/wYCIf8KAij/DgI1/xECP/8WAkf/GwJT/x4BXv8OAFf/eG6T//39+v/8/vz//P78//z+ + /P/8/vz//P78//z+/P/8/fz//P78//3+/f/o6Oj/Jg5k/xcBXf8cAlr/GgJO/xUCRv8QAjv/CwIw/wkC + J/8EAh7/BAIU/wIBCv8IBgv/j4+S/Y6PjqO0tbQV////Af///wH///8B////Af///wH///8B////AaKi + okHV1dTfwcLD/x0dHv8CAQf/BAIT/wQCGf8GAiH/CwIs/w4CNf8SAj7/FgJK/xYBUf8IAj7/uba///7+ + /v/8/vz/+/77//v++//8/vz/+/77//z+/P/8/vz/+/77//39/f/+/vv/WFJ3/wwAS/8ZAVD/FQJF/xAC + PP8MAjL/CQIp/wUCIP8EAhj/AwEO/wEABP85Nzn/oaKh93t8e3nOzc4F////Af///wH///8B////Af// + /wH///8B////AampqDvAvr7d8vPz/3R0dv8GBgj/AgAL/wMCFf8EAhz/BwIk/woCLf8OAjb/DwE9/wYA + Mv9RUGT/9vb1//3+/f/8/vz//P38//v++//8/vz//P78//z+/P/8/fz//P78//v8+//+/f7/vr3A/yMf + Q/8LADv/EQI8/wwCMv8KAir/BQIh/wQCGf8DAhP/AAAG/xsaHf+SkpL/kJGP9Xp6e2v///8B////Af// + /wH///8B////Af///wH///8B////Abe3uCuqrarV8vHy/+3t7f9/fX7/FhUW/wMDB/8AAA7/AQAV/wIA + Gv8DACH/FxYr/2JgbP/l5OT//f79//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/fz//P78//z9 + /P/5+fn/+Pn3/7K0tf83OEn/Cggm/wMAIP8CABr/AAAR/wAAC/8HBwn/MzIy/6Cgn/++v77/fXt955aV + lU////8B////Af///wH///8B////Af///wH///8B////AcbGxRuioaLN4+Tj//3//f/49/f/paSm/11d + Xv87OTr/Li0w/zY1Ov9TUV3/pKSn/+rq6f/9/v3/+/77//v++//8/vz/+/77//v++//8/vz/+/77//z+ + /P/8/vz/+/77//z+/P/7+/v/9/j3//j49v/Oz83/cXJ4/z8/Sv8uLTL/LSsu/z08Pf9paGv/wsLC/9zd + 3f+sra3/eHd32a2trTX///8B////Af///wH///8B////Af///wH///8B////AdLR0Audm5yJ1tbW//39 + /f/9/v3/+/v7/+rq6v/c3Nz/1tbV/9ra2//n5+f/+vr6//3+/f/8/vz//P38//v++//8/vz//P38//z8 + /P/8/Pz//Pz8//z9/P/8/fz//P78//z+/P/8/fz/+/r8//X29//19vX/6evq/9TW1P/Gx8b/xcXE/8/R + z//e39//5ebm/9HR0f+hoaH/dnR2x8DBwB3///8B////Af///wH///8B////Af///wH///8B////Af// + /wGfnqBpwsHB//b29v/8/vz/+/77//3+/f/+/v7//v7+//7+/v/9/v3//P78//z+/P/8/vz//P78//z8 + /P/8+/z//Pr8//r6+v/6+vr/+/n7//v6+//7+vv//Pv8//z9/P/8/fz/+fn5//Lz8//v7u//8O/v//Pz + 8//u7e//7Ozr/+fo5//i4uL/39/f/8nIyP+VlZP/fHt8of///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wGrqqtTsbGx//Dv8P/8/vz//P78//z+/P/8/vz/+/77//v++//8/vz//P78//3+ + /f/9/v3//f39//z6/P/6+vr/+fj5//f39v/39vf/9vb2//f29//39/f/9/j3//j4+P/19PX/8/Hz//Hx + 8f/t7e3/8vLx//Hx8f/q6ur/5OXl/+Tk5P/i4uL/39/g/7+/wP+Jion/jY6Ng////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wG8vbw1o6Ok/+jo6f/9/v3//P78//z+/P/8/vz//P38//v+ + +//8/vz//Pz8//Tz9P/u7u//7ezt/+rp6v/l5uX/4N/g/9va2v/X19j/1tXV/9bU1P/X1dX/2djZ/9rZ + 2f/a2tr/3N3c/+zq6//y8vT/9fb0//Hx8f/q6+r/5uXk/+Tk4//h4eL/3t3c/7e3t/+Bf4H/p6enWf// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wHa29oFoaCgvdja2P/8/fz/+/77//v+ + +//7/vv//P78//z+/P/9/v3/5+fn/8/Pz//DxMT/vr694bm5udO0s7TTq6qr1aOkpdmen57bmpub3Zuc + nNucnZ3bo6Kj2aOkpNunqKjrsrKy/8PEw//v7/D/+vj4//Ly8v/r6+v/5OXl/+Pk5P/j4+T/2NfX/6us + q/96e3rzzM3MF////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bn56fr8nJ + yf/5+fn//P78//z+/P/8/vz/+/77//z+/P/5+fn/zs7O/7Kysf+hoKDhpqWmS7i4uCm4u7gntLS0LbCw + sDOqq6s5p6ipO6mqqjesrKw3rq2uNampqDmUlZVjkJCQ66Kjov/O0ND/+vr6//Py8//s7ez/5eXm/+Pj + 4//k5eT/0dDR/5+gn/9/f37h////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BpKSkjbi4uP/19fX//P78//z+/P/8/vz//P38//3+/f/u7+//u7u7/5eXmPGZmZmH1dPVBf// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wHNz80Hjo6Ok4eIifuurq//8fDx//f2 + 9//t7u7/5+fn/+Pk4//n5ub/xsjG/5GRkf+Lioq1////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BpaWmXausrPPp6un//v7+//z+/P/8/vz//P78//3+/f/f3t7/paal/YmI + iM+JiYkr////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BgYCBL39+ + fdmVlZX/0dLR//j49//v8O//6Ojo/+Tk5P/m5eb/u7u8/4iIiP2Sk5J7////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BoJ6eLamoqM3c2tz//v7+//z+/P/8/vz//P78//n5 + +f/Ozc3/lpeW8YuMi3O7vLsJ////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8Bubi5C4SDg4GIh4f1urq6/+7u7v/y8vL/6enp/+Xm5f/i4uP/sa+w/4iHh++Mi4tL////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BoaKjIaKkpL/My8z//f7+//z+ + /P/7/vv//f79//Hw8f+7u7r/iIeIs6WlpR////8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AaGgoiV3dnbNpqal/93d3f/09PT/6+vq/+bn5f/c3d7/paan/4mI + iNuLiYkv////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bwr/BD5+g + n4+6vLv59fb2//3+/f/8/vz//P38/97e3v+ioaK/qKqqQf///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wGjoaNNiYmK3b6+vf/v7+//7u3t/+fn + 5//Y19b/mpqZ/YOEhKusrq8Z////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B2NjYA5iYmFOzs7Tn7evs//3+/f/8/vz/9/f3/8fHx+ehoaKD////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bjo+Pnaak + pPHd3N3/8PLx/+fn6P/Qz9D/kJCQ93p7e3vKzcoF////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Aaalpj2oqKnd4uLj//z8/P/+/v7/6+vr47Kysoerq6op////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8Bm5mZN5eVldW/vbz/8PHy/+zs6//ExcX/hYaF7YmJilv///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AcC/wBuenp571NXV//T09P/z8/T/yMfHvaam + pDf///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B2dnYA5KQkVWjoqPZ09PU/+fn5/+3trf/fX19z66vri3///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wGhnqBpxsXF/+Li + 4v/d3t23ubW2SczLygv///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Abu7uhOYmJl/trW21cLCwv+ioqL/g4KDm9DR + 0An///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wG1tLU9sLCvxcvMy7e7urtju7i4Ef///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wGcnZwblZaVv6Sk + pP+HiYjvnp6eYf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BkI+RqZaWlqmbmpsd////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BlJOUPXh4eM1vcG/Z////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BsbOzIZ2gniX///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B0dLRBY+Qjzeko6Qz////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA + AAAAQgAAAAAAAAAAAAAAAAAAAAAAAP///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAACXAAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAA/wAAAP8AAAD/AAAA/wAA + AJcAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACXAAAA/wAAAJf///8BAAAAlwAAAP8AAACX////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BAAAA/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/AAAA/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/AAAA/9nZ + 2f/Z2dn/2dnZ/9nZ2f8AAAD/AAAA/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/AAAA/9nZ2f/Z2dn/2dnZ/9nZ + 2f/Z2dn/AAAA/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/AAAA/9nZ2f8AAAD/////AQAAAP/Z2dn/AAAA//// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AQAAAP/Z2dn/AAAA/wAAAP8AAAD/AAAA/wAAAP/Z2dn/AAAA/wAA + AP8AAAD/2dnZ/wAAAP/Z2dn/AAAA/wAAAP8AAAD/2dnZ/wAAAP/Z2dn/AAAA/wAAAP8AAAD/AAAA/wAA + AP/Z2dn/AAAA/wAAAP8AAAD/2dnZ/wAAAP8AAAD/AAAA/wAAAP8AAAD/2dnZ/wAAAP/Z2dn/AAAA/wAA + AP8AAAD/2dnZ/wAAAP////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAD/2dnZ/wAAAP////8B////Af// + /wEAAAD/2dnZ/wAAAP////8BAAAA/9nZ2f8AAAD/2dnZ/wAAAP////8BAAAA/9nZ2f8AAAD/2dnZ/9nZ + 2f/Z2dn/AAAA/////wEAAAD/2dnZ/wAAAP////8BAAAA/9nZ2f8AAAD/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ + 2f8AAAD/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f8AAAD/////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAA/9nZ + 2f8AAAD/AAAA/wAAAP8AAAD/AAAA/9nZ2f8AAAD/AAAA/wAAAP/Z2dn/AAAA/9nZ2f8AAAD/AAAA/wAA + AP/Z2dn/AAAA/9nZ2f8AAAD/AAAA/wAAAP8AAAD/AAAA/9nZ2f8AAAD/////AQAAAP/Z2dn/AAAA/9nZ + 2f8AAAD/AAAA/wAAAP8AAAD/AAAA/9nZ2f8AAAD/AAAA/wAAAP/Z2dn/AAAA/////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AQAAAP/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/wAAAP/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/wAA + AP/Z2dn/2dnZ/9nZ2f/Z2dn/AAAA/wAAAP/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/wAAAP/Z2dn/AAAA//// + /wEAAAD/2dnZ/wAAAP/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/wAAAP/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/wAA + AP////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wEAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACXAAAA/wAAAP8AAAD/AAAA/wAAAJcAAACXAAAA/wAAAP8AAAD/AAAA/wAA + AP8AAACXAAAA/wAAAJf///8BAAAAlwAAAP8AAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACX////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Ad/c + 3wXW1dUXzc7OI8bExjm7u7tPtbS1W6+ur2mop6h5oaKhg56dno+am5qTmJiYl5eWmJ2XlpadmJSVoZeV + lqGXlZihl5aYnZiXmJ2bnJyPoJ+hi6Oio4Opqqlxra+vabS2tle8vbxJx8fHNc7NzyfW1tYR////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B19TXF8bE + xjm2trdXpaeleZeXl52IiIi7f4CA/3d2dv9ycW//bm1u/2xqbP9qamn/a2tp/2xqbP9ta23/a2tr/25t + bv9sbm7/a25t/25sa/9rb23/a21t/25ubP9tbWz/ampq/2xra/9ramv/aWpp/2trbP9rbG3/b3Bv/3V1 + cv97e3v/goKCx4yMjrGYmpqTp6mmdbe3t1fJxsk119fXEf///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B29vbCcbH + xjWsraxtlpWWoYOCg8dyc3L/bWxt/2xrbP9zcnP/eHh5/4CBfv+Jhoj/j42O/5aUlf+cm5z/rK2s/7Cv + sf+lpqb/qKen/6irqP+rrKv/rq+u/66trv+urq7/q6ys/6yqrP+pqqz/pqmn/6Wlo/+ioZ//nZyd/6Wl + pf+mpab/kZGR/42Ljf+FhYX/f4B+/3l6ef9zdHP/cG9w/25ub/9vcG//d3h3/4SEhMObmZuXsK+wacnJ + yTHf3eEF////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wHb2twJvbu7T5qZmJeBgIL/bW9t/2xsbP94eHj/h4eH/5+fnP+zsbP/u7u5/8bGxv/Ky8z/1dbR/+Dg + 4f/p6uj/9vT1/8rKy//Ix8X/9vX1/+3t7v/p6ej/5eXm/+Dg3//g4eD/4uLg/+Lg3//f3N3/2NjZ/9rb + 2f/d3d3/4uHj/+nq6f+/vr//urq6/+Pk4v/b2dn/zMvN/8PBwP+8urr/sbOy/6qnqf+ioKD/kJKQ/39/ + f/9zcnP/bWxt/3F0cf+Fg4X/np6ei7u9vUnd3N8F////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wHNzs4joqKig3t7ef9xb3D/fX19/4OEhv+dnZ7/tbS1/9bW1f/t7O//5+nq//37 + +//r6en/5uXm/97g3v/LzM3/v8TB/4B+gP8YFxn/REZF/5mamf+qqqj/t7e4/8LCwf/Myc7/wsLE/7i7 + uv+0tbb/u7u6/8HBwf+5t7f/qaur/5ydnf+VlZb/QkBC/xMTE/92d3X/tLWy/76+v//QztH/1NXT/9bW + 2f/o6On/2NjV/9nY2v/Jx8j/pqWj/4uKi/9yc3L/dnZ2/3BvcP9/f3//pqemedPT0xv///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BsLGwY359fv9sbGz/dHRy/3p8e/+xsLL/ycjK/+Pj + 4v/X19f/Z2ho/0dIR/95e3r/paWl/6SjpP+EhIT/PD08/wAAAP8cHBz/fH58/w0LD/8uLi//eXl5/5ub + nf+zsrP/vsC//7y7vP+8u73/ubm4/7a1tv+ztbb/qKep/5CQkf9ucG//LCst/wwKDP9wcXD/GBgY/wAA + AP8zNDT/dnd3/5aXlv+TkZP/cHFv/0hHR/9eXF//y8zK/+Li4f/V1dX/uLi4/3N0c/9lZ2b/aWho/4KD + gf+1trhX////Af///wH///8B////Af///wH///8B////Af///wH///8B////AbOzs198fHz/gYGA/1VT + U/8eHR//sa6v/8C/wP/AwsH/iomJ/y4uLv8AAAD/RUNE/9fX1//j5OP/5+fm/+Dg4P92dnb/vL28//// + //+JiYn/6uvq//////////////////7+/f/8/P3//P38//r7+//49/j/9fT1//f19v/8+fn//////+Pk + 4/+AgoD//P37/7a4tv9paGf/yszK/9bV1v/NzM3/zM7M/0JAQv8AAAD/JCQj/3Nyc/+vrq//vb29/9HR + 0f8qKSr/Q0FD/3RydP97fH7/uLq5T////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wHU09Qbm5ubk4SChMdra2z/AAAA/2VlZf/AwMD/29vb/+/w7///////ury8/9HR0/////////////// + ///////////////////39vf/4d/h//b49v/4+fn/8/Lz//Px8//w8fD/7/Hv//Dv8P/s7ez/6+3r/+rs + 6v/p6en/6enp/+vr6//p6un/0NDQ/+Tk5P/x8PD/9vT1//Hy8P/n6Of/5eXl//T19f/BwcD/pKKi/+no + 6f/V1tf/vr+//6+vrv9YWFn/AAAA/15eXv90dHTlnpuck9zc2gX///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wGrraxteHd54QAAAP+ztLP////////////2+PX//fz7//// + ////////+/v7//z7+v/49/f/+Pf4//37+v/5+/r/9vj2///////29/j/9PT1//T18v/z8/T/8/Hz//Ly + 8//z8fL/7+/v/+/v7//u7e3/7e3t/+nr6f/p6Or/6ufo/+7v7//k5OX/5eTl/+bl5f/e4OD/393e/9vd + 3P/Y2Nn/3+Hf/+zr6//d3d7/2tvZ/9nc3f//////n5+d/wAAAP9lZWX/n5+di////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////ASMjJf8eHx3/5+no//// + ///7+vv//v37//////////////////////////////////38/f/6+/n/+fn6//v6+v/7+fr/9/j6//v5 + +P/8+fj/9Pj1//b29P/19fT/8/Tz//Ty9P/x8fH/7+/y/+zu7f/t7e3/7Ovr/+3r6v/o5+n/5+bk/+Pl + 4//k4+T/4ODh/+Hi4//q7uX/8fbm//H36f/v9Oj/6e/j/+fo4f/W2Nb/3uHh/83Ly/8fHh//FxcX/9PT + 0xv///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B2traCZST + k6ViY2L/wMDC/+/v8f///v7////////////x6fT/1cjh/8K11v/Lud//4Nft//////////////////39 + /f/8/fz//f77//z8/P/7+/z/+/v8//r6+v/7+vr/9/n5//T39v/19fX/8/Py//Hx8P/y8PH/7+7v/+3u + 7f/q7Oj/6Onn/+ro6v/l5ef/4+Tj//X56v/7//D/497k/8e30f+yoMX/rqDD/8G4yv/f2t//8vbq/+fo + 4//Q0NL/pqan/1RUVP+AfoDPz8/PI////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8Btra2V3BvcPOVlpX/0M/N/+Tk4//4+fX//////87E2P9sWYz/Mxpi/xgAVv8WAF//HQBn/ywE + ev9ZO5v/qIvP///7/////////P78//z+/P/8/vz//P78//z+/P/9/P3/+/z7//r6+//5+fn/9/n4//T2 + 9//18/T/8/Ty//Hx8v/x7/H/7u7u/+zr7f/o6en/7u7q////9//d0+H/g2qz/0Eiiv8kAHb/HwBp/xkA + YP8fAVz/OiZp/3dokv/Xz9r/7O7k/8TFwv+ura//fn1+/1dXV/+lpaV9////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AXl5ed2Liov/tbS2/8vLyf/v8vH//////42Bn/8MBDL/AAAi/wUA + Of8MAEn/FABT/xkAXv8ZAGT/DQBl/w0AbP9YOKL/3czw///////9/v3//P78//z+/P/8/vz//P/8//z+ + /P/9/v3//Pz7//r6+//6+fv/+Pj2//T19f/z9PX/8vLy//Lw8P/u7e//8vPu/////f+6pdT/Mg2I/wsA + bf8UAGf/GwBm/xoAXP8WAFL/EABG/wIANP8AACr/KxlP/6OZr//g5Nz/s7Kw/5WWlP9ydXL/X11f//// + /wH///8B////Af///wH///8B////Af///wH///8B////AczNzCd7eXvdpKSk/8TCxP/w8vD//////2Zc + ev8AAAT/AAAb/woCN/8TAkD/GQJM/xwCWP8eAmD/IgJn/yUCbv8fAHD/CABo/ykJgv/Vxen///////3/ + /P/8/vz//P78//z+/P/8/vz//P/8//z//P/9+/3/+/r7//n4+P/49/f/9vXz//Ty9P/x8fP/7/Pv//// + /P+ihsj/EgB2/xIAbf8jAXP/JQJv/yICZ/8dAlz/HQJU/xgCTf8TAkH/CgAv/wAAFf8BABr/i4KZ/9bY + 0/+kpaT/iImI/11cXf+9vb1J////Af///wH///8B////Af///wH///8B////Af///wHP0c8fgYGBy6qr + qv/R09D//////6qmsf8AAAD/AAAU/wwCLf8NAjP/EgI+/xUCSP8bAlD/HAJZ/yACZP8lAmz/JwJ1/yoC + ef8IAGv/TCCY//j1+////////P78//z+/P/8/vz//P78//z+/P/8/vz//P78//v9+//7+/z//Pn6//f2 + 9v/z9fT/8/Ly/////P/XzOb/HQB6/xUAcv8rAnn/KAJx/yQCa/8fAmH/HAJa/xsCUf8VAkX/EgI//w0C + NP8JAir/AAAO/woAG/+sprH/wsTA/4mIiv9mZWX/xsbGNf///wH///8B////Af///wH///8B////Af// + /wH///8B////AY2Ni7Gura7/6Onn//b09v8hGir/AAAA/wUCIv8KAij/CwIx/w4COf8UAkP/GAJL/xwC + WP8cAlz/IwJq/yQCb/8oAnL/JQF1/wUAaf+fhMj///////z+/P/8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz//f39//v8/P/6+fr/9/f3//j5+P////7/bU6l/wcAaP8sAn3/JwJz/yQCbP8iAmj/HQJe/xwC + Vf8XAkv/EwJB/xACOv8MAi//CQIn/wQBHf8AAAD/Qz9P/8fHxv+Njo7/bm9v89zc3AX///8B////Af// + /wH///8B////Af///wH///8B////Af///wGcm56Tqqmp//z8+f+4trz/AAAA/wAACv8FAh//BgIk/wwC + Lf8PAjX/EwI//xYCSf8ZAlL/HQJY/x4CYf8jAmj/JwJw/ykCd/8IAGX/WkGc///+/////////P78//z+ + /P/8/vz//P78//z+/P/8/vz//P78//z+/P/9/v3//fv9//r4+v//////6ePw/zMNhP8ZAG7/KAJ1/yQC + cP8jAmj/HwJh/x0CWf8bAlH/FAJG/xMCPv8NAjT/CwIq/wUCIf8EAh7/AAAH/wsHEv+hnaX/lpWT/3x8 + e9X///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bqqqqcaipqf//////iYOL/wAA + AP8AAA7/BAIY/wMCHv8KAiX/DgIw/w8COP8SAj7/GQJL/x4CU/8bAlv/IAJj/yQCa/8lAm//EQBm/zYg + gP/y7vb///////z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//38/f/6+fr//////8e8 + 2f8fAXH/HQBw/yUCcP8jAmn/HwJh/xwCWv8bAlH/FgJK/xMCQf8OAjf/CwIu/wkCJv8EAh3/BAIa/wMB + DP8AAAD/f3yC/5SUj/+Qjo+t////Af///wH///8B////Af///wH///8B////Af///wH///8B////AbW3 + tVeop6j//////4J8g/8AAAD/AQAO/wQCFv8EAh3/BwIk/wsCK/8MAjL/EQI7/xUCQv8ZAkz/HQJW/x0C + XP8fAmL/JQJq/xUAZv8tGW7/6+jr///////8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz/+/v8//////++uc3/GABm/x0Aav8kAmr/HwJj/xwCW/8cAlX/GQJL/xQCQv8QAjr/DAIz/wsC + K/8GAiL/BAIb/wQCFv8FAg7/AAAA/3d2e/+Pjo3/m5uck////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wHJyskroaKig/r+/f+joKT/AAAA/wAABP8EAhT/BAIW/wUCIP8JAib/DAIs/w4C + Nv8SAj3/EwJG/xkCS/8dAlP/HAJc/yICZP8LAFv/PzBr//r69P///////P78//z+/P/8/vz//P78//z+ + /P/8/vz//P78//z+/P/8/vz//P/8//z9/P//////2NfZ/yUIZf8WAGD/HwJi/xsCW/8dAlL/GQJL/xQC + Rv8RAjv/DAI0/wwCLf8IAiX/BAIe/wQCF/8EAhL/AQAF/wMABv+MipH/hoaF/7GysV////8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AaGiooPq7Or/3+Dj/woIDP8AAAD/BAIO/wQC + E/8EAhn/BQIf/wkCJv8MAi7/DgI1/xICPf8UAkP/FwJM/xsCVP8eAV7/AAA9/3VsiP///////v7+//z+ + /P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z//P/8/fz///////3+9/9IOG7/AABN/yAC + XP8cAlL/FwJK/xQCRf8RAjz/DAI0/wwCL/8JAib/BQIg/wQCGv8EAhL/BAIO/wAAAP8kIiX/rK2t/3h6 + eNnPzs8j////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wGkpKN90tHQ//// + //9sbG7/AAAA/wIBB/8EAhH/BAIV/wMCGv8FAiD/CgIn/wwCLv8OAjX/EwI+/xMCRP8ZAk3/CQBI/woF + M//R0cz///////z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8//z//Pz8//78 + /v//////paOn/wAAMv8TAFH/GAJL/xUCRP8RAj3/DAIz/wwCLv8KAij/BQIh/wMCGv8EAhX/BAIP/wAA + BP8AAAD/dnN0/7KzsP9ycnPp////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BrKurcb+8vf//////7/Hw/yMiJv8AAAD/AQAH/wQCEv8EAhj/BAId/wYCIf8IAij/CwIv/w4C + N/8RAjz/BQA4/wAAHv+NjZD///////7//v/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz//P78//z+/P/7+vv/////////9/9YU2T/AAAl/wsAPP8TAj3/DAI0/wwCLf8JAij/BQIi/wQC + G/8EAhb/BAIR/wAABv8AAAD/SEZM/8bHxP+Ojoz/fn5/z////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AbW1tlurr6z/8vHy///////Q0NH/MjAx/wAAAP8AAAD/AAAL/wEA + Fv8CABv/AgAf/wQAJP8CACP/AAAX/wEAHv93c3f////+//7////8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz//P78//z+/P/8/vz//P78//z+/P/9/v3/+/z7//j5+P//////5ung/1FSYP8AABr/AAAh/wUA + Jv8FACT/AwAh/wEAGf8BABP/AAAK/wAAAP8AAAD/RkRG/9DRz/+/wL//enh7/5KRkan///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wHCw8M9oqOi/+Lh4v/+//7//////+3q + 7P9ubHD/Gxse/wAAAP8AAAD/AAAA/wAAA/8AAAn/CQQg/0A/S/+urar////////////8/vz//P78//z+ + /P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//3+/f/5+Pr/9fj0//// + ///y8er/iIqK/zEwPP8AABr/AAAP/wAAA/8AAAD/AAAA/wAAAv8pKCr/f31+/+Li4v/f4N//o6Sj/3Nz + cv+op6h5////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BzMvKK5+b + nv/U19T//P/8//7//v///////////8rKy/+RkJH/bWpr/1xaXv9gXmP/fHp7/62trP/o6OX///////// + ///8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz//f39//r4+//z9fT//vz8//r79//O0Mv/k5OT/2xpbv9YVVv/V1JZ/2dmZv+NjI7/wsHE/+3u + 7f/t7u7/xMXG/52en/9vbm7/tra2V////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Adna1w2ZmZiXxsbG//z8/P///////P78//////////////////////////3///////// + //////////////7////8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P38//38/f/8/Pz//fz9//z9 + /P/8/fz//P78//z+/P/8/vz//P78//z+/P/+/P7/+vn8/+/z8//29fX/+fr7//T39f/u8O3/6ero/+np + 5//q7er/7/Dv/+vt7f/k5eb/4uLh/728vP+Wlpb/cW9x88fJxzH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BnZyej7e1t//x8vH///////z+/P/8/vz//P/8//// + /////////////////////////v/+//z+/P/8/vz//P78//z+/P/8/vz//P78//z7/P/8+/z//fr9//v6 + +//6+vr/+/r7//v5+//8+fz//Pr8//z6/P/8+vz//P38//z+/P/9//3//P38//b39//x8vH/8O7v/+7u + 7v/09PX/8/Ty/+/u8f/x7+//7Ozr/+bn5//i4eH/4eDf/97e3v+4t7X/jY2M/3l4ed3///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Aailp32oqKb/5uXm//// + ///8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8//z//f/9//38 + /f/++/7//fz9//z7/P/5+/n/+vr6//v6+v/7+vv/+/z7//v7+//8/fz//P38///+/////f//+/v7//f1 + 9//x8PH/7+/v/+3s7f/w8O3/9vT0/+7v7//p5+j/5Obm/+Pm5P/l4+T/4uHg/+Hj5P/Z19n/ra2u/4KE + gv+Ihoi/////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGwsrJfm5yc/97c3f///////P78//z+/P/8/vz//P78//z+/P/8/vz//P78//z+/P/8/vz//P78//// + /////////v/+//38/f/9/P3/+fn5//f69//49/j/9/X1//Xz9P/z9PT/8vPy//Ly8v/08vT/8vLy//Hz + 8f/z9PP/8vLy/+/t7//w7vD/9PX0//Hx8f/t7O3/8/Xz//P19P/u7u//6urp/+Xm5f/l5uX/5eTk/+Hi + 5P/l5eT/0NHS/6inp/97e3z/lZiVnf///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bw8PCPZKRkv/Oz9L///////3//f/8/vz//P78//z+/P/8/vz//P78//z+ + /P/8/vz//P78///////29fb/7Ovt/+jo6f/p6On/6eXp/+Lj4v/f39//2dra/9bU1P/Q0M//zc7P/83M + zf/My8r/zsvK/87NzP/R0NL/0dDR/9PT0v/U1NT/09XT/+Df4P/08fL/9PX4//f49v/18/T/7/Dv/+nq + 6f/n5eX/5ubk/+Pj4//h4eL/5ePi/8rJyP+jpKT/dHF0/7CvsGn///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Adrb2gmTkZKpwMK///f6+P///////P78//z+ + /P/8/vz//P78//z+/P/8/vz//P78///////z9PP/2tna/8/Q0f/LzMz/xsfF/728vf+3t7f/s7Kz/62r + rP+jpaX/oaGj/5ycmv+ZmZn/mZqZ/5mam/+bnJv/oqGi/6Kiov+kpab/sbGx/7q5uv+9vb3/2drZ///+ + ///8+fn/9vT0//Dx8f/p6en/5eXm/+Tm5f/k5OT/5OPk/+Lh4f++wL//nZ2d/21vbfPMzcwn////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BlJSUobGw + sP/w8fD///////z+/P/8/vz//P78//z+/P/8/vz//P78//3//f/9/f3/3t3e/8bFxf+6urj/p6an/5yb + nJO1trVXvLy8Sbi7uE+1trRXs7K0X66vrmmqq6txqKipdaiqqnGrrKxtraysba6trm2wsK5jpaWlfYeI + iLuWlpb/qKio/7W2tP/t7u///f/+//P09P/x8PD/6uvq/+bl5//k5eT/4+Pj/+Tl5f/f3eD/uLi4/5OT + kv90dXTl////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AaKgooeioKL/5OPl///////8//z//P78//z+/P/8/vz//P78//z+/P//////8vL0/8zM + zf+ysrD/mZuZ/5GPkK3V1NUX////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wHNz80jgoKCx4yOjf+goKL/yMvK//v7+//49vj/8PHz/+vt7P/n5+f/5OXk/+Pi + 4//m5+b/19fX/7Cxr/+ChIT/g4KBx////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wG2tbVblZaV/9XU1f///////f/9//z+/P/8/vz//P78//z+ + /P/8/vz//////+bn5/++vr3/p6Wo/3p7ftm7urdT////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Aba2tVdvbnDzlpiZ/7Cvr//q6Or//v3+//Ly + 8//t7u7/6ejp/+Pl4//l5OT/6ejo/87Rzv+nqKb/dnZ4/56cnI////8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bw8TFOZKSk//Fx8b/+fv5//// + ///8/vz//P78//z+/P/8/vz//v/+//7+/v/Z2Nn/srOx/46Njv+Eg4PH////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Be3p62YGB + f/+foKD/ysvK///+/P/19vT/7e7s/+nq6f/k5OT/5eTl/+fn5//Hx8n/oqKj/29wb/+0tLRb////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AdfW + 1RGWk5Olvbu7/+7u8P///////P78//z+/P/8/vz//P78///////6+/r/ysjJ/6Wop/94eXfdu7y7Sf// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Abm4uVNwbm3zl5eY/7OztP/u7u7/+vr7//Dv8P/q6+r/5ebl/+bl5f/k5eX/v72+/52b + nP90c3PpycnHMf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bm5qak6ysq//l4uT///////z+/P/8/vz//P78//z+/P//////7+7v/7m5 + uP+RkZD/kZGRqf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BiYeKv4GBgP+npqX/19jY//v6+//w8fD/6+vr/+Xn + 5f/n5+f/3t7f/7W1tP+Qj4//f3191f///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AaSmqHmho6L/1tXW//3//v/+//7//P78//z+ + /P/9//3//////9/d3/+qq6r/gX+Cz9HT0xv///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Ac/PzyNubW73mJiX/8DB + wP/z8vP/9vX2/+7t7f/n5+T/5+jn/9jZ2v+usLH/hoWG/5COjq3///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wHBvsBFmZqY/8bK + yP/09/b///////z+/P/8/vz//v/+//v7+//My8z/kI+QraiqqnH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8Bo6Gjh319fdWsrKz/293a//r5+v/w7u//6ufn/+bn5//W1NP/qqmn/3V1dv+pq6xx////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B2NnYDZOTk6XBwMH/7evt///////8/vz//P78///////s7uz/sbKx/5KSk6X///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wF/goLLmZia/8XDw//z9PT/8vPy/+jn6P/n6Of/zsvN/6Cf + oP9wcnDpys3LJ////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wGamZqXs7O0/+Pg4P////7//f/9//7//v//////19XY/5aW + lZ3Kycox////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bv8DAQYOBf8uxrrD/4N7f//X5 + 9//q6+z/5ubo/8TExf+TkpL/d3h63f///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BrKysbaalpv/Y2Nr/+Pn5//// + ////////7/Dw/6+vsGmoqKh1////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGYlZahlJOT/8TDwP/u7vH/9vX0/+Xm5f+2uLj/gIF//5KRkqn///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AcC/ + wEWampqTztDQ//Dx8f//////+Pf5/9HQ0f+io6GD////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B2dnYDYmHiL+tra3/0NHQ//n3+v/m5uT/raut/3Z3dv+rrKtt////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BnZubk8XFxP/n5ub/7e/t/9/f3/+1sbJjzMvKK////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wG8vLpJkY+Srbq5uv/V1NT/zc7O/6Kh + ov98enzZ0NHQH////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AaajpoO4trX/2NjY/97e3v/DwsM9u7i4U/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AZyd + nI+enZ6PuLe2/7CvsP+Pko//iIiIu////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wHAwMBBmZmZl8XG + xf+/wL9BsK+waf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BjI2MsZmamP+lpaf/dXh24aysrG3///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AYqIi7uTk5P/m5qbk////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AdLR0h95eHndcXNy/2ZmZv////8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wHJy8wrnJ+di93c3QX///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B0dLRG4eH + h7++vL5J////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== diff --git a/BorderlessGaming.csproj b/BorderlessGaming.csproj index e1d0f27..b4939b8 100644 --- a/BorderlessGaming.csproj +++ b/BorderlessGaming.csproj @@ -52,6 +52,9 @@ frame.ico + + app.manifest + ..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll @@ -92,6 +95,7 @@ Resources.resx True + SettingsSingleFileGenerator diff --git a/Favorites.cs b/Favorites.cs index d68c76f..05ba4c8 100644 --- a/Favorites.cs +++ b/Favorites.cs @@ -1,21 +1,26 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Windows.Forms; using Newtonsoft.Json; namespace BorderlessGaming { public static class Favorites { + private static List _favoriteGames; + static Favorites() { _favoriteGames = new List(); Load("./Favorites.json"); } + public static List List + { + get { return _favoriteGames; } + } + public static void AddGame(string title) { _favoriteGames.Add(title); @@ -24,18 +29,29 @@ public static void AddGame(string title) public static void Save(string path) { var jsonDoc = JsonConvert.SerializeObject(_favoriteGames); - File.WriteAllText(path, jsonDoc); + try + { + File.WriteAllText(path, jsonDoc); + } + catch (Exception e) + { + MessageBox.Show("Unable to save favorites, do you have permission?" + e.Message, "Uh oh!", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } } public static void Load(string path) { - if (!File.Exists(path)) + if (File.Exists(path)) + { + var jsonDoc = File.ReadAllText(path); + _favoriteGames = new List(JsonConvert.DeserializeObject>(jsonDoc)); + } + else { Save(path); return; } - var jsonDoc = File.ReadAllText(path); - _favoriteGames = new List(JsonConvert.DeserializeObject>(jsonDoc)); } public static void Remove(string path, string item) @@ -44,20 +60,14 @@ public static void Remove(string path, string item) Save(path); } - public static bool canAdd(string item) + public static bool CanAdd(string item) { - if (_favoriteGames.Contains(item)) - { - return false; - } - return true; + return !_favoriteGames.Contains(item); } - public static List List + public static bool CanRemove(string item) { - get { return _favoriteGames; } + return _favoriteGames.Contains(item); } - - private static List _favoriteGames; } -} +} \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index c9500f7..7e674f0 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -33,6 +33,6 @@ // 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("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] +[assembly: AssemblyVersion("4.0.0.0")] +[assembly: AssemblyFileVersion("4.0.0.0")] [assembly: NeutralResourcesLanguageAttribute("en-US")] diff --git a/README.md b/README.md index cbf64b6..25f3645 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,11 @@ Borderless Gaming is a simple tool that will allow you to turn your windowed vid The project is open source under the [GNU GENERAL PUBLIC LICENSE](https://github.com/Codeusa/Borderless-Gaming/blob/master/LICENSE). -![Image](http://i.imgur.com/5sv2WEM.png) +![Image](http://i.imgur.com/raYobk3.png) + +![Image](http://i.imgur.com/JZ1malK.jpg) + +![Image](http://i.imgur.com/kRmOysJ.jpg) ## How to install and run Borderless-Gaming diff --git a/app.manifest b/app.manifest new file mode 100644 index 0000000..d4437aa --- /dev/null +++ b/app.manifest @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +