diff options
author | Berke Viktor <berkeviktor@aol.com> | 2012-06-17 10:08:39 +0200 |
---|---|---|
committer | Berke Viktor <berkeviktor@aol.com> | 2012-06-17 10:08:39 +0200 |
commit | 9d9c24c8d347aa44efbd63e8f8c8dfb5b3cddedb (patch) | |
tree | 936bb6fce5c26b3876a7324ec82ee0bb232875d7 | |
parent | 0d1e485ae83439140ec3cefeb420db47104ce862 (diff) |
Another bunch of fixes and additions to the XTM
-rw-r--r-- | src/xtm/Main.Designer.cs | 31 | ||||
-rw-r--r-- | src/xtm/Main.cs | 99 | ||||
-rw-r--r-- | src/xtm/Main.resx | 302 | ||||
-rw-r--r-- | src/xtm/Resources/xchat.ico | bin | 26694 -> 0 bytes | |||
-rw-r--r-- | src/xtm/Resources/xtm.ico | bin | 0 -> 9662 bytes | |||
-rw-r--r-- | src/xtm/xtm.csproj | 4 | ||||
-rw-r--r-- | win32/installer/xchat-wdk-x64.skel.iss | 7 | ||||
-rw-r--r-- | win32/installer/xchat-wdk-x86.skel.iss | 7 |
8 files changed, 259 insertions, 191 deletions
diff --git a/src/xtm/Main.Designer.cs b/src/xtm/Main.Designer.cs index d81aa215..6a7c9cf1 100644 --- a/src/xtm/Main.Designer.cs +++ b/src/xtm/Main.Designer.cs @@ -51,6 +51,7 @@ this.importbutton = new System.Windows.Forms.Button(); this.applybutton = new System.Windows.Forms.Button(); this.themecolorfgmarked = new System.Windows.Forms.Label(); + this.deleteButton = new System.Windows.Forms.Button(); this.SuspendLayout(); // // themelist @@ -58,7 +59,7 @@ this.themelist.FormattingEnabled = true; this.themelist.Location = new System.Drawing.Point(12, 12); this.themelist.Name = "themelist"; - this.themelist.Size = new System.Drawing.Size(154, 199); + this.themelist.Size = new System.Drawing.Size(160, 199); this.themelist.TabIndex = 0; this.themelist.SelectedIndexChanged += new System.EventHandler(this.theme_selected); // @@ -209,20 +210,20 @@ // // importbutton // - this.importbutton.Location = new System.Drawing.Point(90, 220); + this.importbutton.Location = new System.Drawing.Point(12, 217); this.importbutton.Name = "importbutton"; - this.importbutton.Size = new System.Drawing.Size(60, 23); - this.importbutton.TabIndex = 2; - this.importbutton.Text = "Import..."; + this.importbutton.Size = new System.Drawing.Size(52, 23); + this.importbutton.TabIndex = 1; + this.importbutton.Text = "Add..."; this.importbutton.UseVisualStyleBackColor = true; this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1); // // applybutton // - this.applybutton.Location = new System.Drawing.Point(23, 220); + this.applybutton.Location = new System.Drawing.Point(120, 217); this.applybutton.Name = "applybutton"; - this.applybutton.Size = new System.Drawing.Size(60, 23); - this.applybutton.TabIndex = 1; + this.applybutton.Size = new System.Drawing.Size(52, 23); + this.applybutton.TabIndex = 3; this.applybutton.Text = "Apply"; this.applybutton.UseVisualStyleBackColor = true; this.applybutton.Click += new System.EventHandler(this.applybutton_Click_1); @@ -236,11 +237,22 @@ this.themecolorfgmarked.TabIndex = 22; this.themecolorfgmarked.Text = "Marked Text"; // + // deleteButton + // + this.deleteButton.Location = new System.Drawing.Point(66, 217); + this.deleteButton.Name = "deleteButton"; + this.deleteButton.Size = new System.Drawing.Size(52, 23); + this.deleteButton.TabIndex = 2; + this.deleteButton.Text = "Delete"; + this.deleteButton.UseVisualStyleBackColor = true; + this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click); + // // XTM // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(397, 248); + this.Controls.Add(this.deleteButton); this.Controls.Add(this.themecolorfgmarked); this.Controls.Add(this.themecolorfg); this.Controls.Add(this.themecolorf); @@ -297,7 +309,8 @@ private System.Windows.Forms.Label themecolortextbg; private System.Windows.Forms.Button importbutton; private System.Windows.Forms.Button applybutton; - private System.Windows.Forms.Label themecolorfgmarked; + private System.Windows.Forms.Label themecolorfgmarked; + private System.Windows.Forms.Button deleteButton; } } diff --git a/src/xtm/Main.cs b/src/xtm/Main.cs index 3beac477..2e10c650 100644 --- a/src/xtm/Main.cs +++ b/src/xtm/Main.cs @@ -58,6 +58,13 @@ namespace thememan Console.WriteLine("Install not found"); ListThemes(); + + String[] arguments = Environment.GetCommandLineArgs(); + if (arguments.Length > 1) + { + FileInfo fi = new FileInfo(arguments[1]); + attemptImport(fi); + } } private void ListThemes() @@ -79,6 +86,7 @@ namespace thememan if (themelist.Items.Count == 0) { applybutton.Enabled = false; + deleteButton.Enabled = false; } else { @@ -155,6 +163,7 @@ namespace thememan { ShowColors(ReadTheme(themelist.SelectedItem.ToString())); applybutton.Enabled = true; + deleteButton.Enabled = true; } } @@ -170,6 +179,11 @@ namespace thememan private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e) { FileInfo fi = new FileInfo(importDialog.FileName); + attemptImport(fi); + } + + private void attemptImport(FileInfo fi) + { string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length); int result = extractTheme(fi); ListThemes(); @@ -178,16 +192,20 @@ namespace thememan { case 0: themelist.SetSelected(themelist.FindStringExact(themeName), true); + /* required for command line invoking */ + ShowColors(ReadTheme(themeName)); break; case 1: - MessageBox.Show("This theme is already installed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("This theme is already installed!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + themelist.SetSelected(themelist.FindStringExact(themeName), true); + /* required for command line invoking */ + ShowColors(ReadTheme(themeName)); break; case 2: MessageBox.Show("Invalid theme file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } - /* gzip solution, not good enough coz we need multiple files * public string extractTheme(FileInfo fi) @@ -226,43 +244,52 @@ namespace thememan string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length); string destFolder = xchatdir + themedir + themeName; - using (Package zip = Package.Open(zipFile.FullName, FileMode.Open)) + try { - PackagePartCollection parts = zip.GetParts(); - - if (Directory.Exists(destFolder)) - { - return 1; - } - else + using (Package zip = Package.Open(zipFile.FullName, FileMode.Open)) { - Directory.CreateDirectory(destFolder); - } + PackagePartCollection parts = zip.GetParts(); - foreach (PackagePart part in parts) - { - /* not sure what's this good for */ - /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */ - String destFile = destFolder + part.Uri.ToString(); + if (Directory.Exists(destFolder)) + { + return 1; + } + else + { + Directory.CreateDirectory(destFolder); + } - using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite)) + foreach (PackagePart part in parts) { - using (Stream inStream = part.GetStream()) - { - long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE; - byte[] buffer = new byte[bufferSize]; - int bytesRead = 0; - long bytesWritten = 0; - - while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0) + /* not sure what's this good for */ + /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */ + String destFile = destFolder + part.Uri.ToString(); + + using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite)) { - outFileStream.Write(buffer, 0, bytesRead); - bytesWritten += bufferSize; + using (Stream inStream = part.GetStream()) + { + long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE; + byte[] buffer = new byte[bufferSize]; + int bytesRead = 0; + long bytesWritten = 0; + + while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0) + { + outFileStream.Write(buffer, 0, bytesRead); + bytesWritten += bufferSize; + } + } } - } + + } } } + catch (System.IO.FileFormatException) + { + return 2; + } if (IsDirectoryEmpty(destFolder)) { @@ -280,6 +307,20 @@ namespace thememan return !Directory.EnumerateFileSystemEntries(path).Any(); } + private void deleteButton_Click(object sender, EventArgs e) + { + DialogResult result = MessageBox.Show("Are you sure you want to delete this theme from the theme repo?\n\nYour currently applied theme won't be affected.", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); + if (result == DialogResult.OK) + { + Directory.Delete(xchatdir + themedir + themelist.SelectedItem.ToString(), true); + ListThemes(); + if (themelist.Items.Count == 0) + { + deleteButton.Enabled = false; + } + } + } + } diff --git a/src/xtm/Main.resx b/src/xtm/Main.resx index 8faf1309..75c99568 100644 --- a/src/xtm/Main.resx +++ b/src/xtm/Main.resx @@ -124,163 +124,163 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAEgAA - AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAABAAAAABAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA - AE0AAACDAAAAiQAAAFsAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABbAAAAiQAA - AIMAAABNAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAGAAAAUgAAAKAAAADwAAAA9gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA - AF0AAACsAAAA9gAAAPAAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAYAAABSAAAAoAEBAvQFI5n/BiSZ/wEBA/kAAACsAAAAXQAAAAoAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAKAAAAXQAAAKwBAQP5BhuZ/wUamf8BAQL0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAFIAAACgAQEC9AQmmv8AOf//ADj//wcpov8CAgX5AAAArAAA - AF0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAoAAABdAAAArAICBfkHHqL/ACb//wAl//8EGpr/AQEC9AAAAKAAAABSAAAABgAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAUgAAAKABAQL0BCqa/wA///8APv//AD3//wA8 - //8ILqr/AgMG+QAAAKwAAABmAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGYAAACsAgMG+Qgkqv8AK///ACr//wAp//8AKP//BBya/wEB - AvQAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABSAAAAoAEBAvQELZr/AET//wBD - //8AQ///AEL//wBB//8AQf//BjKy/wIDCPoAAADCAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAAAMICAwj6Biiy/wAw//8AL///AC///wAu - //8ALf//AC3//wQemv8BAQL0AAAAoAAAAFIAAAAFAAAAAAAAAAAAAAAAAAAAAAAAADwAAACeAQEC9AQw - mv8ASv//AEn//wBI//8AR///AEf//wBG//8ARf//AEX//wU1uv8CBQv9AAAAxQAAAHIAAAAYAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQIEC/0FLLr/ADb//wA1 - //8ANP//ADP//wAz//8AMv//ADH//wAx//8EIZr/AQEC9AAAAJ4AAAA8AAAAAAAAAAAAAAAAAAAAAAAA - AE8AAADNBR5V/wBP//8ATv//AE7//wBN//8ATP//AEz//wBL//8ASv//AEn//wBJ//8GO8H/AwcP/QAA - AMUAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADFAwYP/QYy - wf8AO///ADr//wA6//8AOf//ADj//wA4//8AN///ADb//wA1//8ANf//BRZV/wAAAM0AAABPAAAAAAAA - AAAAAAAAAAAAAAAAAEIAAACnAQEB+Qg3l/8AU///AFL//wBS//8AUf//AFD//wBQ//8AT///AE7//wBN - //8ATf//B0HI/wQIE/0AAADFAAAAcgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAcgAA - AMUECBP9BznI/wBB//8AQP//AD///wA+//8APv//AD3//wA8//8APP//ADv//wA6//8IKJf/AQEB+QAA - AKcAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABdAAAArAECA/kJPaL/AFf//wBX//8AVv//AFX//wBU - //8AVP//AFP//wBS//8AUv//AFH//wZFz/8DCRf9AAAAzAAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAA - ACEAAAB7AAAAzAMJF/0GPs//AEb//wBF//8ARf//AET//wBD//8AQ///AEL//wBB//8AQP//AED//wku - ov8BAgP5AAAArAAAAF0AAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAXQAAAKwCAwX5B0Kt/wBb - //8AW///AFr//wBZ//8AWP//AFj//wBX//8AVv//AFb//wBV//8ESdb/Awsb/gAAANEAAAB7AAAAIQAA - AAAAAAAAAAAAIQAAAHsAAADRAwsb/gRD1v8ATP//AEv//wBK//8ASf//AEn//wBI//8AR///AEf//wBG - //8ARf//BzOt/wICBfkAAACsAAAAXQAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA - AF0AAACsAQMH+gRHt/8AX///AF///wBe//8AXf//AFz//wBc//8AW///AFr//wBa//8AWf//BE/c/wUP - If4AAADRAAAAewAAACEAAAAhAAAAewAAANEFDiH+BErc/wBR//8AUP//AFD//wBP//8ATv//AE7//wBN - //8ATP//AEv//wBL//8EOLf/AQMH+gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - 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 - 7f/t7e3/7e3t/+3t7f+1zub/AH3z/wB98/+1zub/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u - 7v/u7u7/4eHhzgICAgwCAgIL4eHhzu/v7//v7+//7+/v/+/v7//h4eHOAgICCwAAAAAAAAAAAAAAAAMD - AwsFBQUVBgYGFgYGBhYGBgYWBgYGFgYGBhYFBQUWBQUFFQMDAwsAAAAGAQEBXuXl5f/l5eX/5eXl/xNb - lP8Agur/AIHp/wCA6f8AgOn/AH/p/wB/6v8Ag/T/AIj//wCH//8AgfT/AHvq/wB66f8Beun/BT90/wAA - APYAAACqAQEBYwQEBBsEBAQVAwMDCwAAAAAAAAAAAgICDFVVVTro6Oj/6Ojo/yYmJn0CAgIMAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAABSAAAApKmp - qf7b29v/qMXZ/wCM8/8Akv//AJL//wCR//8AkP//AI///wCP//8Ajv//AI3//wCN//8AjP//AIv//wCK - //8Aiv//AIn//wZIgf8AAQH0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAUFBQzT09PO09PTzgUF - BQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAA - AFIAAACgAQEB9AhUhv8Bjev/AJL0/wCX//8Al///AJb//wCW//8Alf//AJT//wCT//8Ak///AJL//wCR - //8Akf//AJD//wCP//8Ajv//AI7//wCN//8IUIr/AQEB9AAAAKAAAABSAAAACQAAAAAAAAAAAAAAAAAA - AAAFBQULBQUFCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAQAAAAZwAAAKYBAgL0CGCT/wCf//8Anv//AJ3//wCd//8AnP//AJv//wCa//8Amv//AJn//wCY - //8AmP//AJf//wCW//8Alf//AJX//wCU//8Ak///AJP//wCS//8Akf//CFeT/wEBAvQAAACmAAAAZwAA - ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAABAAAABoAAAAuAECA/sGaJ3/AKT//wCj//8Ao///AKL//wCh//8Aof//AKD//wCf - //8Anv//AJ7//wCd//8AnP//AJz//wCb//8Amv//AJn//wCZ//8AmP//AJf//wCX//8Alv//AJX//wZe - nf8BAgP7AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGgAAAC4AgQF+wZxpf8Aqv//AKn//wCo//8AqP//AKf//wCm - //8Apf//AKX//wCk//8Ao///AKP//wCi//8Aof//AKD//wCg//8An///AJ7//wCe//8Anf//AJz//wCb - //8Am///AJr//wCZ//8GZqX/AgQF+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAaAAAALgCBgj7CHuu/wCv//8Arv//AK7//wCt - //8ArP//AKz//wCr//8Aqv//AKn//wCp//8AqP//AKf//wpZhP8KWYT/AKX//wCk//8ApP//AKP//wCi - //8Aov//AKH//wCg//8An///AJ///wCe//8Anf//CG6u/wIGCPsAAAC4AAAAaAAAABAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABuAAAAuQIIC/sIhLf/ALX//wC0 - //8As///ALL//wCy//8Asf//ALD//wCw//8Ar///AK7//wCu//8Arf//CWOP/wABAfYAAQH2CWKP/wCp - //8AqP//AKj//wCn//8Apv//AKb//wCl//8ApP//AKT//wCj//8Aov//AKH//wh2t/8CCAv7AAAAuQAA - AG4AAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADEAgoN/AaO - v/8Auv//ALn//wC5//8AuP//ALf//wC3//8Atv//ALX//wC0//8AtP//ALP//wCy//8FbZr/AQEC9AAA - AKEAAAChAQEC9AVqmv8Arf//AK3//wCs//8Aq///AKr//wCq//8Aqf//AKj//wCo//8Ap///AKb//wCl - //8Gfr//AgkN/AAAAMQAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAA - AMUDDhH9BJfH/wDA//8Av///AL7//wC+//8Avf//ALz//wC7//8Au///ALr//wC5//8AuP//ALj//wd3 - pP8BAgP7AAAAqgAAAFYAAABWAAAAqgECA/sHdKT/ALH//wCx//8AsP//AK///wCu//8Arv//AK3//wCs - //8ArP//AKv//wCq//8Aqf//BIXH/wMMEf0AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - ABgAAAByAAAAxQQSFv0GoM3/AMX//wDE//8AxP//AMP//wDC//8Awv//AMH//wDA//8Av///AL///wC+ - //8Avf//CIGt/wIEBfsAAAC4AAAAZwAAAAsAAAALAAAAZwAAALgCBAX7CH2t/wC1//8Atf//ALT//wCz - //8As///ALL//wCx//8AsP//ALD//wCv//8Arv//AK7//waNzf8EEBb9AAAAxQAAAHIAAAAYAAAAAAAA - AAAAAAAAAAAAFQAAAHIAAADFBBYa/Qaq0/8Ay///AMr//wDJ//8AyP//AMj//wDH//8Axv//AMb//wDF - //8AxP//AMP//wDD//8Hi7b/AgYH+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAEAAAAGgAAAC4AgYH+weG - tv8Auf//ALn//wC4//8At///ALf//wC2//8Atf//ALT//wC0//8As///ALL//wCy//8GldP/BBMa/QAA - AMUAAAByAAAAFQAAAAAAAAAAAAAASgAAALgDGR79BbPZ/wDQ//8Az///AM///wDO//8Azf//AM3//wDM - //8Ay///AMr//wDK//8Ayf//AMj//wSWvv8CCAn8AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAA - ABAAAABoAAAAuAIHCfwEj77/AL7//wC9//8AvP//ALv//wC7//8Auv//ALn//wC5//8AuP//ALf//wC2 - //8Atv//BZzZ/wMWHv0AAAC4AAAASgAAAAAAAAAAAAAATgAAAMUEPEf/AdD4/wDV//8A1P//ANP//wDT - //8A0v//ANH//wDR//8A0P//AM///wDO//8Azv//BqHH/wMLDf0AAADCAAAAagAAABAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAQAAAAagAAAMIDCw39BpjH/wDC//8Awf//AMD//wC///8Av///AL7//wC9 - //8Avf//ALz//wC7//8Auv//AbX4/wQ0R/8AAADFAAAATgAAAAAAAAAAAAAAJAAAAIMAAADcBEFM/wHU - +P8A2f//ANj//wDY//8A1///ANb//wDV//8A1f//ANT//wDT//8HrM//BBAT/QAAAMUAAAByAAAAFwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAHIAAADFBA8T/Qeiz/8Axv//AMX//wDE - //8AxP//AMP//wDC//8Awf//AMH//wDA//8Buvj/BDlM/wAAANwAAACDAAAAJAAAAAAAAAAAAAAAAAAA - ACwAAACDAAAA3ARCTP8B2Pj/AN3//wDc//8A3P//ANv//wDa//8A2f//ANn//wW31/8EFBj9AAAAxQAA - AHIAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQQT - GP0Fq9f/AMr//wDJ//8AyP//AMj//wDH//8Axv//AMX//wHA+P8EO0z/AAAA3AAAAIMAAAAsAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAsAAAAgwAAANwEQ0z/Adz4/wDh//8A4P//AOD//wDf//8A3v//A8He/wIZ - Hf4AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAYAAAAcgAAAMUCFx3+A7Te/wDO//8Azf//AMz//wDM//8Ay///AcX4/wQ8TP8AAADcAAAAgwAA - ACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcBEVM/wHg+P8A5f//AOT//wDk - //8EyuP/BB8i/gAAANEAAAB4AAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAHgAAADRBB0i/gS84/8A0v//ANH//wDQ//8Byvj/BD5M/wAA - ANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAACDAAAA3ARF - TP8B4vj/AOj//wTT6P8FJSn+AAAA0QAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0QUjKf4Ew+j/ANb//wHQ - +P8EQEz/AAAA3AAAAIMAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAsAAAAgwAAANwERUz/BNHm/wUrL/4AAADRAAAAewAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAewAA - ANEFKS/+BMXm/wRBTP8AAADcAAAAgwAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcAgoL/QAAANEAAAB7AAAAIQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAIQAAAHsAAADRAgkL/QAAANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAB/AAAAmwAAAHgAAAAhAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB4AAAAmwAAAH8AAAAsAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAIAAA - AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAIAAAABMAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAHAAAACQAAAAgAAAAFAAAAAgAAAAEAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA/5////n/ - AAD/D///8P8AAP4H///gfwAA/AP//8A/AAD4Af//gB8AAPAA//8ADwAA4AB//gAHAADgAD/8AAcAAOAA - H/gABwAA8AAP8AAPAAD4AAfgAB8AAPwAA8AAPwAA/gABgAB/AADgAAAAAMMAAMAAAAAAgwAAwAAAAACD - AADDwAAAAIcAAMPwAAABhwAAw/gAAAGHAADAAAAAAYMAAMAMAAADAwAAwAwAAAMDAAD//AAAP88AAP/4 - AAAfzwAA//AAAA//AAD/4AAAB/8AAP/AAAAD/wAA/4AAAAH/AAD/AAAAAP8AAP4AAAAAfwAA/AAAAAA/ - AAD4AAGAAB8AAPAAA8AADwAA4AAH4AAHAADAAA/wAAMAAMAAH/gAAwAAwAA//AADAADgAH/+AAcAAPAA - //8ADwAA+AH//4AfAAD8A///wD8AAP4H///gfwAA/w////D/AAD/3///+/8AAP///////wAA//////// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAAABEBAQEbBAQEIQICAh4AAAAVAAAACwAA + AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAFwMDAywDAwM/AwMDSQUF + BUUEBAQ1AQEBHwAAAA0AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAZAgICRQMD + A3IBAQGDAQEBegICA20EBARYBAQEOgEBARsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA + ABQEBARjGhsZricnJcsXFxbYBgYGzgAAAJwCAgJwBQUFTwICAioAAAANAAAAAgAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAABAAAABQMDAlM8Pjqcp6ug17O3rPiFiID3NTcz6QEBAdMBAQGPBAQEWgICAjQAAAATAAAABAAA + AAEAAAABAAAAAgAAAAUAAAAHAAAACAAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADAAA + AA0AAAAMAAAACwAAAAgAAAAGAQEBGRcYF3uqrqPU3ePV+MrPwv+usqf+b3Ns8QcHB+QAAACnBAQEYAQE + BDsAAAAYAAAABwAAAAUAAAAIAAAADgAAABUCAgIdAgICIAEBARwAAAASAAAACQAAAAMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADgEB + ARkDAwMiAgICJwICAikCAgIoAgICJQAAAB8AAAAXAQIBTmFjXaTX3c/p4uja/9bczv/Cx7v+en127hMU + E+QAAAC3BAQEZQQEBD4AAAAfAAAAEgAAABUBAQEeAgICKgICAjcCAgNEAwMDSAQEBEACAgIuAQEBGQAA + AAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAUAAAARAwMDJgMDAzsDAwNJAgICTwICAlICAgJTBAQETwMDA0cEAwQ5AgICd5WZj9vq8OL54ObY/9/l + 1//Kz8P/fYF57BscGt4AAADBAgICbAMDA0UAAAAwAAAALQICAjcCAgJNAgICbgICAoUBAQGJAQEBeAIC + AmQDAwNMBAQELQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAA0AAAA0AgICbAICAo8CAgGbAQEBngAAAJkBAQGOAgICfAMDA28CAgJfAgICjJyf + lufo7d/+5Orc/+Pp2v/Gy7//io2F6SEiINQAAADDAQEBcwMDA1UCAgJSAwMDaQYGBosSExKePD46vjw9 + OtYTFBPTAgICuwAAAJADAwNdBAQEOQICAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQEBBwYGBkgZGhiOJSYkszAxLsgsLSvRHyAe2RESEd0KCgrdAgICzwAA + ALQAAACKAgICoJygl+ru9OX+6/Hi/+Dl2P7N0sb/jJCI6hscGtEAAADBAgIBgwcHB4MTExKmMzQwvXh8 + dM2hpZvms7mt9Kito/qEiH/2IiMg3QICAr0BAQJrAwMDNgAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQUFGS8wLYO1uq/Yyc/C8sLHu/awtan4n6OZ+pGV + jPtydW70Li8s4RUVFNoCAgLGAQEBvZGUjOjt8+X86O7g/+Xq3P/S18r/g4Z+7A8PDs4EBATFGxwax0dI + RM6RlIvjvsK29sXKvfi6vrL9w8m8/8TJvf+mq6D7UFJN3gUGBb4BAQFqAgICKAAAAA8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAAEBwcHOFBSTZjb4NPw6O7g/uHn + 2f7U2s3/yc3B/7q/s/+2uq/+pquh+4WIgPYrLCrhBwcH03x+d+Lk6dv78Pbn/+nv4f/Y3tD9jZCH6RkZ + GM48PTnXm56V8MXKvfrK0ML90dXI/8rPwv+3vLH/wsi7/8DFuf+bnpT4LC0qzQICAqQBAQFKAAAAFgAA + AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABQAAAAcAAAAJAgICMyco + JpW4vLHa3ePV+Nzh1Pvc4tT/1NnM/8zRxP/HzL//t7uw/6qvpP+Sl433QkQ/2n1/eOHf5Nb88vjp/+/1 + 5v/i6Nr8sLWq732AeOimqp/2ub6y/r7EuP+9wrf/vcK2/7/Dt/+3vLD/ub+y/6Wpnvtwc2vmEBEQswEB + AWQAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAADAAA + AA8AAAATAAAAHwYGBm88Pjqom5+V2MTJvfPGy7//wMW5/77Ct/+9wbX/uL2y/7O3rP+3vLD/o6id8rm9 + svLl693+6e/g/+bs3f/c4tP/x83A/7G1qv6mqqD/nKCW/5ygl/+go5r/o6ed/6aqoP+kqJ7/j5OK81VY + UtwREhG4AQEBbAAAACUAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA + AA4AAAATAAAAGQAAAB4AAAAjAAAAKwAAAEQCAgKJHB0bul5gW9eQlIvyn6OZ/p6imP+go5r/pqqg/6+z + qf+5vrL/wMS5/rm+s/+XnJL/eX11/3J4c/9zgoP/Z3R0/2xxbP+ChX3/g4Z+/3+Cev+BhHv/iIyD/32A + eP5iZF3wNjc01goKCbQAAAB4AAAALAAAAA8AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA + AAgAAAANAAAAFAAAABoAAAAiAAAAKgAAADIAAAA7AAAARQAAAFMAAABrAAAAkAoLCrwpKifkVVdS9Hh7 + dPuDhn7/j5KK/5uflv+anpX/aWxl/0ZOTP9BVl3/M1Ff/ytIV/8wTmD/MEpZ/zRIUv9FTk//cXRu/3p+ + dv5ydW7+UFJO+CorKOwPDw7UAQEBrQICAoECAgJOAwMDLwAAABgAAAAKAAAAAwAAAAAAAAABAAAAAgAA + AAMAAAAGAAAACgAAABAAAAAYAAAAIQAAACoAAAA1AAAAPwAAAEsAAABYAAAAZQAAAHMAAACAAAAAjgAA + AKEBAQG1Dg4N0iEiIOpAQj71cHNs/ICDfP1WWVT+LDk8/0Rsdv9UhZH/Uomd/0CBoP88b4r/PGB1/y9K + W/8rQEz/SE9P/jIzMPQiIyHoEhMS3AECAdQAAADCAQEBngICAnoEBARkBQUFTQMDAzMAAAAaAAAACgAA + AAIAAAACAAAAAwAAAAYAAAALAAAAEgAAABsAAAAmAAAAMQAAAD0AAABKAAAAWAAAAGcAAAB2AAAAhgAA + AJUAAAClAAAAsQAAALoFBQXFDAwM1gcHB+MJCQnrKCkn8lRWUfZDTU7/VX+M/054gv9KVVj/V2Fk/zxc + av9EUln/U1pf/ztRX/8wTF3/JzU9/0ZKRvk/QT3lODo34R4fHecJCQnjAQEB0wAAALABAQGGAwMDagQE + BFEDAwMzAAAAFwAAAAcAAAADAAAABgAAAAsAAAATAAAAHAAAACkAAAA2AAAARQAAAFQAAABkAAAAdAAA + AIUAAACZAAAAsAMDA8QWFhbXKSkp5j4+PvRLS0v5Ojo6+iAgH/YpKifxYGJc+HFzbf1FWmL/XZiu/0td + Yf9iY2P/uLm5/1laW/9jZGT/t7i4/05ZX/9AYXf/LURS/2RqZ/+Ch378goZ+/ICDe/hLTUjtHB0b6wUF + BeUAAADBAQEBjgICAmoFBQVLAwMDJwAAAA0AAAAEAAAACQAAABEAAAAdAAAAKQAAADgAAABIAAAAWgAA + AGwAAAB/AQEBmQICArgcHBzUR0dH7G9vb/uUlJT9u7u7/tra2v+NjY39JSUk+DY3NPdbXVj7eXx1/nh7 + dP88TVT/WI6k/1prcP/P0ND/09TU/2psbP/Q0dH/0tPU/1NjbP9Oe5f/OFFe/4SLhf+ippz/n6OZ/5+j + mf+Rloz+en529Ts8OekMDAvlAAEAxgEBAYYDAwNXBAQEMAAAABIAAAAHAAAADwAAABsAAAApAAAAOQAA + AEsAAABdAAAAcgEBAYwICAi1Kioq3GxsbPOnp6f92dnZ//r6+v/9/f3//Pz8/5ycm/4rLCv6Kiso+EZH + Q/xhY13+fH94/4qNhf9bYV7/QV9s/010g/9ve37/bnyA/09weP9vfYH/aXqB/0qCn/9ThaH/P0tQ/6So + n//DyLz/wsa7/7a7r/+zuKz/rbKm/5KXjvdVWFLrEREQ3QEBAawBAQJVAgICLwAAABIAAAALAAAAFgAA + ACQAAAA3AAAASgAAAF8AAAB3CwsLpCsrK9p1dXXzx8fH/u3t7f/////////////////+/v7/vb29/zY2 + Nv0cHRv8LS8s+0JDP/xZW1b8dHdw/I+Tiv6NkYf8TFNS+UBpevxiqcL/d8fc/4Ta7v95yd//Z7jd/1+h + w/9EW2X/e4F6/8TJvf/R1sn/1NnM/9HWyf/N08X/yc/C/8TJvP+qrqP6WVtW3AcHBrACAgJKAwMDJQAA + AA4AAAAPAAAAHAAAAC8AAABEAAAAXAICAnsXFxezY2Nj6sjIyP3w8PD/8/P0//Pz8/////////////// + ///39/f/jIyM/hsbG/0WFxX8IyQh+jM0MfpAQT34RUdD90BBPfJCREDcKisotj9KTdVCYGv+THOA/3Cs + xf9wr8z/TXWJ/0hZYP9/hX//ztPH/ubr3f7m7N3/7/Xm//D25//m7N3/3+XX/9bczv7L0MP2kJSLwQ4O + DYcCAgJCAQEBFgAAAAgAAAAUAAAAJAAAADkAAABTAgICdiMjI7iHh4f25eXl/v7+/v/+/v//oaHs/62t + vP/4+Pj/////////////////5OTk/25ubv4iIiL9CwwL+wwNDPgMDQzvDAwM1wgIB7AFBQWHAQEBhHN2 + b7enraTzjJKN/3SCgv90goP/mqKc/77Dt/+Tl473YGNd7ImNhfG/xLj55evd+OTq3Pjb4dP40NXJ+MXK + vuutsaa9RkhDiQUFBWQAAAAiAAAACQAAAAMAAAAYAAAAKwAAAEQDAwNrKCgot5iYmPb39/f///////// + ////////oqL3/1pauv/k5OT//////////////////////+fn5/+np6f/T09P+QsLC+gAAADMAAAArwAA + AI8AAAByAQEBhllbVqXKz8Pi2+HT/9zi1P/f5df/5evd/+Pp2/+us6j1MTMw2BUVFMInKCW1Ojs4p0FC + PqxAQj2qNDYyqC0uK54gIB6JBwcGXgAAACIAAAAHAAAAAgAAAAAAAAAaAAAAMAEBAVQjIyOrm5ub9Pf3 + 9///////////////////////vr76/0FBzv/S0tT///////z8/P/o6On/2tra//Pz8//9/f3/2dnZ/3Nz + c/gRERHbAAAAtgAAAJkAAAB9AAAAhRQUE5KorKHE3uTW+O3z5P/x9+j/6O7g/97k1v+vs6juLi8tzAAA + AJICAgJPAgICPgQEBEcDAwNNAQEBPgAAACYAAAATAAAACwAAAAMAAAABAAAAAAAAAAAAAAAcAAAANQwM + DH5zc3Pm6urq////////////////////////////6Oj9/0ND3v+ysrn/3Nzj/5OTx/87O83/Li63/39/ + nP/o6Oj//////97e3v9WVlb0BQUFywAAAKcAAACKAAAAeQICApdGSESVxMm9zOju4Pru9OX/5Orc/97j + 1f+WmZDfHh8dwAEBAX0CAgIyAAAAFAAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAcAAAARDo6Ora8vLz9///////////////////////////+/v7/7e31/0JC5v9KSqb/LS3T/wYG + 8/8AAP7/AQH9/yoqz//Ly9b//v7+//7+/v+np6f+ISEh4gAAALQAAACTAAAAdAAAAIgFBQWjV1lUpMvQ + xNHr8eP85evd/9ne0fdrbWfQCgoJpgEBAVEAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAaAAAAU1lZWeDp6en//////////////////v7+//Ly8//BwdT/ZmbI/xMR + 6P8KBfL/AAD//wAA/v8SEvX/V1ft/8DA7v/4+Pv////////////f39//Ozs78QAAALsAAACYAAAAeAAA + AGMAAAByBgYFm0NFQcO1uq/Z3ePV6qqupM4pKii4AAAAcQAAACMAAAALAAAAAwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAWGRkZPP9/f3////////////s7O//s7PQ/1pa + xf8TE+j/AgL6/wAA/v8ZDOf/Dw7w/2lp6f/IyPL/+fn8///////////////////////39/f/R0dH+AAA + AL0AAACYAAAAeAAAAFcAAAA8AAAARAkJCHM0NjKdUVNOuDM0MZcEBQRkAAAAJgAAAAkAAAADAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAUWJiYu35+fn///////j4 + /v9ycuv/ERHp/wEB/f8AAP//AwP8/yws8P9DQe7/Wlq8/+rq7P////////////////////////////// + ///z8/P/RERE9QAAALgAAACSAAAAcgAAAFEAAAAyAAAAGwAAABcAAAAmAAAANwAAAC8AAAASAAAABAAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAPlJS + Uszb29v+//////7+//+4uPz/JSX8/w0N+v82NvL/nJzr/+jo9/+2tvn/Tk7C/9ra2/////////////// + ///////////////////Nzc3+NDQ05wAAAKsAAACHAAAAZwAAAEUAAAApAAAAFQAAAAgAAAAEAAAABAAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAKAAAAIi4uLo6lpaX1/Pz8////////////6Oj+/9DQ+f/z8/v//v7+///////R0fv/OzvY/8LC + yP/+/v7///////////////////////n5+f+MjIz5FxcXygAAAJcAAAB2AAAAVwAAADkAAAAgAAAADgAA + AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAGAAAADgQEBEBWVlbA0dHR/P7+/v////////////////////////////// + ///x8f7/S0vn/6mpuf/8/Pz//////////////////f39/8DAwP05OTndAQEBoAAAAH4AAABhAAAARAAA + ACkAAAAVAAAACAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAEBARUXFxdYWVlZyby8vPj19fX///////// + ///////////////////7+///c3P1/5iYyP/5+fn///////7+/v/x8fH/rKys+kRERN0ICAiiAAAAfAAA + AGMAAABIAAAALwAAABoAAAALAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABQAAAAoBAQEXDw8PRjs7 + O6h9fX3ox8fH+ubm5v/19fX//Pz8////////////4uL+/9zc9P/y8vL/5OTk/76+vvpvb2/tKSkpwgUF + BYwAAABvAAAAWgAAAEUAAAAwAAAAHAAAAA4AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAUAAAAJAAAAEgcHBysWFhZqKysrsFlZWdaHh4fppaWl9re3t/y5ubn+tra2/KGhofWAgIDrUFBQ2yMj + I70ODg6NAgICZwAAAFcAAABLAAAAPAAAACwAAAAcAAAADwAAAAYAAAACAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAAEAAAACAAAAA0AAAAVAwMDJwkJCUwLCwt0DAwMjwwMDJ8MDAylDAwMoQsL + C5UJCQl/BgYGYQEBAUkAAABAAAAAOwAAADUAAAAsAAAAIgAAABcAAAANAAAABgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADAAAABEAAAAVAAAAGgAA + AB0AAAAgAAAAIwAAACQAAAAkAAAAJAAAACMAAAAhAAAAHgAAABoAAAAVAAAADwAAAAoAAAAFAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAA + AAcAAAAJAAAACwAAAA4AAAAPAAAAEAAAABAAAAARAAAAEAAAAA8AAAAOAAAADQAAAAsAAAAIAAAABQAA + AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABQAAAAQAAAAEAAAAAwAA + AAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA//////// + AAD///////8AAP///////wAA/////f//AAD////wf/8AAP///+A//wAA////4D//AAD////AP/8AAP// + /8A/nwAA//+DgDwHAAD//gAAAAcAAP/8AAAABwAA//wAAAAHAAD//AAAAA8AAP/+AAAAHwAA//4AAAA/ + AAD//wAAAD8AAP/+AAAAfwAA//gAAAAfAAD/4AAAAA8AAP/AAAAABwAA/wAAAAAHAAD+AAAAAAcAAPwA + AAAABwAA+AAAAAAPAADwAACAAB8AAOAAAIAP/wAA4AAAQB//AADAAABAH/8AAMAAAHA//wAAwAAAfH// + AADAAAB///8AAMAAAH///wAAwAAA////AADgAAH///8AAPAAA////wAA+AAH////AAD+AB////8AAP/B + /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA//////// AAA= </value> </data> diff --git a/src/xtm/Resources/xchat.ico b/src/xtm/Resources/xchat.ico deleted file mode 100644 index e80a99da..00000000 --- a/src/xtm/Resources/xchat.ico +++ /dev/null Binary files differdiff --git a/src/xtm/Resources/xtm.ico b/src/xtm/Resources/xtm.ico new file mode 100644 index 00000000..f5cac031 --- /dev/null +++ b/src/xtm/Resources/xtm.ico Binary files differdiff --git a/src/xtm/xtm.csproj b/src/xtm/xtm.csproj index f5a343aa..10a9ccce 100644 --- a/src/xtm/xtm.csproj +++ b/src/xtm/xtm.csproj @@ -42,7 +42,7 @@ <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode> </PropertyGroup> <PropertyGroup> - <ApplicationIcon>Resources\xchat.ico</ApplicationIcon> + <ApplicationIcon>Resources\xtm.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup> <ManifestCertificateThumbprint>25412E3EF25458D894050F8209E4D9DCCDF432D7</ManifestCertificateThumbprint> @@ -150,7 +150,7 @@ </BootstrapperPackage> </ItemGroup> <ItemGroup> - <Content Include="Resources\xchat.ico" /> + <Content Include="Resources\xtm.ico" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. diff --git a/win32/installer/xchat-wdk-x64.skel.iss b/win32/installer/xchat-wdk-x64.skel.iss index bff772a7..d69953ba 100644 --- a/win32/installer/xchat-wdk-x64.skel.iss +++ b/win32/installer/xchat-wdk-x64.skel.iss @@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable + [Run] Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent diff --git a/win32/installer/xchat-wdk-x86.skel.iss b/win32/installer/xchat-wdk-x86.skel.iss index 1653e395..5cf32c47 100644 --- a/win32/installer/xchat-wdk-x86.skel.iss +++ b/win32/installer/xchat-wdk-x86.skel.iss @@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable + [Run] Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent |