diff --git a/ClearCache1C.sln b/ClearCache1C.sln
new file mode 100644
index 0000000..13eafed
--- /dev/null
+++ b/ClearCache1C.sln
@@ -0,0 +1,27 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28306.52
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearCache1C", "ClearCache1C\ClearCache1C.csproj", "{CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{083C60B7-90FE-4420-ACC6-6FCD7AF073A6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {BB1D2E8F-9657-45EA-B581-2CE59F7A8F53}
+ EndGlobalSection
+EndGlobal
diff --git a/ClearCache1C/App.config b/ClearCache1C/App.config
new file mode 100644
index 0000000..731f6de
--- /dev/null
+++ b/ClearCache1C/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ClearCache1C/ClearCache1C.csproj b/ClearCache1C/ClearCache1C.csproj
new file mode 100644
index 0000000..ad7696a
--- /dev/null
+++ b/ClearCache1C/ClearCache1C.csproj
@@ -0,0 +1,118 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {CA37FAA9-7C77-4C16-81A4-3BBD93F235A1}
+ WinExe
+ ClearCache1C
+ ClearCache1C
+ v4.6.1
+ 512
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+ ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+ Form
+
+
+ Form2.cs
+
+
+ Form
+
+
+ Form3.cs
+
+
+
+
+ Form1.cs
+
+
+ Form2.cs
+
+
+ Form3.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ClearCache1C/Form1.Designer.cs b/ClearCache1C/Form1.Designer.cs
new file mode 100644
index 0000000..ab0731b
--- /dev/null
+++ b/ClearCache1C/Form1.Designer.cs
@@ -0,0 +1,191 @@
+namespace ClearCache1C
+{
+ partial class FormMain
+ {
+ ///
+ /// Обязательная переменная конструктора.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Освободить все используемые ресурсы.
+ ///
+ /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Код, автоматически созданный конструктором форм Windows
+
+ ///
+ /// Требуемый метод для поддержки конструктора — не изменяйте
+ /// содержимое этого метода с помощью редактора кода.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
+ this.ListBases = new System.Windows.Forms.CheckedListBox();
+ this.btnClearCache = new System.Windows.Forms.Button();
+ this.btnPurgeAll = new System.Windows.Forms.Button();
+ this.InfoBox = new System.Windows.Forms.TextBox();
+ this.btnExpand = new System.Windows.Forms.Button();
+ this.btnSmartSelect = new System.Windows.Forms.Button();
+ this.btnRemoveSelection = new System.Windows.Forms.Button();
+ this.btnSelectAll = new System.Windows.Forms.Button();
+ this.btnAbout = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // ListBases
+ //
+ this.ListBases.BackColor = System.Drawing.SystemColors.Window;
+ this.ListBases.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.ListBases.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.ListBases.FormattingEnabled = true;
+ this.ListBases.Location = new System.Drawing.Point(12, 42);
+ this.ListBases.Name = "ListBases";
+ this.ListBases.RightToLeft = System.Windows.Forms.RightToLeft.No;
+ this.ListBases.Size = new System.Drawing.Size(400, 364);
+ this.ListBases.TabIndex = 0;
+ this.ListBases.SelectedIndexChanged += new System.EventHandler(this.ListBases_SelectedIndexChanged);
+ //
+ // btnClearCache
+ //
+ this.btnClearCache.Location = new System.Drawing.Point(12, 412);
+ this.btnClearCache.Name = "btnClearCache";
+ this.btnClearCache.Size = new System.Drawing.Size(198, 37);
+ this.btnClearCache.TabIndex = 1;
+ this.btnClearCache.Text = "Очистить кэш";
+ this.btnClearCache.UseVisualStyleBackColor = true;
+ this.btnClearCache.Click += new System.EventHandler(this.ButtonClearCache_Click);
+ //
+ // btnPurgeAll
+ //
+ this.btnPurgeAll.Location = new System.Drawing.Point(214, 412);
+ this.btnPurgeAll.Name = "btnPurgeAll";
+ this.btnPurgeAll.Size = new System.Drawing.Size(198, 37);
+ this.btnPurgeAll.TabIndex = 4;
+ this.btnPurgeAll.Text = "Удалить все";
+ this.btnPurgeAll.UseVisualStyleBackColor = true;
+ this.btnPurgeAll.Click += new System.EventHandler(this.ButtonPurgeAll_Click);
+ //
+ // InfoBox
+ //
+ this.InfoBox.BackColor = System.Drawing.SystemColors.Info;
+ this.InfoBox.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.InfoBox.Location = new System.Drawing.Point(445, 12);
+ this.InfoBox.Multiline = true;
+ this.InfoBox.Name = "InfoBox";
+ this.InfoBox.ReadOnly = true;
+ this.InfoBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
+ this.InfoBox.Size = new System.Drawing.Size(400, 437);
+ this.InfoBox.TabIndex = 6;
+ this.InfoBox.WordWrap = false;
+ //
+ // btnExpand
+ //
+ this.btnExpand.FlatAppearance.BorderSize = 0;
+ this.btnExpand.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.btnExpand.Location = new System.Drawing.Point(418, 42);
+ this.btnExpand.Name = "btnExpand";
+ this.btnExpand.Size = new System.Drawing.Size(21, 364);
+ this.btnExpand.TabIndex = 7;
+ this.btnExpand.Text = ">\r\n>\r\n>";
+ this.btnExpand.UseVisualStyleBackColor = true;
+ this.btnExpand.Click += new System.EventHandler(this.ButtonExpand_Click);
+ //
+ // btnSmartSelect
+ //
+ this.btnSmartSelect.Image = global::ClearCache1C.Properties.Resources.icon_smart_select_16;
+ this.btnSmartSelect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnSmartSelect.Location = new System.Drawing.Point(12, 12);
+ this.btnSmartSelect.Name = "btnSmartSelect";
+ this.btnSmartSelect.Size = new System.Drawing.Size(130, 27);
+ this.btnSmartSelect.TabIndex = 8;
+ this.btnSmartSelect.Text = "Выделить с кэшем";
+ this.btnSmartSelect.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btnSmartSelect.UseVisualStyleBackColor = true;
+ this.btnSmartSelect.Click += new System.EventHandler(this.ButtonSmartSelect_Click);
+ //
+ // btnRemoveSelection
+ //
+ this.btnRemoveSelection.Image = ((System.Drawing.Image)(resources.GetObject("btnRemoveSelection.Image")));
+ this.btnRemoveSelection.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnRemoveSelection.Location = new System.Drawing.Point(282, 12);
+ this.btnRemoveSelection.Name = "btnRemoveSelection";
+ this.btnRemoveSelection.Size = new System.Drawing.Size(130, 27);
+ this.btnRemoveSelection.TabIndex = 3;
+ this.btnRemoveSelection.Text = "Снять выделение";
+ this.btnRemoveSelection.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btnRemoveSelection.UseVisualStyleBackColor = true;
+ this.btnRemoveSelection.Click += new System.EventHandler(this.ButtonRemoveSelection_Click);
+ //
+ // btnSelectAll
+ //
+ this.btnSelectAll.Image = ((System.Drawing.Image)(resources.GetObject("btnSelectAll.Image")));
+ this.btnSelectAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnSelectAll.Location = new System.Drawing.Point(146, 12);
+ this.btnSelectAll.Name = "btnSelectAll";
+ this.btnSelectAll.Size = new System.Drawing.Size(130, 27);
+ this.btnSelectAll.TabIndex = 2;
+ this.btnSelectAll.Text = "Выделить все";
+ this.btnSelectAll.UseVisualStyleBackColor = true;
+ this.btnSelectAll.Click += new System.EventHandler(this.ButtonSelectAll_Click);
+ //
+ // btnAbout
+ //
+ this.btnAbout.Cursor = System.Windows.Forms.Cursors.Help;
+ this.btnAbout.FlatAppearance.BorderSize = 0;
+ this.btnAbout.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.btnAbout.Location = new System.Drawing.Point(418, 13);
+ this.btnAbout.Name = "btnAbout";
+ this.btnAbout.Size = new System.Drawing.Size(21, 26);
+ this.btnAbout.TabIndex = 9;
+ this.btnAbout.Text = "?";
+ this.btnAbout.UseVisualStyleBackColor = true;
+ this.btnAbout.Click += new System.EventHandler(this.ButtonAbout_Click);
+ //
+ // FormMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(854, 461);
+ this.Controls.Add(this.btnAbout);
+ this.Controls.Add(this.btnSmartSelect);
+ this.Controls.Add(this.btnExpand);
+ this.Controls.Add(this.InfoBox);
+ this.Controls.Add(this.btnPurgeAll);
+ this.Controls.Add(this.btnRemoveSelection);
+ this.Controls.Add(this.btnSelectAll);
+ this.Controls.Add(this.btnClearCache);
+ this.Controls.Add(this.ListBases);
+ this.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FormMain";
+ this.Text = "Чистка кэша 1С";
+ this.Load += new System.EventHandler(this.FormMain_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button btnClearCache;
+ private System.Windows.Forms.Button btnSelectAll;
+ private System.Windows.Forms.Button btnRemoveSelection;
+ private System.Windows.Forms.Button btnPurgeAll;
+ private System.Windows.Forms.TextBox InfoBox;
+ private System.Windows.Forms.Button btnExpand;
+ private System.Windows.Forms.CheckedListBox ListBases;
+ private System.Windows.Forms.Button btnSmartSelect;
+ private System.Windows.Forms.Button btnAbout;
+ }
+}
+
diff --git a/ClearCache1C/Form1.cs b/ClearCache1C/Form1.cs
new file mode 100644
index 0000000..a886e96
--- /dev/null
+++ b/ClearCache1C/Form1.cs
@@ -0,0 +1,422 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+// Using
+using System.IO;
+
+namespace ClearCache1C
+{
+ public partial class FormMain : Form
+ {
+ public FormMain()
+ {
+ StartPosition = FormStartPosition.CenterScreen;
+ InitializeComponent();
+ }
+ // ******************* Classes *******************
+ public class BasesListItem
+ {
+ public string Name { get; set; }
+ public string Path { get; set; }
+ public string Id { get; set; }
+ public bool FolderExists { get; set; }
+ public float FolderSize { get; set; }
+ public float CacheSize { get; set; }
+ public List FolderPaths { get; set; }
+ public List CachePaths { get; set; }
+ public BasesListItem(string s_name, string s_path, string s_id,
+ bool s_folder_exists,
+ float s_folder_size, float s_cache_size,
+ List s_folder_paths, List s_cache_paths)
+ {
+ Name = s_name;
+ Path = s_path;
+ Id = s_id;
+ FolderExists = s_folder_exists;
+ FolderSize = s_folder_size;
+ CacheSize = s_cache_size;
+ FolderPaths = s_folder_paths;
+ CachePaths = s_cache_paths;
+ }
+ public override string ToString() {
+ string f_size = String.Format("{0,3}", CacheSize.ToString("0"));
+ return (CacheSize > 0 ? "[" + f_size + " Mb] ": "[------] ")
+ + Name;
+ }
+ }
+ // ******************* Events *******************
+ private void FormMain_Load(object sender, EventArgs e)
+ {
+ RefreshListBases();
+ ToggleInfoView();
+ //MaximizeBox = false;
+ //MinimizeBox = false;
+ }
+ // ****** LIST CONTROL BUTTONS
+ private void ButtonSmartSelect_Click(object sender, EventArgs e)
+ {
+ ModListBases(true, true);
+ }
+ private void ButtonSelectAll_Click(object sender, EventArgs e)
+ {
+ ModListBases(true, false);
+ }
+ private void ButtonRemoveSelection_Click(object sender, EventArgs e)
+ {
+ ModListBases(false, false);
+ }
+ private void ButtonExpand_Click(object sender, EventArgs e)
+ {
+ ToggleInfoView();
+ }
+ private void ToggleInfoView()
+ {
+ if (Size.Width != 870) // is collapsed
+ {
+ Size = new Size(870, Size.Height);
+ btnExpand.Text = "<\r\n<\r\n<";
+ InfoBox.Visible = true;
+ ShowSelectedInfo();
+ }
+ else
+ {
+ int calc_width = btnExpand.Location.X + btnExpand.Size.Width + 22;
+ Size = new Size(calc_width, Size.Height);
+ btnExpand.Text = ">\r\n>\r\n>";
+ InfoBox.Visible = false;
+ }
+ }
+
+ // ****** MAIN BUTTONS
+ private void ButtonClearCache_Click(object sender, EventArgs e)
+ {
+ if (ListBases.CheckedItems.Count == 0)
+ {
+ MessageBox.Show("Ничего не выбрано.", "Meh...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
+ return;
+ }
+ ClearFolders(false);
+ RefreshListBases();
+ ShowSelectedInfo();
+ }
+ private void ButtonPurgeAll_Click(object sender, EventArgs e)
+ {
+ if (ListBases.CheckedItems.Count == 0)
+ {
+ MessageBox.Show("Ничего не выбрано.", "Meh...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
+ return;
+ }
+ DialogResult dialogResult = MessageBox.Show("Это удалит все локальные настройки пользователя в выбранных базах. \r\nВы уверены, что хотите этого?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
+ if (dialogResult == DialogResult.Yes)
+ {
+ ClearFolders(true);
+ RefreshListBases();
+ ShowSelectedInfo();
+ }
+ }
+ // ****** FOR DEBUG
+ private void ListBases_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ShowSelectedInfo();
+ }
+ // ******************* MAIN *******************
+ private void ClearFolders(bool purge)
+ {
+ CheckedListBox.CheckedItemCollection items = ListBases.CheckedItems;
+
+ int successfully_deleted = 0;
+ int errors_on_delete = 0;
+ float total_size_deleted = 0.0f;
+
+ List list_success = new List();
+ List list_error = new List();
+ List list_exceptions = new List();
+
+ for (int i = 0; i < items.Count; i++)
+ {
+ BasesListItem base_item = items[i] as BasesListItem;
+ (bool is_error, float deleted_size, List exceptions) = DeleteFoldersContent(purge ? base_item.FolderPaths : base_item.CachePaths);
+ if (!is_error)
+ {
+ successfully_deleted++;
+ list_success.Add(base_item.Name);
+ }
+ else
+ {
+ errors_on_delete++;
+ list_error.Add(base_item.Name);
+ list_exceptions.AddRange(exceptions);
+ }
+ total_size_deleted += deleted_size;
+ }
+ ShowResults(successfully_deleted, errors_on_delete, total_size_deleted, list_success, list_error, list_exceptions);
+ }
+ private void ShowResults(int successfully_deleted, int errors_on_delete, float total_size_deleted,
+ List list_success, List list_error, List list_exceptions)
+ {
+ FormResult resultForm = new FormResult();
+ resultForm.SetInfoResult(successfully_deleted, errors_on_delete, total_size_deleted,
+ list_success, list_error, list_exceptions);
+ resultForm.ShowDialog();
+ }
+ private (bool is_error, float deleted_size, List exceptions) DeleteFoldersContent(List ListPaths)
+ {
+ bool is_error = false;
+ float deleted_size = 0.0f;
+ List exceptions = new List();
+
+ foreach (string folder_path in ListPaths)
+ {
+ long folder_size = DirSize(new DirectoryInfo(folder_path));
+ try
+ {
+ Directory.Delete(folder_path, true);
+ deleted_size += folder_size;
+ }
+ catch (Exception e)
+ {
+ is_error = true;
+ exceptions.Add(e.ToString());
+ }
+ }
+ deleted_size = deleted_size / 1024 / 1024;
+ return (is_error, deleted_size, exceptions);
+ }
+
+ // ******************* Added functions *******************
+ private void ShowSelectedInfo()
+ {
+ if (!InfoBox.Visible) { return; }
+ InfoBox.ResetText();
+ BasesListItem curItem = ListBases.SelectedItem as BasesListItem;
+ if (curItem is null) { return; }
+ /*
+ Console.WriteLine("Name: " + curItem.Name);
+ Console.WriteLine("ID: " + curItem.Id);
+ Console.WriteLine("Connect string: " + curItem.Path);
+ Console.WriteLine("Cache exists: " + curItem.FolderExists);
+ Console.WriteLine("Size total: " + curItem.FolderSize.ToString("0.00"));
+ Console.WriteLine("Size cache: " + curItem.CacheSize.ToString("0.00"));
+ Console.WriteLine("Root Folders: " + curItem.FolderPaths.Count);
+ Console.WriteLine("Cache Folders: " + curItem.CachePaths.Count);
+ */
+ InfoBox.AppendText("--- Информация о базе ---");
+ InfoBox.AppendText("\r\nИмя: " + curItem.Name);
+ InfoBox.AppendText("\r\nID: " + curItem.Id);
+ InfoBox.AppendText("\r\nСтрока подключения: " + curItem.Path);
+
+ InfoBox.AppendText("\r\n");
+ InfoBox.AppendText("\r\nКэш существует: " + ((curItem.FolderExists) ? "Да" : "Нет"));
+ InfoBox.AppendText("\r\nРазмер кэша: " + curItem.CacheSize.ToString("0.00") + " Mb");
+ InfoBox.AppendText("\r\nРазмер всего: " + curItem.FolderSize.ToString("0.00") + " Mb");
+
+ InfoBox.AppendText("\r\n");
+ InfoBox.AppendText("\r\nКорневые каталоги: ");
+ foreach (string s in curItem.FolderPaths)
+ {
+ InfoBox.AppendText("\r\n > " + s);
+ }
+ InfoBox.AppendText("\r\n");
+
+ InfoBox.AppendText("\r\nКаталоги кэша: ");
+ foreach (string s in curItem.CachePaths)
+ {
+ InfoBox.AppendText("\r\n > " + s);
+ }
+ InfoBox.AppendText("\r\n");
+ }
+ private void ModListBases(bool isChecked, bool onlyWithCache)
+ {
+ for (int i = 0; i < ListBases.Items.Count; i++)
+ {
+ if (onlyWithCache)
+ {
+ if ((ListBases.Items[i] as BasesListItem).CacheSize > 0)
+ {
+ ListBases.SetItemChecked(i, true);
+ }
+ else
+ {
+ ListBases.SetItemChecked(i, false);
+ }
+ }
+ else
+ {
+ ListBases.SetItemChecked(i, isChecked);
+ }
+ }
+ }
+ private void RefreshListBases()
+ {
+ this.ListBases.Items.Clear();
+
+ string base_path = @"%appdata%\1C\1CEStart\ibases.v8i";
+ string[] lines = ReadFileContent(base_path);
+ if (lines == null)
+ {
+ MessageBox.Show("Can't find ibases.v8i file in provided location: " + base_path, "Error reading file!",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ var bases_dict = GetBasesDictionary(lines);
+ foreach (string key in bases_dict.Keys)
+ {
+ var value = bases_dict[key];
+ (bool s_folder_exists,
+ float s_folder_size, float s_cache_size,
+ List s_folder_paths, List s_cache_paths) = GetLocalFolderInfo(key);
+ ListBases.Items.Add(new BasesListItem(value.Name, value.Path, key,
+ s_folder_exists,
+ s_folder_size, s_cache_size,
+ s_folder_paths, s_cache_paths), false);
+ }
+ }
+ private (bool s_folder_exists,
+ float s_folder_size, float s_cache_size,
+ List s_folder_paths, List s_cache_paths) GetLocalFolderInfo(string key)
+ {
+ // Local path of cache is:
+ // %APPDATA%\1C\1cv8\$Id
+ // %LOCALAPPDATA%\1C\1cv8\$Id
+ // var cache_folders = ("Config", "ConfigSave", "SICache", "vrs-cache");
+
+ string base_path_local = @"%LOCALAPPDATA%\1C\1cv8\" + key;
+ string base_path_roaming = @"%APPDATA%\1C\1cv8\" + key;
+
+ base_path_local = Environment.ExpandEnvironmentVariables(base_path_local);
+ base_path_roaming = Environment.ExpandEnvironmentVariables(base_path_roaming);
+
+ float s_folder_size = 0.0f;
+ float s_cache_size = 0.0f;
+
+ List s_folder_paths = new List();
+ List s_cache_paths = new List();
+
+ bool s_folder_exists = (Directory.Exists(base_path_local) || Directory.Exists(base_path_roaming)) ? true : false;
+ if (s_folder_exists)
+ {
+ s_cache_paths = GetFoldersById(base_path_local, base_path_roaming);
+ if (s_cache_paths.Count > 0)
+ {
+ foreach (string s in s_cache_paths)
+ {
+ s_cache_size += DirSize(new DirectoryInfo(s));
+ }
+ }
+ if (Directory.Exists(base_path_local))
+ {
+ s_folder_size += DirSize(new DirectoryInfo(base_path_local));
+ s_folder_paths.Add(base_path_local);
+ }
+ if (Directory.Exists(base_path_roaming))
+ {
+ s_folder_size += DirSize(new DirectoryInfo(base_path_roaming));
+ s_folder_paths.Add(base_path_roaming);
+ }
+ }
+ s_folder_size = s_folder_size / 1024 / 1024; // Mb
+ s_cache_size = s_cache_size / 1024 / 1024; // Mb
+ return (s_folder_exists,
+ s_folder_size, s_cache_size,
+ s_folder_paths, s_cache_paths);
+ }
+ private List GetFoldersById(string base_path_local, string base_path_roaming)
+ {
+ var found_folders = new List();
+ if (Directory.Exists(base_path_local))
+ {
+ found_folders.AddRange(Directory.GetDirectories(base_path_local, "Config", SearchOption.AllDirectories).ToList());
+ found_folders.AddRange(Directory.GetDirectories(base_path_local, "ConfigSave", SearchOption.AllDirectories).ToList());
+ found_folders.AddRange(Directory.GetDirectories(base_path_local, "SICache", SearchOption.AllDirectories).ToList());
+ }
+ if (Directory.Exists(base_path_roaming))
+ {
+ found_folders.AddRange(Directory.GetDirectories(base_path_roaming, "vrs-cache", SearchOption.AllDirectories).ToList());
+ }
+ return found_folders;
+ }
+ private Dictionary GetBasesDictionary(string[] lines)
+ {
+ var bases_dict = new Dictionary();
+ var (name, id, path) = ("", "", "");
+ foreach (string line in lines)
+ {
+ /* ---------- EXAMPLE
+ [Торговля(Рабочая)]
+ Connect=Srvr="winserv";Ref="ut2014_work";
+ ID=f8370086-654e-4807-b79b-3f51653c3699
+ OrderInList = 0
+ Folder=/Рабочие
+ OrderInTree = 0
+ External=1
+ ClientConnectionSpeed=Normal
+ App = Auto
+ WA=1
+ Version=8.2
+ DefaultApp=ThickClient
+ -------------------- */
+ if (line.StartsWith("[")) // Start
+ {
+ name = line.Substring(1, line.Length - 2);
+ id = "";
+ path = "";
+ }
+ else if (line.StartsWith("Connect=")) // Connect string
+ {
+ path = line.Substring(8);
+ }
+ else if (line.StartsWith("ID=")) // ID string
+ {
+ id = line.Substring(3);
+ }
+ if (name != "" && path != "" && id != "")
+ {
+ bases_dict.Add(id, (name, path));
+ name = "";
+ id = "";
+ path = "";
+ }
+ }
+ return bases_dict;
+ }
+ private string[] ReadFileContent(string path_to_file)
+ {
+ string full_path_to_file = Environment.ExpandEnvironmentVariables(path_to_file);
+ if (!File.Exists(full_path_to_file))
+ {
+ return null;
+ }
+ return System.IO.File.ReadAllLines(full_path_to_file);
+ }
+ private static long DirSize(DirectoryInfo d)
+ {
+ long size = 0;
+ // Add file sizes.
+ FileInfo[] fis = d.GetFiles();
+ foreach (FileInfo fi in fis)
+ {
+ size += fi.Length;
+ }
+ // Add subdirectory sizes.
+ DirectoryInfo[] dis = d.GetDirectories();
+ foreach (DirectoryInfo di in dis)
+ {
+ size += DirSize(di);
+ }
+ return size;
+ }
+
+ private void ButtonAbout_Click(object sender, EventArgs e)
+ {
+ FormAbout aboutForm = new FormAbout();
+ aboutForm.ShowDialog();
+ }
+ }
+}
diff --git a/ClearCache1C/Form1.resx b/ClearCache1C/Form1.resx
new file mode 100644
index 0000000..b49c6e5
--- /dev/null
+++ b/ClearCache1C/Form1.resx
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGeYUxB9wAAAO1pQ0NQUGhv
+ dG9zaG9wIElDQyBwcm9maWxlAAAoz2NgYJzh6OLkyiTAwJCbV1LkHuQYGREZpcB+noGNgZkBDBKTiwsc
+ AwJ8QOy8/LxUBlTAyMDw7RqIZGC4rAsyi4E0wJpcUFQCpA8AsVFKanEykP4CxJnlJQVAccYEIFskKRvM
+ BqkTyQ4JcgayO4BsvpLUCpAYg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoK
+ UC3UDhDgdy9KrFRwT8zNTVQw0jNioDoAhSWE9TkEHEaMYucRYgiQXFpUBgtPJmMGBgBLGzgw6GaaaQAA
+ AAlwSFlzAAALEwAACxMBAJqcGAAAACBJREFUOE9jAIL/FGKG/+SCUQNGDQCBUQOoaQD5mOE/ALwPSOI5
+ CblOAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGeYUxB9wAAAO1pQ0NQUGhv
+ dG9zaG9wIElDQyBwcm9maWxlAAAoz2NgYJzh6OLkyiTAwJCbV1LkHuQYGREZpcB+noGNgZkBDBKTiwsc
+ AwJ8QOy8/LxUBlTAyMDw7RqIZGC4rAsyi4E0wJpcUFQCpA8AsVFKanEykP4CxJnlJQVAccYEIFskKRvM
+ BqkTyQ4JcgayO4BsvpLUCpAYg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoK
+ UC3UDhDgdy9KrFRwT8zNTVQw0jNioDoAhSWE9TkEHEaMYucRYgiQXFpUBgtPJmMGBgBLGzgw6GaaaQAA
+ AAlwSFlzAAALEwAACxMBAJqcGAAAAFxJREFUOE/VjEsOgDAIBVlx/xujTYYqWPzUjU7yFjxgZMVeRmyW
+ Hwp4YHoo8GfPrjsYmTa8z3vmYOtxqr5BVx/nZOiH1hBVZRthX5p7KtiPD66eG6eCO3xIMB+xBcMg0V0g
+ dEfYAAAAAElFTkSuQmCC
+
+
+
+
+ AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
+ IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMW
+ IRATFiFAFBciIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSoyMCosNDAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiGAAAAAAAAA
+ AAAAAAAAExYhEBMWIc8UFyH/Fhkj7xgbJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKjKfKiwz/ywu
+ Nf8uMDePAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiFgAAAAAAAAAAATFiEQExYhzxQXIf8WGSP/GBsl/xodJ+8cHygwAAAAAAAAAAAAAAAAAAAAACgq
+ Mp8qLDP/LC41/y4wN/8wMjj/MjQ6gAAAAAAAAAAAAAAAAAAAAAAAAAAAFBci/xQXIv8UFyL/FBci/xQX
+ Iv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQX
+ Iv8UFyL/FBci/xQXIWAAAAAAAAAAAAAAAAATFiFAFBch/xYZI/8YGyX/Gh0n/xwfKP8fISrvISMsMAAA
+ AAAAAAAAKCoynyosM/8sLjX/LjA3/zAyOP8zNDr/NTY87wAAAAAAAAAAAAAAAAAAAAAAAAAAFRgj/xUY
+ I/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUY
+ I/8VGCP/FRgj/xUYI/8VGCP/FRgjvwAAAAAAAAAAAAAAAAAAAAAUFyIgFhkj7xgbJf8aHSf/HB8o/x8h
+ Kv8hIyz/IyUu7yUnMDAoKjKfKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg9rwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAFxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZ
+ JP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJJ8AAAAAAAAAAAAAAAAAAAAAGBslMBod
+ J+8cHyj/HyEq/yEjLP8jJS7/JScw/ycpMf8qLDP/LC41/y4wN/8wMjj/MzQ6/zU2PP83OD3PODk+EAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAGBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgb
+ Jf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyWfAAAAAAAA
+ AAAAAAAAAAAAABwfKDAfISrvISMs/yMlLv8lJzD/Jykx/yosM/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4
+ Pc84OT4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkc
+ Jv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkc
+ Jv8ZHCb/GRwmnwAAAAAAAAAAAAAAAAAAAAAhIywwIyUu7yUnMP8nKTH/Kiwz/ywuNf8uMDf/MDI4/zM0
+ Ov81Njz/Nzg9zzg5PhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0n/xsdJ/8bHSf/Gx0n/xsd
+ J/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsd
+ J/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ58AAAAAAAAAAAAAAAAAAAAAJScwMCcpMf8qLDP/LC41/y4w
+ N/8wMjj/MzQ6/zU2PP83OD3PODk+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyiPAAAAAAAAAAAAAAAAKCoynyos
+ M/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4Pv85Oj/vOzxBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAHSAp/x0gKf8dICn/HSAp/x0gKf8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/x0gKf8dICn/HSAp/x0gKf8dICn/HSAp/x0fKe8dHykwAAAAAAAA
+ AAAoKjKfKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg+/zk6P/87PEH/Pj5D70BBRTAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAHyEq/x8hKv8fISr/HyEq/x8hKv8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/x8hKv8fISr/HyEq/x8hKv8fISr/HiEq7x4g
+ KjAAAAAAAAAAACgqMp8qLDP/LC41/y4wN/8wMjj/MzQ6/zU2PP83OD7/OTo//zs8Qf8+PkP/QEFF/0JD
+ Ru9ERUgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICIr/yAiK/8gIiv/ICIr/yAiK/8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/yAiK/8gIiv/ICIr/yAi
+ K/8gIivvHyIrMAAAAAAAAAAAKCoynyosM/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4Pc85Oj/vOzxB/z4+
+ Q/9AQUX/QkNG/0RFSP9GR0rvSUlMMAAAAAAAAAAAAAAAAAAAAAAAAAAAISQs/yEkLP8hJCz/ISQs/yEk
+ LP8hJCz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISQs/yEkLP8hJCz/ISQs/yEk
+ LP8hJCz/ISQs/yEjLO8hIywwAAAAAAAAAAApKjIwKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg9zzg5
+ PhA7PEEwPj5D70BBRf9CQ0b/REVI/0ZHSv9JSUz/S0tOzwAAAAAAAAAAAAAAAAAAAAAAAAAAIyUt/yMl
+ Lf8jJS3/IyUt/yMlLf8jJS3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyUt/yMl
+ Lf8jJS3/IyUt/yMlLf8jJS3/IiUt7yIkLTAAAAAAAAAAAAAAAAAqLDQwLC41/y4wN/8wMjj/MzQ6/zU2
+ PP83OD3PODk+EAAAAAAAAAAAQEFFMEJDRu9ERUj/RkdK/0lJTP9LS07/TU1PzwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAJCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQm
+ L/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv7yQmLzAAAAAAAAAAAAAAAAAAAAAALjA3nzAy
+ OP8zNDr/NTY8/zc4Pc84OT4QAAAAAAAAAAAAAAAAAAAAAERFSDBGR0rvSUlM/0tLTv9NTU/vTk5QMAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUn
+ MP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMO8mKDAwAAAAAAAA
+ AAAAAAAAAAAAADI0Oo81NjzvNzg9rzg5PhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUwwS0tO301N
+ T99OTlAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycp
+ Mf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycp
+ Mf8nKTHvJykxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcpMTAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy7ygqMjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCoyYCgq
+ Mr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSsz/ykr
+ M/8pKzP/KSsz/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ykrM/8pKzP/KSsz/ykrM/8pKzP/KSsz/ykrM+8qLDMwAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAqLDNgKSsz/ykrM78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAKy00/ystNP8rLTT/Ky00/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy/ystNP8rLTT/Ky00/ystNP8rLTT/Ky00/ystNP8rLTTvKy00MAAA
+ AAAAAAAAAAAAACstNGArLTT/Ky00/ystNL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/ywuNf8sLjX/LC41/ywuNf8sLjX/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/ywuNf8sLjX/LC41/ywuNf8sLjX/LC41/ywuNf8sLjX/LC41/ywu
+ Nf8sLjX/LC417ywuNTAAAAAALC41YCwuNf8sLjX/LC41/ywuNb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS82/y0vNv8tLzb/LS82/y0vNv8tLzb/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS82/y0vNv8tLzb/LS82/y0vNv8tLzb/LS82/y0v
+ Nv8tLzb/LS82/y0vNv8tLzb/LS82/y0vNu8uLzaALS82/y0vNv8tLzb/LS82/y0vNr8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALzA3/y8wN/8vMDf/LzA3/y8w
+ N/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8w
+ N/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8w
+ N78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzQ6/zM0Ov8zNDr/MzQ6/zM0Ov8zNDr/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zM0Ov8zNDr/MzQ6/zM0
+ Ov8zNDr/MzQ6/zM0Ov8zNDr/MzQ6/zM0Ov8zNDr/MzQ6/zM0Or8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zQ1
+ O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O78AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANTc8/zU3PP81Nzz/NTc8/zU3
+ PP81Nzz/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3
+ PL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzg+/zc4
+ Pv83OD7/Nzg+/zc4Pv83OD7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAANzg+/zc4Pv83OD7/Nzg+/zc4Pv83OD7/Nzg+/zc4Pv83OD7/Nzg+/zc4
+ Pv83OD7/Nzg+/zc4Pr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAODk//zg5P/84OT//ODk//zg5P/84OT//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODk//zg5P/84OT//ODk//zg5P/84OT//ODk//zg5
+ P/84OT//ODk//zg5P/84OT//ODk//zg5P78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAOjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7
+ QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7
+ QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qb8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD1C/zw9Qv88PUL/PD1C/zw9
+ Qv88PUL/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zw9Qv88PUL/PD1Cvzw9Qr88PUK/PD1Cvzw9Qr88PUK/PD1Cvzw9Qr88PUK/PD1Cvzw9
+ Qo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj5D/z4+
+ Q/8+PkP/Pj5D/z4+Q/8+PkP/PD1C/zw9Qv88PUL/PD1C/zw9Qv88PUL/PD1C/zw9Qv88PUL/PD1C/zw9
+ Qv88PUL/PD1C/zw9Qv88PUL/PD1C/z4+Q/8+PkP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAP0BE/z9ARP8/QET/P0BE/z9ARP8/QET/PT1C/z09Qv89PUL/PT1C/z09Qv89PUL/PT1C/z09
+ Qv89PUL/PT1C/z09Qv89PUL/PT1C/z09Qv89PUL/PT1C/z9ARP8/QET/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQEFF/0BBRf9AQUX/QEFF/0BBRf9AQUX/Pj5D/z4+Q/8+PkP/Pj5D/z4+
+ Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/0BBRf9AQUX/AAAAAAAA
+ AABAQUXXQEFFv0BBRb9AQUW/QEFFv0BBRb9AQUW/QEFFr0BBRRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJG/0JCRv9CQkb/QkJG/0JCRv9CQkb/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJG/0JC
+ Rv9CQkb/AAAAAAAAAABCQkb/QkJG/0JCRv9CQkb/QkJG/0JCRv9CQkb/QUJGYAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NH/0NDR/9DQ0f/Q0NH/0ND
+ R/9DQ0f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAQ0NH/0NDR/9DQ0f/AAAAAAAAAABDQ0f/Q0NH/0NDR/9DQ0f/Q0NH/0NDR/9DQ0efAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREVI/0RF
+ SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF
+ SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/AAAAAAAAAABERUj/REVI/0RFSP9ERUj/REVI/0RE
+ SM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAARkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG
+ Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/AAAAAAAAAABGRkn/RkZJ/0ZG
+ Sf9GRkn/RUZJ70VGSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAR0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dH
+ Sv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/AAAAAAAA
+ AABHR0r/R0dK/0dHSv9HR0r/R0dKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJ
+ S/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJ
+ S/9ISUv/AAAAAAAAAABISUv/SElL/0hJS/9ISEuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpN/0pKTf9KSk3/SkpN/0pK
+ Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pK
+ Tf9KSk3/SkpN/0pKTf9KSk3/AAAAAAAAAABKSk3/SkpN/0lKTK8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tO/0tL
+ Tv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tL
+ Tv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/AAAAAAAAAABLS03vS0tN30pKTRAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAATExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xM
+ T/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//AAAAAAAAAABMTE+ATExOMAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAATk5Q/05OUP9OTlD/Tk5Q/05OUP9OTlD/Tk5Q/05OUP9OTlD/Tk5Q/05O
+ UP9OTlD/Tk5Q/05OUP9OTlD/Tk5Q/05OUP9OTlD/Tk5Q/05OUP9OTlD/Tk5Q/05OUP9OTlD/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP////j/PwAAgAAAcH4fAACAAABgPA8AAIAA
+ AOAYDwAAgAAB4AAPAACAAADwAA8AAIAAAHgAHwAAgAAAPAA/AACAAAAeAH8AAIAAAA4AfwAAgAAADAA/
+ AACAAAAYAB8AAIAAADAADwAAgf8AYAAPAACB/wDgGA8AAIAAAPA8DwAAgAAAeH4fAACAAAA/7/8AAIAA
+ AB/P/wAAgAAAD4//AACAAAAHD/8AAIH/AAIP/wAAgf8AAA//AACAAAAAD/8AAIAAAAAP/wAAgAAAAA//
+ AACAAAAAD/8AAIAAAAAP/wAAgAAAAA//AACB//wAD/8AAIH//AAP/wAAgAAAAA//AACAAAAAD/8AAIAA
+ AAAP/wAAgAAAf///AACAAAB///8AAIAAAGAP/wAAgf/8YB//AACB//xgP/8AAIAAAGB//wAAgAAAYH//
+ AACAAABg//8AAIAAAGH//wAAgAAAY///AACAAABj//8AAIAAAGf//wAAgAAAf///AAAoAAAAIAAAAEAA
+ AAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYZIwMXGiQRHB4oAwAA
+ AAAAAAAAAAAAAAAAAAAoKjIFKiw0EAAAAAAAAAAAAAAAAAAAAAATFiH+ExYh/xMWIf4TFiH+ExYh/hMW
+ If4TFiH+ExYh/hMWIf4TFiH+ExYh/hMWIf4TFiH+ExYh/hMWIf4TFiHmFRciNwAAAAAWGSMDExYhYxQX
+ IbcYGyVOAAAAAAAAAAAAAAAAJykxASgqMoMqLDS4LS82PwAAAAAAAAAAAAAAABMWIf4TFiH/ExYh/hMW
+ If4TFiH+ExYh/hMWIf4TFiH+ExYh/hMWIf4TFiH+ExYh/hMWIf4TFiH+ExYh/RMWIdkVGCMqAAAAABMW
+ IV4UFyHyFxoj/hodJvUfISpPJCYuBSYoMBEoKjKQKy00/S4vNv4wMjjfMTI4NwAAAAAAAAAAFBci/xQX
+ Iv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv4UFyLvFRgjXBga
+ JAEAAAAAFBchbBYZI/kaHCb+HR8o/iEjLN8kJi9QKCoxkSosM/MuLzb+MTI4/jQ1OukzNDpBAAAAAAAA
+ AAAWGSP/Fhkj/xYZI/8WGSP/Fhkj/xYZI/8WGSP/Fhkj/xYZI/8WGSP/Fhkj/xYZI/8WGSP/Fhkj/hYZ
+ I/4XGSTTGBslIwAAAAAbHScKGh0nfx0fKfogIiv+IyUu/icpMf4qLDP+Li82/jEyOP40NTrzNjc8YzQ1
+ OwMAAAAAAAAAABgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgb
+ Jf8YGyX/GBsl/hgbJf4ZHCa3Gx4nIwAAAAAeISoKICMsmiMlLvonKTH+Kiwz/y0vNv8xMjj+NDU68zY3
+ PH41NjwDAAAAAAAAAAAAAAAAGh0m/xodJv8aHSb/Gh0m/xodJv8aHSb/Gh0m/xodJv8aHSb/Gh0m/xod
+ Jv8aHSb/Gh0m/xodJv8aHSb/Gh0m/hodJ/4bHSfSHiApHwAAAAAjJi4dJykxxiosM/4tLzb/MTI4/zQ1
+ O/43OD2aNTc8CQAAAAAAAAAAAAAAAAAAAAAcHyj/Gx4n/xseJ/4bHif+Gx4n/hseJ/4bHif+Gx4n/hse
+ J/4bHif+Gx4n/hseJ/4bHif+HB8o/xwfKP8cHyj+HB8o/hwfKPUeICo1IyUtAScpMJAqLDPzLS82/jEy
+ OP40NTv+Nzg+/jo7QN87PEFPAAAAAAAAAAAAAAAAAAAAAB4hKf8dICj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8eISn/HiAp/h4gKf4eISrfHyEqTyMlLRImKDCQKiwz/i0v
+ Nv4xMjj+NDU78zc4Pfo7PED+Pj5D/kFCRfVBQkVPOzxBBQAAAAAAAAAAICMr/yAiK/8gIiv+ICIr/gAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICMr/iAjK/4gIiv+ICIr9SEjLE8jJS0GJygwXyos
+ M/ItLzb+MTI4/jQ1OvM2Nzx/OjtAmz0+QvpBQkb+REVI/kdIS9dAQUUzAAAAAAAAAAAiJC3/IiQt/yIk
+ Lf4iJC3+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiJC3+IiQt/iIkLfgiJC1vIyUtAQAA
+ AAApKzJeLS818jAyOP40NTrzNTY8YzM1OwQ3OD0LP0BEf0RFSPpHSEv+S0tN10JDRzMAAAAAAAAAACQm
+ L/8kJi//JCYv/iQmL/4kJi/+JCYv/iQmL/4kJi/+JCYv/iQmL/4kJi/+JCYv/iQmL/4kJi/+JCYv/CQm
+ L8clJy8WAAAAACgqMhEuMDaINDU65DY3PHcxMzkDAAAAAAAAAAA4Oj8KR0hLl0pKTedJSUtPQEFFBQAA
+ AAAAAAAAJigw/yYoMP8mKDD/Jigw/yYoMP8mKDD/Jigw/yYoMP8mKDD/Jigw/yYoMP8mKDD/Jigw/yYo
+ MP4mKDD+Jigw/iYoMMcnKTEvAAAAAAAAAAAAAAAAAAAAAC4wNgopKzNJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAoKjL/KCoy/ygqMv4oKjL+KCoy/igqMv4oKjL+KCoy/igqMv4oKjL+KCoy/igq
+ Mv4oKjL+KCoy/ygqMv8oKjL+KCoy/CgqMscqLDMWAAAAAAAAAAAAAAAAKyw0bSgqMsAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAACosM/8qLDP/Kiwz/iosM/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAACosM/4qLDP/Kiwz/yosM/4qLDP+Kiwz/istNMcsLTQvLS41CywuNW4rLTT9Ky000jQ1
+ OwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC41/ywuNf8sLjX+LC41/gAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/iwuNf8sLjX/LC41/ywuNf8sLjX+LC41/CwuNcctLjV8LC417Cwu
+ Nf4sLjXTMzQ6AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuMDb/LjA2/y4wNv4uMDb+LjA2/i4w
+ Nv0uMDb9LjA2/S4wNv0uMDb9LjA2/i4wNv4uMDb+LjA2/y4wNv8uMDb/LjA2/y4wNv4uMDb+LjA2/i4w
+ Nv4uMDb+LjA2/i8wN9MxMzkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj+MDI40zEzOQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjQ5/zIz
+ Of8yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jI0
+ Of4yNDn/MjQ5/zI0Of8yNDn/MjQ5/zI0Of4yMznTMjM5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA0Njv/NDU7/zQ1O/40NTv+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA0NTv2NDY7/jQ2O/80Njv/NDY7/zQ2O/80Njv/NDY7/jQ1O9MzNDoBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADY4Pf82Nz3/Njc9/jY3Pf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADY3Peo2OD3+Njg9/zY4Pf82OD3/Njg9/zY4Pf82OD3+Njc90zU2PAEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAOTo//zo6P/87O0D/OztA/zs7QP87O0D/OztA/zs7QP87O0D/OztA/zs7
+ QP87O0D/OztA/zs7QP87O0D/ODo/+Dk6P/45Oj/+OTo//jk6P/45Oj/+OTo//jk6P/44OT7SNjc9AQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7O0D/OztA/zs7QP47O0D+OztA/js7QP47O0D+OztA/js7
+ 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
+ AAAA/wAAAI8AAD6PAAAAnwAAAL8AAA==
+
+
+
\ No newline at end of file
diff --git a/ClearCache1C/Form2.Designer.cs b/ClearCache1C/Form2.Designer.cs
new file mode 100644
index 0000000..25e5920
--- /dev/null
+++ b/ClearCache1C/Form2.Designer.cs
@@ -0,0 +1,66 @@
+namespace ClearCache1C
+{
+ partial class FormResult
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.InfoResult = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // InfoResult
+ //
+ this.InfoResult.BackColor = System.Drawing.SystemColors.Info;
+ this.InfoResult.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.InfoResult.Location = new System.Drawing.Point(0, 0);
+ this.InfoResult.Multiline = true;
+ this.InfoResult.Name = "InfoResult";
+ this.InfoResult.ReadOnly = true;
+ this.InfoResult.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.InfoResult.Size = new System.Drawing.Size(464, 461);
+ this.InfoResult.TabIndex = 0;
+ //
+ // FormResult
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(464, 461);
+ this.Controls.Add(this.InfoResult);
+ this.Name = "FormResult";
+ this.ShowIcon = false;
+ this.ShowInTaskbar = false;
+ this.Text = "Результат удаления";
+ this.Load += new System.EventHandler(this.FormResult_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox InfoResult;
+ }
+}
\ No newline at end of file
diff --git a/ClearCache1C/Form2.cs b/ClearCache1C/Form2.cs
new file mode 100644
index 0000000..2fb8e64
--- /dev/null
+++ b/ClearCache1C/Form2.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace ClearCache1C
+{
+ public partial class FormResult : Form
+ {
+ public FormResult()
+ {
+ StartPosition = FormStartPosition.CenterScreen;
+ InitializeComponent();
+ }
+
+ private void FormResult_Load(object sender, EventArgs e)
+ {
+ MaximizeBox = false;
+ MinimizeBox = false;
+ }
+ public void SetInfoResult(int successfully_deleted, int errors_on_delete, float total_size_deleted,
+ List list_success, List list_error, List list_exceptions)
+ {
+ InfoResult.ResetText();
+ InfoResult.AppendText("--- Итоги ---");
+ InfoResult.AppendText("\r\nВыполнено успешно: " + successfully_deleted);
+ InfoResult.AppendText("\r\nВыполнено с ошибками: " + errors_on_delete);
+ InfoResult.AppendText("\r\nВсего удалено: " + total_size_deleted.ToString("0.00") + " Mb");
+ InfoResult.AppendText("\r\n");
+ InfoResult.AppendText("\r\n--- Список обработанных успешно ---");
+ foreach (string s in list_success)
+ {
+ InfoResult.AppendText("\r\n > " + s);
+ }
+ InfoResult.AppendText("\r\n");
+ InfoResult.AppendText("\r\n--- Список обработанных с ошибками ---");
+ foreach (string s in list_error)
+ {
+ InfoResult.AppendText("\r\n > " + s);
+ }
+ InfoResult.AppendText("\r\n");
+ InfoResult.AppendText("\r\n--- Лог ошибок ---");
+ foreach (string s in list_exceptions)
+ {
+ InfoResult.AppendText("\r\n > " + s);
+ }
+ }
+ }
+}
diff --git a/ClearCache1C/Form2.resx b/ClearCache1C/Form2.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/ClearCache1C/Form2.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/ClearCache1C/Form3.Designer.cs b/ClearCache1C/Form3.Designer.cs
new file mode 100644
index 0000000..aebe965
--- /dev/null
+++ b/ClearCache1C/Form3.Designer.cs
@@ -0,0 +1,172 @@
+namespace ClearCache1C
+{
+ partial class FormAbout
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
+ this.pictureBoxAi = new System.Windows.Forms.PictureBox();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.textBoxInfo = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.linkContact = new System.Windows.Forms.LinkLabel();
+ this.linkGit = new System.Windows.Forms.LinkLabel();
+ this.label4 = new System.Windows.Forms.Label();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAi)).BeginInit();
+ this.panel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pictureBoxAi
+ //
+ this.pictureBoxAi.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.pictureBoxAi.Image = global::ClearCache1C.Properties.Resources.ai_full_logo___clean;
+ this.pictureBoxAi.InitialImage = global::ClearCache1C.Properties.Resources.ai_full_logo___clean;
+ this.pictureBoxAi.Location = new System.Drawing.Point(12, 12);
+ this.pictureBoxAi.Name = "pictureBoxAi";
+ this.pictureBoxAi.Size = new System.Drawing.Size(127, 119);
+ this.pictureBoxAi.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBoxAi.TabIndex = 0;
+ this.pictureBoxAi.TabStop = false;
+ this.pictureBoxAi.Click += new System.EventHandler(this.pictureBoxAi_Click);
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.textBoxInfo);
+ this.panel1.Controls.Add(this.label1);
+ this.panel1.Location = new System.Drawing.Point(147, 13);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(200, 118);
+ this.panel1.TabIndex = 2;
+ //
+ // textBoxInfo
+ //
+ this.textBoxInfo.BackColor = System.Drawing.SystemColors.Control;
+ this.textBoxInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBoxInfo.Cursor = System.Windows.Forms.Cursors.Default;
+ this.textBoxInfo.Enabled = false;
+ this.textBoxInfo.ForeColor = System.Drawing.SystemColors.WindowText;
+ this.textBoxInfo.Location = new System.Drawing.Point(4, 28);
+ this.textBoxInfo.Multiline = true;
+ this.textBoxInfo.Name = "textBoxInfo";
+ this.textBoxInfo.ReadOnly = true;
+ this.textBoxInfo.Size = new System.Drawing.Size(193, 87);
+ this.textBoxInfo.TabIndex = 2;
+ this.textBoxInfo.TabStop = false;
+ this.textBoxInfo.Text = "Все просто.\r\nПрограмма читает пользовательский файл ibases.v8i и на его основе ст" +
+ "роит список баз.\r\nПо найденным ID и происходит вся магия удалений.";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label1.Location = new System.Drawing.Point(49, 12);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(103, 13);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Чистка кэша 1С";
+ //
+ // linkContact
+ //
+ this.linkContact.AutoSize = true;
+ this.linkContact.LinkArea = new System.Windows.Forms.LinkArea(20, 15);
+ this.linkContact.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
+ this.linkContact.LinkColor = System.Drawing.SystemColors.HotTrack;
+ this.linkContact.Location = new System.Drawing.Point(12, 134);
+ this.linkContact.Name = "linkContact";
+ this.linkContact.Size = new System.Drawing.Size(199, 17);
+ this.linkContact.TabIndex = 6;
+ this.linkContact.TabStop = true;
+ this.linkContact.Text = "Автор: FuketsuBaka (ai@ai-frame.net)";
+ this.linkContact.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.linkContact.UseCompatibleTextRendering = true;
+ this.linkContact.VisitedLinkColor = System.Drawing.SystemColors.WindowFrame;
+ this.linkContact.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkContact_LinkClicked);
+ //
+ // linkGit
+ //
+ this.linkGit.AutoSize = true;
+ this.linkGit.LinkArea = new System.Windows.Forms.LinkArea(5, 46);
+ this.linkGit.LinkColor = System.Drawing.SystemColors.HotTrack;
+ this.linkGit.Location = new System.Drawing.Point(12, 151);
+ this.linkGit.Name = "linkGit";
+ this.linkGit.Size = new System.Drawing.Size(267, 17);
+ this.linkGit.TabIndex = 7;
+ this.linkGit.TabStop = true;
+ this.linkGit.Text = "GIT: https://bitbucket.org/FuketsuBaka/clearcache1c";
+ this.linkGit.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.linkGit.UseCompatibleTextRendering = true;
+ this.linkGit.VisitedLinkColor = System.Drawing.SystemColors.WindowFrame;
+ this.linkGit.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkGit_LinkClicked);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
+ this.label4.Location = new System.Drawing.Point(149, 175);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(42, 13);
+ this.label4.TabIndex = 9;
+ this.label4.Text = "2018 г.";
+ //
+ // FormAbout
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(356, 196);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.linkGit);
+ this.Controls.Add(this.linkContact);
+ this.Controls.Add(this.panel1);
+ this.Controls.Add(this.pictureBoxAi);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FormAbout";
+ this.ShowIcon = false;
+ this.ShowInTaskbar = false;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "About";
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAi)).EndInit();
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PictureBox pictureBoxAi;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.TextBox textBoxInfo;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.LinkLabel linkContact;
+ private System.Windows.Forms.LinkLabel linkGit;
+ private System.Windows.Forms.Label label4;
+ }
+}
\ No newline at end of file
diff --git a/ClearCache1C/Form3.cs b/ClearCache1C/Form3.cs
new file mode 100644
index 0000000..7dcd03f
--- /dev/null
+++ b/ClearCache1C/Form3.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace ClearCache1C
+{
+ public partial class FormAbout : Form
+ {
+ public FormAbout()
+ {
+ StartPosition = FormStartPosition.CenterScreen;
+ InitializeComponent();
+ }
+
+ private void LinkContact_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ string url;
+ if (e.Link.LinkData != null)
+ url = e.Link.LinkData.ToString();
+ else
+ url = linkContact.Text.Substring(e.Link.Start, e.Link.Length);
+
+ if (!url.Contains("://"))
+ url = "mailto:" + url;
+
+ System.Diagnostics.Process.Start(url);
+ linkContact.LinkVisited = true;
+ }
+
+ private void linkGit_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ string url;
+ if (e.Link.LinkData != null)
+ url = e.Link.LinkData.ToString();
+ else
+ url = linkGit.Text.Substring(e.Link.Start, e.Link.Length);
+
+ if (!url.Contains("://"))
+ url = "mailto:" + url;
+
+ System.Diagnostics.Process.Start(url);
+ linkGit.LinkVisited = true;
+ }
+
+ private void pictureBoxAi_Click(object sender, EventArgs e)
+ {
+ System.Diagnostics.Process.Start("http://ai-frame.net/");
+ }
+ }
+}
diff --git a/ClearCache1C/Form3.resx b/ClearCache1C/Form3.resx
new file mode 100644
index 0000000..a9887f0
--- /dev/null
+++ b/ClearCache1C/Form3.resx
@@ -0,0 +1,418 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
+ IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMW
+ IRATFiFAFBciIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSoyMCosNDAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiGAAAAAAAAA
+ AAAAAAAAExYhEBMWIc8UFyH/Fhkj7xgbJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKjKfKiwz/ywu
+ Nf8uMDePAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMWIf8TFiH/ExYh/xMW
+ If8TFiFgAAAAAAAAAAATFiEQExYhzxQXIf8WGSP/GBsl/xodJ+8cHygwAAAAAAAAAAAAAAAAAAAAACgq
+ Mp8qLDP/LC41/y4wN/8wMjj/MjQ6gAAAAAAAAAAAAAAAAAAAAAAAAAAAFBci/xQXIv8UFyL/FBci/xQX
+ Iv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQXIv8UFyL/FBci/xQX
+ Iv8UFyL/FBci/xQXIWAAAAAAAAAAAAAAAAATFiFAFBch/xYZI/8YGyX/Gh0n/xwfKP8fISrvISMsMAAA
+ AAAAAAAAKCoynyosM/8sLjX/LjA3/zAyOP8zNDr/NTY87wAAAAAAAAAAAAAAAAAAAAAAAAAAFRgj/xUY
+ I/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUYI/8VGCP/FRgj/xUY
+ I/8VGCP/FRgj/xUYI/8VGCP/FRgjvwAAAAAAAAAAAAAAAAAAAAAUFyIgFhkj7xgbJf8aHSf/HB8o/x8h
+ Kv8hIyz/IyUu7yUnMDAoKjKfKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg9rwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAFxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZ
+ JP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJP8XGST/Fxkk/xcZJJ8AAAAAAAAAAAAAAAAAAAAAGBslMBod
+ J+8cHyj/HyEq/yEjLP8jJS7/JScw/ycpMf8qLDP/LC41/y4wN/8wMjj/MzQ6/zU2PP83OD3PODk+EAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAGBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgb
+ Jf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyX/GBsl/xgbJf8YGyWfAAAAAAAA
+ AAAAAAAAAAAAABwfKDAfISrvISMs/yMlLv8lJzD/Jykx/yosM/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4
+ Pc84OT4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkc
+ Jv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkcJv8ZHCb/GRwm/xkc
+ Jv8ZHCb/GRwmnwAAAAAAAAAAAAAAAAAAAAAhIywwIyUu7yUnMP8nKTH/Kiwz/ywuNf8uMDf/MDI4/zM0
+ Ov81Njz/Nzg9zzg5PhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0n/xsdJ/8bHSf/Gx0n/xsd
+ J/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsd
+ J/8bHSf/Gx0n/xsdJ/8bHSf/Gx0n/xsdJ58AAAAAAAAAAAAAAAAAAAAAJScwMCcpMf8qLDP/LC41/y4w
+ N/8wMjj/MzQ6/zU2PP83OD3PODk+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyiPAAAAAAAAAAAAAAAAKCoynyos
+ M/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4Pv85Oj/vOzxBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAHSAp/x0gKf8dICn/HSAp/x0gKf8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/x0gKf8dICn/HSAp/x0gKf8dICn/HSAp/x0fKe8dHykwAAAAAAAA
+ AAAoKjKfKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg+/zk6P/87PEH/Pj5D70BBRTAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAHyEq/x8hKv8fISr/HyEq/x8hKv8cHyj/HB8o/xwfKP8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/x8hKv8fISr/HyEq/x8hKv8fISr/HiEq7x4g
+ KjAAAAAAAAAAACgqMp8qLDP/LC41/y4wN/8wMjj/MzQ6/zU2PP83OD7/OTo//zs8Qf8+PkP/QEFF/0JD
+ Ru9ERUgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICIr/yAiK/8gIiv/ICIr/yAiK/8cHyj/HB8o/xwf
+ KP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/xwfKP8cHyj/HB8o/yAiK/8gIiv/ICIr/yAi
+ K/8gIivvHyIrMAAAAAAAAAAAKCoynyosM/8sLjX/LjA3/zAyOP8zNDr/NTY8/zc4Pc85Oj/vOzxB/z4+
+ Q/9AQUX/QkNG/0RFSP9GR0rvSUlMMAAAAAAAAAAAAAAAAAAAAAAAAAAAISQs/yEkLP8hJCz/ISQs/yEk
+ LP8hJCz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISQs/yEkLP8hJCz/ISQs/yEk
+ LP8hJCz/ISQs/yEjLO8hIywwAAAAAAAAAAApKjIwKiwz/ywuNf8uMDf/MDI4/zM0Ov81Njz/Nzg9zzg5
+ PhA7PEEwPj5D70BBRf9CQ0b/REVI/0ZHSv9JSUz/S0tOzwAAAAAAAAAAAAAAAAAAAAAAAAAAIyUt/yMl
+ Lf8jJS3/IyUt/yMlLf8jJS3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyUt/yMl
+ Lf8jJS3/IyUt/yMlLf8jJS3/IiUt7yIkLTAAAAAAAAAAAAAAAAAqLDQwLC41/y4wN/8wMjj/MzQ6/zU2
+ PP83OD3PODk+EAAAAAAAAAAAQEFFMEJDRu9ERUj/RkdK/0lJTP9LS07/TU1PzwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAJCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv/yQm
+ L/8kJi//JCYv/yQmL/8kJi//JCYv/yQmL/8kJi//JCYv7yQmLzAAAAAAAAAAAAAAAAAAAAAALjA3nzAy
+ OP8zNDr/NTY8/zc4Pc84OT4QAAAAAAAAAAAAAAAAAAAAAERFSDBGR0rvSUlM/0tLTv9NTU/vTk5QMAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUn
+ MP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMP8lJzD/JScw/yUnMO8mKDAwAAAAAAAA
+ AAAAAAAAAAAAADI0Oo81NjzvNzg9rzg5PhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUwwS0tO301N
+ T99OTlAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycp
+ Mf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycpMf8nKTH/Jykx/ycp
+ Mf8nKTHvJykxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcpMTAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy7ygqMjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCoyYCgq
+ Mr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSsz/ykr
+ M/8pKzP/KSsz/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ykrM/8pKzP/KSsz/ykrM/8pKzP/KSsz/ykrM+8qLDMwAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAqLDNgKSsz/ykrM78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAKy00/ystNP8rLTT/Ky00/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygqMv8oKjL/KCoy/ygq
+ Mv8oKjL/KCoy/ygqMv8oKjL/KCoy/ystNP8rLTT/Ky00/ystNP8rLTT/Ky00/ystNP8rLTTvKy00MAAA
+ AAAAAAAAAAAAACstNGArLTT/Ky00/ystNL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/ywuNf8sLjX/LC41/ywuNf8sLjX/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/ywuNf8sLjX/LC41/ywuNf8sLjX/LC41/ywuNf8sLjX/LC41/ywu
+ Nf8sLjX/LC417ywuNTAAAAAALC41YCwuNf8sLjX/LC41/ywuNb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS82/y0vNv8tLzb/LS82/y0vNv8tLzb/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS82/y0vNv8tLzb/LS82/y0vNv8tLzb/LS82/y0v
+ Nv8tLzb/LS82/y0vNv8tLzb/LS82/y0vNu8uLzaALS82/y0vNv8tLzb/LS82/y0vNr8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALzA3/y8wN/8vMDf/LzA3/y8w
+ N/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8w
+ N/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8wN/8vMDf/LzA3/y8w
+ N78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzQ6/zM0Ov8zNDr/MzQ6/zM0Ov8zNDr/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zM0Ov8zNDr/MzQ6/zM0
+ Ov8zNDr/MzQ6/zM0Ov8zNDr/MzQ6/zM0Ov8zNDr/MzQ6/zM0Or8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/MTM5/zEz
+ Of8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zQ1
+ O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O/80NTv/NDU7/zQ1O78AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANTc8/zU3PP81Nzz/NTc8/zU3
+ PP81Nzz/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEzOf8xMzn/MTM5/zEz
+ Of8xMzn/MTM5/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3PP81Nzz/NTc8/zU3
+ PL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzg+/zc4
+ Pv83OD7/Nzg+/zc4Pv83OD7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAANzg+/zc4Pv83OD7/Nzg+/zc4Pv83OD7/Nzg+/zc4Pv83OD7/Nzg+/zc4
+ Pv83OD7/Nzg+/zc4Pr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAODk//zg5P/84OT//ODk//zg5P/84OT//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODk//zg5P/84OT//ODk//zg5P/84OT//ODk//zg5
+ P/84OT//ODk//zg5P/84OT//ODk//zg5P78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAOjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7
+ QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7
+ QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QP86O0D/OjtA/zo7QL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qb8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD1C/zw9Qv88PUL/PD1C/zw9
+ Qv88PUL/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8Qf87PEH/OzxB/zs8
+ Qf87PEH/OzxB/zw9Qv88PUL/PD1Cvzw9Qr88PUK/PD1Cvzw9Qr88PUK/PD1Cvzw9Qr88PUK/PD1Cvzw9
+ Qo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj5D/z4+
+ Q/8+PkP/Pj5D/z4+Q/8+PkP/PD1C/zw9Qv88PUL/PD1C/zw9Qv88PUL/PD1C/zw9Qv88PUL/PD1C/zw9
+ Qv88PUL/PD1C/zw9Qv88PUL/PD1C/z4+Q/8+PkP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAP0BE/z9ARP8/QET/P0BE/z9ARP8/QET/PT1C/z09Qv89PUL/PT1C/z09Qv89PUL/PT1C/z09
+ Qv89PUL/PT1C/z09Qv89PUL/PT1C/z09Qv89PUL/PT1C/z9ARP8/QET/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQEFF/0BBRf9AQUX/QEFF/0BBRf9AQUX/Pj5D/z4+Q/8+PkP/Pj5D/z4+
+ Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/z4+Q/8+PkP/Pj5D/0BBRf9AQUX/AAAAAAAA
+ AABAQUXXQEFFv0BBRb9AQUW/QEFFv0BBRb9AQUW/QEFFr0BBRRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJG/0JCRv9CQkb/QkJG/0JCRv9CQkb/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJG/0JC
+ Rv9CQkb/AAAAAAAAAABCQkb/QkJG/0JCRv9CQkb/QkJG/0JCRv9CQkb/QUJGYAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NH/0NDR/9DQ0f/Q0NH/0ND
+ R/9DQ0f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAQ0NH/0NDR/9DQ0f/AAAAAAAAAABDQ0f/Q0NH/0NDR/9DQ0f/Q0NH/0NDR/9DQ0efAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREVI/0RF
+ SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF
+ SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/AAAAAAAAAABERUj/REVI/0RFSP9ERUj/REVI/0RE
+ SM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAARkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG
+ Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/AAAAAAAAAABGRkn/RkZJ/0ZG
+ Sf9GRkn/RUZJ70VGSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAR0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dH
+ Sv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/R0dK/0dHSv9HR0r/AAAAAAAA
+ AABHR0r/R0dK/0dHSv9HR0r/R0dKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJ
+ S/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJS/9ISUv/SElL/0hJ
+ S/9ISUv/AAAAAAAAAABISUv/SElL/0hJS/9ISEuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpN/0pKTf9KSk3/SkpN/0pK
+ Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pK
+ Tf9KSk3/SkpN/0pKTf9KSk3/AAAAAAAAAABKSk3/SkpN/0lKTK8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tO/0tL
+ Tv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/S0tO/0tL
+ Tv9LS07/S0tO/0tLTv9LS07/S0tO/0tLTv9LS07/AAAAAAAAAABLS03vS0tN30pKTRAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAATExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xMT/9MTE//TExP/0xM
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAALC41/iwuNf8sLjX/LC41/ywuNf8sLjX+LC41/CwuNcctLjV8LC417Cwu
+ Nf4sLjXTMzQ6AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuMDb/LjA2/y4wNv4uMDb+LjA2/i4w
+ Nv0uMDb9LjA2/S4wNv0uMDb9LjA2/i4wNv4uMDb+LjA2/y4wNv8uMDb/LjA2/y4wNv4uMDb+LjA2/i4w
+ Nv4uMDb+LjA2/i8wN9MxMzkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAyOP8wMjj/MDI4/zAy
+ OP8wMjj/MDI4/zAyOP8wMjj+MDI40zEzOQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjQ5/zIz
+ Of8yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jIzOf4yMzn+MjM5/jI0
+ Of4yNDn/MjQ5/zI0Of8yNDn/MjQ5/zI0Of4yMznTMjM5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA0Njv/NDU7/zQ1O/40NTv+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA0NTv2NDY7/jQ2O/80Njv/NDY7/zQ2O/80Njv/NDY7/jQ1O9MzNDoBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADY4Pf82Nz3/Njc9/jY3Pf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADY3Peo2OD3+Njg9/zY4Pf82OD3/Njg9/zY4Pf82OD3+Njc90zU2PAEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAOTo//zo6P/87O0D/OztA/zs7QP87O0D/OztA/zs7QP87O0D/OztA/zs7
+ QP87O0D/OztA/zs7QP87O0D/ODo/+Dk6P/45Oj/+OTo//jk6P/45Oj/+OTo//jk6P/44OT7SNjc9AQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7O0D/OztA/zs7QP47O0D+OztA/js7QP47O0D+OztA/js7
+ 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
+ AAAA/wAAAI8AAD6PAAAAnwAAAL8AAA==
+
+
+
\ No newline at end of file
diff --git a/ClearCache1C/Program.cs b/ClearCache1C/Program.cs
new file mode 100644
index 0000000..68cc8d1
--- /dev/null
+++ b/ClearCache1C/Program.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace ClearCache1C
+{
+ static class Program
+ {
+ ///
+ /// Главная точка входа для приложения.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new FormMain());
+ }
+ }
+}
diff --git a/ClearCache1C/Properties/AssemblyInfo.cs b/ClearCache1C/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..a572d1b
--- /dev/null
+++ b/ClearCache1C/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Общие сведения об этой сборке предоставляются следующим набором
+// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
+// связанные со сборкой.
+[assembly: AssemblyTitle("ClearCache1C")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ClearCache1C")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
+// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
+// COM, задайте атрибуту ComVisible значение TRUE для этого типа.
+[assembly: ComVisible(false)]
+
+// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
+[assembly: Guid("ca37faa9-7c77-4c16-81a4-3bbd93f235a1")]
+
+// Сведения о версии сборки состоят из следующих четырех значений:
+//
+// Основной номер версии
+// Дополнительный номер версии
+// Номер сборки
+// Редакция
+//
+// Можно задать все значения или принять номер сборки и номер редакции по умолчанию.
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ClearCache1C/Properties/Resources.Designer.cs b/ClearCache1C/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..c312ffa
--- /dev/null
+++ b/ClearCache1C/Properties/Resources.Designer.cs
@@ -0,0 +1,103 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace ClearCache1C.Properties {
+ using System;
+
+
+ ///
+ /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
+ ///
+ // Этот класс создан автоматически классом StronglyTypedResourceBuilder
+ // с помощью такого средства, как ResGen или Visual Studio.
+ // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
+ // с параметром /str или перестройте свой проект VS.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ClearCache1C.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Перезаписывает свойство CurrentUICulture текущего потока для всех
+ /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap ai_full_logo___clean {
+ get {
+ object obj = ResourceManager.GetObject("ai-full logo - clean", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icon_deselect_16 {
+ get {
+ object obj = ResourceManager.GetObject("icon_deselect_16", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icon_select_16 {
+ get {
+ object obj = ResourceManager.GetObject("icon_select_16", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icon_smart_select_16 {
+ get {
+ object obj = ResourceManager.GetObject("icon_smart_select_16", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/ClearCache1C/Properties/Resources.resx b/ClearCache1C/Properties/Resources.resx
new file mode 100644
index 0000000..00a5e3f
--- /dev/null
+++ b/ClearCache1C/Properties/Resources.resx
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\icon_select_16.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\icon_deselect_16.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\icon_smart_select_16.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ai-full logo - clean.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/ClearCache1C/Properties/Settings.Designer.cs b/ClearCache1C/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..4db35b4
--- /dev/null
+++ b/ClearCache1C/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace ClearCache1C.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/ClearCache1C/Properties/Settings.settings b/ClearCache1C/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/ClearCache1C/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/ClearCache1C/Resources/ai-full logo - clean.PNG b/ClearCache1C/Resources/ai-full logo - clean.PNG
new file mode 100644
index 0000000..d71b428
Binary files /dev/null and b/ClearCache1C/Resources/ai-full logo - clean.PNG differ
diff --git a/ClearCache1C/Resources/icon_deselect_16.PNG b/ClearCache1C/Resources/icon_deselect_16.PNG
new file mode 100644
index 0000000..250200a
Binary files /dev/null and b/ClearCache1C/Resources/icon_deselect_16.PNG differ
diff --git a/ClearCache1C/Resources/icon_select_16.PNG b/ClearCache1C/Resources/icon_select_16.PNG
new file mode 100644
index 0000000..445eee2
Binary files /dev/null and b/ClearCache1C/Resources/icon_select_16.PNG differ
diff --git a/ClearCache1C/Resources/icon_smart_select_16.PNG b/ClearCache1C/Resources/icon_smart_select_16.PNG
new file mode 100644
index 0000000..a07ad0d
Binary files /dev/null and b/ClearCache1C/Resources/icon_smart_select_16.PNG differ
diff --git a/ClearCache1C/packages.config b/ClearCache1C/packages.config
new file mode 100644
index 0000000..142ece2
--- /dev/null
+++ b/ClearCache1C/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file